See inline for short.  :-)

Best
Peter


On 06/06/2024 13:19, Seymour J Metz wrote:
?

Please show the code you mean.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר

________________________________________
From: IBM Mainframe Assembler List<ASSEMBLER-LIST@LISTSERV.UGA.EDU>  on behalf of 
Peter Sylvester<peter.sylves...@gmail.com>
Sent: Thursday, June 6, 2024 6:07 AM
To:ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: BXLE usage assistance

Hi,

before doing the CLC, I might have put the length of the C'FFFFFFFF' into reg 
0, and then first make
a CR 0,7


Best

On 05/06/2024 23:17, Peter Vels wrote:
Hi Shmuel,

Your code is much better than mine (thanks!), however, you still need

LA    R7,2(R7)

to skip past the length field in the LOOP.  R8 contains the correct length,
but doesn't cater for the length field itself.
                     LA  RX,8   (length of C'FFFFFFFF')     RX any free register
CHKOPTS1 LA    R7,TABLE1+2
           LA    R9,TABLE1+2
           AH    R9,TABLE1

LOOP1    LH    R8,0(R7)

                      CR      R8,RX           or    CH R8,=H'8'   not using RX

                      JNE    NOTFOUND

           CLC   2(9,R7),=C'FFFFFFFFF'
           JE    FOUND
      NOTFOUND   EQU *
           LA    R7,2(R7)
           BXLE  R7,R8,LOOP1

Peter

On Thu, 6 Jun 2024 at 03:23, Seymour J Metz<sme...@gmu.edu>  wrote:

Yes, 2(9,R7) or a symbol in the DSECT following the length field. There's
probably processing code that has to be adjusted as well.
________________________________________
From: IBM Mainframe Assembler List<ASSEMBLER-LIST@LISTSERV.UGA.EDU>  on
behalf of Gary Weinhold<weinh...@dkl.com>

I believe the CLC would be CLC 2(9,R7) although in actual code it would
probably be executed with Rn containing R8 - 1.

On 2024-06-05 11:02 a.m., Seymour J Metz wrote:
What's wrong with

CHKOPTS1 LA    R7,TABLE1+2             ADDRESS OF FIRST ELEMENT
            LA    R9,TABLE1+2             ADDRESS OF BEGINNING OF TABLE
            AH    R9,TABLE1               CALC ADDR OF END OF TABLE

LOOP1   LH    R8,0(R7)                 entry length for BXLE
            CLC   0(9,R7),=C'FFFFFFFFF'
            JE    FOUND                   ENTRY FOUND = RC=0
            BXLE  R7,R8,LOOP1             LOOPING UNTIL OPT FOUND



Reply via email to