Mark,
Here is a code fragment where we use BXLE (fixed width font, hope this
comes through):
R:A 030D8 4068 USING VERVPR,R10
ESTAB BASE REG
00311E 5840 D0D8 001FC 4069 L R4,VPRTADDR
Point at exclude stack
003122 4160 0032 00032 4070 LA R6,VPRLTH
Get length of one index entry
003126 5870 D0DC 00200 4071 L R7,VPRTLAST
Point at exclude stack
00312A 1B76 4072 SR R7,R6
Back up to last usable entry
R:4 00000 4073 USING VPRDSCT,R4
DSECT the first VPR table entry
R:1 00000 4074 USING QWRFDSCT,R1
DSECT the current index entry
00312C 4075 CKIDXEXC DS 0H
00312C D531 4000 1010 00000 00010 4076 CLC
VPRVEN(VPRLTH),QWRFVEN Compare all three fields
003132 4780 A06A 03142 4077 BE CKIDXMAT
Yes, we have a match
003136 8746 A054 0312C 4078 BXLE R4,R6,CKIDXEXC
Check all exclude stack entries
00313A 4079 CKIDXNOM DS 0H
00313A 41F0 0004 00004 4080 LA R15,4
Set no match RC
00313E 47F0 A06C 03144 4081 B CKIDXXIT
Go return to caller
003142 4082 CKIDXMAT DS 0H
003142 17FF 4083 XR R15,R15
Set match RC
003144 4084 CKIDXXIT DS 0H
003144 50FA 000C 0000C 4085 ST R15,12(R10)
SET RETURN CODE
003148 98EC A008 00008 4086 LM R14,R12,8(R10)
RESTORE REGISTERS
00314C 07FE 4087 BR R14
RETURN
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.
On Wed, May 29, 2024 at 3:04 PM Mark <
[email protected]> wrote:
> Hello,
>
> I'm writing an exit where I have to scan through an array of variable
> length entries in a table where the format is as below (all the entires are
> readable characters)
>
> First 2 bytes = total length of array in hex
> then
> 2 bytes for length of first entry in hex
> First Entry in table
> 2 bytes for length of 2nd entry in hex
> 2nd entry in table
> 2 bytes for length of 3rd entry in hex
> 3rd entry in table.
> repeats until end of array.
>
> I'm thinking a BXLE will work, but getting stuck on exactly how to code
> it. any help is greatly appriciated.
>
> Thanks,
> Mark.
> .
>