When I first saw "Complex immediate fields", I thought of this code one of our 
emulation macros used to generate:

          CGIJL R01,132-(L'BKwa_Module+1+L'BK_LPAOS+1),BK250
+         CGHI  R01,(1-((((132-(L'BKwa_Module+1+L'BK_LPAOS+1))-((132-(L'X
+               BKwa_Module+1+L'BK_LPAOS+1))/256)*256)+256-((((132-(L'BKX
+               wa_Module+1+L'BK_LPAOS+1))-((132-(L'BKwa_Module+1+L'BK_LX
+               PAOS+1))/256)*256)+256)/256)*256)/128))*(((132-(L'BKwa_MX
+               odule+1+L'BK_LPAOS+1))-((132-(L'BKwa_Module+1+L'BK_LPAOSX
+               +1))/256)*256)+256-((((132-(L'BKwa_Module+1+L'BK_LPAOS+1X
+               ))-((132-(L'BKwa_Module+1+L'BK_LPAOS+1))/256)*256)+256)/X
+               256)*256)+((((132-(L'BKwa_Module+1+L'BK_LPAOS+1))-((132-X
+               (L'BKwa_Module+1+L'BK_LPAOS+1))/256)*256)+256-((((132-(LX
+               'BKwa_Module+1+L'BK_LPAOS+1))-((132-(L'BKwa_Module+1+L'BX
+               K_LPAOS+1))/256)*256)+256)/256)*256)/128)*((((132-(L'BKwX
+               a_Module+1+L'BK_LPAOS+1))-((132-(L'BKwa_Module+1+L'BK_LPX
+               AOS+1))/256)*256)+256-((((132-(L'BKwa_Module+1+L'BK_LPAOX
+               S+1))-((132-(L'BKwa_Module+1+L'BK_LPAOS+1))/256)*256)+25X
+               6)/256)*256)-256)+((132-(L'BKwa_Module+1+L'BK_LPAOS+1))+X
+               2147483520)*0+((132-(L'BKwa_Module+1+L'BK_LPAOS+1))-2147X
+               483520)*0    Emulated z10 CGIJL instruction
+         JL    BK250             ...


Robert Ngan
DXC Luxoft

-----Original Message-----
From: IBM Mainframe Assembler List <[email protected]> On Behalf 
Of Seymour J Metz
Sent: Friday, March 29, 2024 11:57
To: [email protected]
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
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


Reply via email to