Missed a line of code at the end... Here is the updated code: FIRST DS D LAST DS D
DOX378 DS 0H
LG R6,LAST
*C IF FIRST AND LAST EQ 0
*C SET FIRST AND LAST = NEW CB ADDRESS
XGR R4,R4
XGR R5,R5
LGR R2,R8 (R8: ADDRESS OF CB)
LGR R3,R8
CDSG R4,R2,FIRST IF FIRST & LAST 0, STM 2,3,FIRST
BC 4,ELIFX076
*C ELSE
BC 8,EDOX378
ELIFX076 DS 0H
*C IF LAST = LAST (R6)
*C SET LAST = POINTER_TO_NEW_ (R8)
*C SET NEXT.OF.LAST.ONCHAIN= POINTER_TO_NEW_ (R8)
STG R6,OPERAND1 (COMPARISON VALUE)
STG R8,OPERAND1R (REPLACEMENT VALUE)
LA R0,CSDSTG
LGR R3,R8
LA R4,LAST LAST IS IN CSA
STG R4,OPERAND6
DROP R8
USING CB,R6
LA R4,NEXT NEXT IS IN CSA
STG R4,OPERAND4
STG R8,OPERAND3
STG R8,OPERAND5
PLO 0,LAST,0,PL
* THE FIRST-OPERAND COMPARISON VALUE AND THE SECOND OPERAND ARE
* COMPARED. IF THEY ARE EQUAL, THE FIRST-OPERAND REPLACEMENT VALUE
* IS STORED AT THE SECOND-OPERAND LOCATION, AND THE THIRD OPERAND IS
* STORED AT THE FOURTH-OPERAND LOCATION. THEN, THE FIFTH OPERAND IS
* STORED AT THE SIXTH-OPERAND LOCATION.
BNZ DOX378
EDOX378 DS 0H
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
