|
Figure 1 shows an example of how to
invoke IKJCT441 to update a variable value or create that variable
if it does not exist.
Figure 1. Example 1:
Update or Create a Variable ValueSETS CSECT
CVTPTR EQU 16
CVTTVT EQU X'9C'
R15 EQU 15
R14 EQU 14
R13 EQU 13
R12 EQU 12
R11 EQU 11
R00 EQU 0
IKJTSVT
SETS CSECT
STM R14,R12,12(R13) SAVE CALLER'S REGISTERS
BALR R12,0 ESTABLISH ADDRESSABILITY
USING *,R12 BASE REGISTER OF EXECUTING PROGRAM
ST R13,SAVEAREA+4 CALLER'S SAVEAREA ADDRESS
LA R15,SAVEAREA EXECUTING PROGRAM'S SAVEAREA ADDRESS
ST R15,8(,R13) EXECUTING PROGRAM'S SAVEAREA ADDRESS
LA R13,SAVEAREA EXECUTING PROGRAM'S SAVEAREA ADDRESS
*
*
L R15,CVTPTR ACCESS THE CVT
L R15,CVTTVT(,R15) ACCESS THE TSVT
L R15,TSVTVACC-TSVT(,R15) ACCESS THE VARIABLE ACCESS RTN
*
* INVOKE THE VARIABLE ACCESS SERVICE
*
LTR R15,R15 VERIFY TSVT ADDRESS PRESENT
BNZ CALL441 IF PRESENT, CALL IKJCT441
LINK441 LINK EP=IKJCT441, *
PARAM=(ECODE, ENTRY CODE *
NAMEPTR, POINTER TO VARIABLE NAME *
NAMELEN, LENGTH OF VARIABLE NAME *
VALUEPTR, POINTER TO VARIABLE VALUE *
VALUELEN, LENGTH OF VARIABLE VALUE *
TOKEN), TOKEN TO VARIABLE ACCESS SERVICE *
VL=1 CAUSES HI BIT ON IN THE PARM LIST
B RET441
CALL441 CALL (15), *
(ECODE, ENTRY CODE *
NAMEPTR, POINTER TO VARIABLE NAME *
NAMELEN, LENGTH OF VARIABLE NAME *
VALUEPTR, POINTER TO VARIABLE VALUE *
VALUELEN, LENGTH OF VARIABLE VALUE *
TOKEN), TOKEN TO VARIABLE ACCESS SERVICE *
VL CAUSES HI BIT ON IN THE PARM LIST
*
RET441 LTR R15,R15 CHECK RETURN CODE
BNZ ERRORRTN
*
*
ERRORRTN DS 0H
L R13,4(,R13) CALLER'S SAVEAREA
L R14,12(,R13) RESTORE REGISTER 14
LM R00,R12,20(R13) RESTORE REMAINING REGISTERS
BR R14 RETURN TO CALLER, REGISTER 15 CONTAINS
* THE RETURN CODE FROM IKJCT441
*
*
NAME DC CL12'VARIABLENAME' NAME OF THE VARIABLE
NAMELEN DC F'12' LENGTH OF THE VARIABLE NAME
VALUE DC CL3'YES' VARIABLE VALUE
VALUELEN DC F'3' LENGTH OF THE VARIABLE VALUE
NAMEPTR DC A(NAME) POINTER TO THE VARIABLE NAME
VALUEPTR DC A(VALUE) POINTER TO THE VARIABLE VALUE
TOKEN DC F'0' TOKEN (UNUSED HERE)
ECODE DC A(TSVEUPDT) ENTRY CODE FOR SETTING VALUES
SAVEAREA DS 18F
END
|