1. You don't need the jumps

 2. You could save a bit of performance by putting the
    executed code in a LOCTR

 3. I thought you also wanted a test form

 4. Wouldn't LLILL be shorter?


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

________________________________________
From: IBM Mainframe Assembler List [[email protected]] on behalf 
of Philippe Leite [[email protected]]
Sent: Friday, May 21, 2021 8:27 AM
To: [email protected]
Subject: Re: RES: Macro to set a bit string

Now it's correct:

         MACRO
         TBIT  &ACTION,&ARRAY,&BIT
         LCLC  &TBTIX
&TBTIX   SETC  'TBT'.'&SYSNDX'
         LR    14,&BIT
         SRDL  14,3
         SRL   15,29
         LAY   1,&ARRAY.(14)
         AIF   ('&ACTION' EQ 'ON').ACON
         AIF   ('&ACTION' EQ 'OFF').ACOFF
         AGO   .ERROR1
.ACON    ANOP
&TBTIX.O DS    0H
         LLILF 14,X'00000080'
         SRL   14,0(15)
         EXRL  14,&TBTIX.X
         J     &TBTIX.F
&TBTIX.X OI    0(1),0
         AGO   .MEXIT
.ACOFF   ANOP
&TBTIX.N DS    0H
         LLILF 14,X'FFFFFF7F'
         SRL   14,0(15)
         EXRL  14,&TBTIX.Y
         J     &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

Reply via email to