LAY   1,&ARRAY.(14)

After the LLILF, the LTR will never have a 0 (X'8') condition code.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Assembler List [[email protected]] on behalf 
of Philippe Leite [[email protected]]
Sent: Thursday, May 20, 2021 2:17 PM
To: [email protected]
Subject: Re: Macro to set a bit string

A little fix related to LLILF position:

         MACRO
         TBIT  &ACTION,&ARRAY,&BIT
         LCLC  &TBTIX
&TBTIX   SETC  'TBT'.'&SYSNDX'
         LR    14,&BIT
         SRDL  14,3
         SRL   15,29
         LAY   1,&ARRAY
         LA    1,0(14,1)
         AIF   ('&ACTION' EQ 'ON').ACON
         AIF   ('&ACTION' EQ 'OFF').ACOFF
         AGO   .ERROR1
.ACON    ANOP
&TBTIX.O DS    0H
         LLILF 14,X'00000080'
         LTR   15,15
         JZ    &TBTIX.R
&TBTIX.L DS    0H
         SRL   14,1
         BCT   15,&TBTIX.L
&TBTIX.R DS    0H
         EX    14,&TBTIX.X
         B     &TBTIX.F
&TBTIX.X OI    0(1),0
         AGO   .MEXIT
.ACOFF   ANOP
&TBTIX.N DS    0H
         LLILF 14,X'FFFFFF7F'
         LTR   15,15
         JZ    &TBTIX.S
&TBTIX.M DS    0H
         SRL   14,1
         BCT   15,&TBTIX.M
&TBTIX.S DS    0H
         EX    14,&TBTIX.Y
         B     &TBTIX.F
&TBTIX.Y NI    0(1),0
         AGO   .MEXIT
.ERROR1  ANOP
         MNOTE 8,'*** ACTION PARAMETER INVALID'
         AGO   .MEXIT
.MEXIT   ANOP
&TBTIX.F EQU   *
         MEND



Philippe Leite
z/OS System Programmer

Reply via email to