Mark,

You are coding a length (the 2) in the 2nd operand of your LH
instruction...that 2 is being used by the machine as register 2. LH always
loads two bytes.

Mike Shaw
MVS/QuickRef Support
Chisoft


On Tue, Jun 4, 2024, 1:38 PM Mark Young <[email protected]> wrote:

> Thanks for all the replies.  See the code sample below.  I'm getting stuck
> trying to get the length for the next table entry into R8 so the BXLE
> instruction loop the correct length.  Let me know if I'm on the correct
> path, or I'm in never never land.   Also, the --->>>          <<<--- is
> where I think I'm getting stuck.
>
> TESTBXLE CSECT ,
> TESTBXLE AMODE 31
> TESTBXLE RMODE ANY
>          SAVE  (14,12),,TESTBXLE*&SYSDATE*&SYSTIME
>          BALR  R12,0                   R12 - BASE REGISTER
>          USING *,R12                   ESTABLISH ADDRESSABILITY
>          ST    R13,SAVEAREA+4          SAVEAREA
>          LA    R13,SAVEAREA            POINTERS
> *
> CHKOPTS1 LA    R7,TABLE1+4             ADDRESS OF FIRST ELEMENT
>          LH    R8,TABLE1+2             LENGTH OF TABLE ENTRY
>          LA    R9,TABLE1+2             ADDRESS OF BEGINNING OF TABLE
>          AH    R9,TABLE1               CALC ADDR OF END OF TABLE
> LOOP1    CLC   0(9,R7),=C'FFFFFFFFF'
>          BE    FOUND                   ENTRY FOUND = RC=0
> --->>>   LH    R8,0(2,R7)  <<<---      POINT TO LENGTH OF NEXT ENTRY
>          BXLE  R7,R8,LOOP1             LOOPING UNTIL OPT FOUND
>          B     NOTFND                  ENRTY NOT FOUND ? RC=8
> *
> FOUND    L     R13,SAVEAREA+4
>          RETURN (14,12),RC=0
> *
> NOTFND   L     R13,SAVEAREA+4
>          RETURN (14,12),RC=8
> *
>          PRINT NOGEN
>          YREGS
> SAVEAREA DS    18F
> TABLE1   DS    0F
>          DC    XL2'008F'
>          DC    XL2'000E',CL14'AAAAAAAAAAAAAA'
>          DC    XL2'000F',CL15'BBBBBBBBBBBBBBB'
>          DC    XL2'0011',CL17'CCCCCCCCCCCCCCCCC'
>          DC    XL2'000D',CL13'DDDDDDDDDDDDD'
>          DC    XL2'0017',CL23'EEEEEEEEEEEEEEEEEEEEEEE'
>          DC    XL2'0009',CL9'FFFFFFFFF'
>          DC    XL2'0013',CL19'GGGGGGGGGGGGGGGGGGG'
>          DC    XL2'0019',CL25'HHHHHHHHHHHHHHHHHHHHHHHHH'
>          DC    XL2'0008',CL8'IIIIIIII'
>          END   TESTBXLE
>
>
> Thanks,
> Mark.
>

Reply via email to