I did not realize that one of your objections was having to code x'40' when what you meant was c' '.
>From the feedback I got, LFI R15,C' '*ShiftLeft24 should work but LFI >R15,C'A'*ShiftLeft24 will not due to overflow. What about &Z SETC BYTE(0) LFI C' &Z.&Z.&Z' I am not a proficient macro language hacker. Will the above compile? If not, will something like that? Charles -----Original Message----- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Seymour J Metz Sent: Friday, March 29, 2024 2:36 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Complex immediate fields I'll have to try that once I get my userid back. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 עַם יִשְׂרָאֵל חַי נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר ________________________________________ From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> on behalf of Charles Mills <charl...@mcn.org> Sent: Friday, March 29, 2024 3:26 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Complex immediate fields What about (untested) ShiftLeft24 EQU x'1000000' LFI R15,X'40'*ShiftLeft24 Charles -----Original Message----- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Seymour J Metz Sent: Friday, March 29, 2024 9:57 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Complex immediate fields Back in he Assembler XF era I would code something like LA R0,L'DEST LA R1,DEST XR R15,R15 ICM R15,8,=C' ' MVCL R0,R14 On current hardware there is an IILF (LFI) instruction, and I would like to use it instead of the XR/ICM sequence. I consider LFI R15,X'40000000' to be ugly, and would like to be able to either use an immediate field combing CL1 and XL3 pieces or to refer to an EQU defining that combination. Is there any way to do that in HLASM? -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 עַם יִשְׂרָאֵל חַי נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר