I don't have access to HLASM now, but I'd expect an informational message on LA R0,5 saying that the symbol R0 may have incompatible type. That is triggered by the previous presence of an EQU with type GR for another symbol. I think that the way TYPECHECK works is well documented.
Is that what happens? TYPECHECK(REGISTER) was supposed to be the start of a more rigorous consistency checking scheme, but there were too many ambiguous cases, and then high word instructions came along, so it all came to a halt. Jonathan Scott -----Original Message----- From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> On Behalf Of Seymour J Metz Sent: 03 September 2025 18:29 To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Using (0) to suppress alignment checks in HLASM What would you expect when you assembled this, assuming I counted commas correctly? R0 EQU 0 GR0 EQU 0,,,,GR LA 0,5 LA R0,5 LA GR0,5 -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 עַם יִשְׂרָאֵל חַי נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר ________________________________________ From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> on behalf of Paul Gilmartin <00000014e0e4a59b-dmarc-requ...@listserv.uga.edu> Sent: Wednesday, September 3, 2025 12:27 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU <ASSEMBLER-LIST@LISTSERV.UGA.EDU> Subject: Re: Using (0) to suppress alignment checks in HLASM External Message: Use Caution On 9/2/25 20:27, Steve Smith wrote: > ... >It's just solipsistic to say the machine "considers"> register 0 to be 0. The >language in the PoOp is more like you cannot use > register 0 for addressing in most cases. > ... "the machine" operates only on the value of the four bits in the register field. The assembler, however, can operate differently depending on whether the field is left empty or an explicit 0 appears. The assembler could even differentiate between a literal 0 and a symbol EQUated to 0. I hope it doesn't. "solipsistic"? Perhaps you mean "anthropomorphism"? -- gil