z/OS TSO/E Programming Services
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Assembler Program Using IKJEFTSI, IKJEFTSR, IKJEFTST to Invoke a Command

z/OS TSO/E Programming Services
SA32-0973-00

Figure 1. Assembler Language Program Demonstrating the Use of IKJEFTSI, IKJEFTSR, and IKJEFTST to Invoke a Command
COMPOS4  CSECT  ,
COMPOS4  AMODE  31
COMPOS4  RMODE  ANY
@MAINENT DS     0H
         STM    R14,R12,12(R13)       ENTRY LINKAGE
         LR     R12,R15
@PSTART  EQU    COMPOS4
         USING  @PSTART,R12
         ST     R13,SAVEAREA+4
         LA     R11,SAVEAREA
         ST     R11,8(,R13)
         LA     R13,SAVEAREA
*
*
MAIN     DS     0H
*
******************************************************************
*                                                                *
* SET UP THE PARAMETER LIST FOR IKJEFTSI.  A VALUE OF ZERO IS    *
* PASSED FOR ALL PARAMETERS.                                     *
*                                                                *
******************************************************************
         XC     IKJEFTSJ(72),IKJEFTSJ   INITIALIZE PARAMETER VALUES
         LA     R2,EFTSI_ECTPARM       PLACE ADDRESS OF ECTPARM
         ST     R2,EFTSI_ECTPARM@       IN THE PARAMETER LIST
         LA     R2,EFTSI_RESERVED      PLACE ADDRESS OF RESERVED
         ST     R2,EFTSI_RESERVED@      DATA IN PARAMETER LIST
         LA     R2,EFTSI_TOKEN         PLACE ADDRESS OF TOKEN
         ST     R2,EFTSI_TOKEN@         DATA IN PARAMETER LIST
         LA     R2,EFTSI_ERROR         PLACE ADDRESS OF ERROR
         ST     R2,EFTSI_ERROR@         DATA IN PARAMETER LIST
         LA     R2,EFTSI_ABEND         PLACE ADDRESS OF ABEND
         ST     R2,EFTSI_ABEND@         DATA IN PARAMETER LIST
         LA     R2,EFTSI_REASON        PLACE ADDRESS OF REASON
         ST     R2,EFTSI_REASON@        DATA IN PARAMETER LIST
         OI     EFTSI_REASON@,X'80'    SET HIGH ORDER BIT
         LA     R1,IKJEFTSJ            REG 1 POINTS TO PARM LIST
         CALLTSSR EP=IKJTSFI           INVOKE IKJEFTSI, SPECIFYING
*                                       ENTRY POINT IKJTSFI.
*        ----   Provide for error conditions here   ----
*
******************************************************************
*                                                                *
* SET UP THE PARAMETER LIST FOR IKJEFTSR.                        *
*                                                                *
******************************************************************
         LA     R2,TSR1                PLACE ADDR OF TSR1
         ST     R2,TSR1@                IN THE PARAMETER LIST
         LA     R2,TSR2                PLACE ADDR OF TSR2
         ST     R2,TSR2@                IN THE PARAMETER LIST
         LA     R2,TSR3                PLACE ADDR OF TSR3
         ST     R2,TSR3@                IN THE PARAMETER LIST
         LA     R2,TSR4                PLACE ADDR OF TSR4
         ST     R2,TSR4@                IN THE PARAMETER LIST
         LA     R2,TSR5                PLACE ADDR OF TSR5
         ST     R2,TSR5@                IN THE PARAMETER LIST
         LA     R2,TSR6                PLACE ADDR OF TSR6
         ST     R2,TSR6@                IN THE PARAMETER LIST
         LA     R2,TSR7                PLACE ADDR OF TSR7
         ST     R2,TSR7@                IN THE PARAMETER LIST
         LA     R2,TSR8                PLACE ADDR OF TSR8
         ST     R2,TSR8@                IN THE PARAMETER LIST
         LA     R2,EFTSI_TOKEN         PLACE ADDR OF THE TOKEN
         ST     R2,TSR9@                IN THE PARAMETER LIST
         OI     TSR9@,X'80'            SET HIGH ORDER BIT
         LA     R1,TSR1@               REG 1 POINTS TO PARM LIST
         L      R15,CVTPTR
         L      R15,CVTTVT(,R15)
         L      R15,TSVTASF-TSVT(,R15)
         BALR   R14,R15                CALL IKJEFTSR
*        ----   Provide for error conditions here   ----
*
         L      R15,CVTPTR
         L      R15,CVTTVT(,R15)
         L      R15,TSVTASF-TSVT(,R15)
         BALR   R14,R15                CALL IKJEFTSR
         CALL   (15),(TSR1,TSR2,TSR3,TSR4,TSR5,TSR6,TSR7,TSR8,
               EFTSI_TOKEN),VL
*        ----   Provide for error conditions here   ----
*
******************************************************************
*                                                                *
* SET UP THE PARAMETER LIST FOR IKJEFTST.  A VALUE OF ZERO IS    *
* PASSED FOR ALL PARAMETERS, EXCEPT FOR THE TOKEN THAT IS        *
* GOTTEN FROM IKJEFTSI.                                          *
*                                                                *
******************************************************************
         XC     IKJEFTSV(72),IKJEFTSV  INITIALIZE PARAMETER VALUES
         LA     R2,EFTST_ECTPARM       PLACE ADDRESS OF ECTPARM
         ST     R2,EFTST_ECTPARM@       IN THE PARAMETER LIST
         LA    R2,EFTST_RESERVED       PLACE ADDRESS OF RESERVED
         ST    R2,EFTST_RESERVED@       DATA IN PARAMETER LIST
         LA    R2,EFTST_TOKEN          PLACE ADDRESS OF TOKEN
         ST    R2,EFTST_TOKEN@          DATA IN PARAMETER LIST
         MVC   EFTST_TOKEN(16),EFTSI_TOKEN      PASS TOKEN
*                                               FROM IKJEFTSI
         LA    R2,EFTST_ERROR          PLACE ADDRESS OF ERROR
         ST    R2,EFTST_ERROR@          DATA IN PARAMETER LIST
         LA    R2,EFTST_ABEND          PLACE ADDRESS OF ABEND
         ST    R2,EFTST_ABEND@          DATA IN PARAMETER LIST
         LA    R2,EFTST_REASON         PLACE ADDRESS OF REASON
         ST    R2,EFTST_REASON@         DATA IN PARAMETER LIST
         OI     EFTST_REASON@,X'80'    SET HIGH ORDER BIT
         LA     R1,IKJEFTSV            REG 1 POINTS TO PARM LIST
         CALLTSSR EP=IKJTSFT           INVOKE IKJEFTST, SPECIFYING
*                                       ENTRY POINT IKJTSFT.
*        ----   Provide for error conditions here   ----
*
         DS     0H
         L      R13,4(,R13)           EXIT  LINKAGE
         LM     R14,R12,12(R13)
         SLR    R15,R15
         BR     R14
*
*
SAVEAREA DS   18F
*
*
ZERO     DC     F'0'
*
*                               IKJEFTSI Input:
         IKJADFMT
         IKJEFTSJ
*                                                         000
*                               IKJEFTSR Input:
TSR1@    DS     F               o  Address of Parm 1
TSR2@    DS     F               o  Address of Parm 2
TSR3@    DS     F               o  Address of Parm 3
TSR4@    DS     F               o  Address of Parm 4
TSR5@    DS     F               o  Address of Parm 5
TSR6@    DS     F               o  Address of Parm 6
TSR7@    DS     F               o  Address of Parm 7
TSR8@    DS     F               o  Address of Parm 8
TSR9@    DS     F               o  Address of Parm 9
TSR1     DS     0F              o  Parm 1:
RESFLAGS DC     X'00'              Byte 1 - Reserved
UNAUTHFL DC     X'01'              Byte 2 - Unauthorized environment
ABFLAGS  DC     X'01'              Byte 3 - Dump indicator
FNCFLAGS DC     X'01'              Byte 4 - Cmd, REXX, CLIST indicator
*
TSR2     DC     C'ALTLIB DISPLAY      '
*
TSR3     DC     F'20'           o  Parm 3 - Buffer Len
TSR4     DS     F               o  Parm 4 - Return code
TSR5     DS     F               o  Parm 5 - Reason code
TSR6     DS     F               o  Parm 6 - Abend code
TSR7     DC     F'0'            o  Parm 7 - Parm for pgms
TSR8     DC    4F'0'            o  Parm 8 - CPPL
*                                  let IKJEFTSR get appropriate values
*                               o  Parm 9 - Token
*                                  obtained from IKJEFTSI Parm 3
*
*                               IKJEFTST Input:
         IKJEFTSV
*
CVTPTR   EQU  16
CVTTVT   EQU  X'9C'
R15      EQU  15
R14      EQU  14
R13      EQU  13
R12      EQU  12
R11      EQU  11
R10      EQU  10
R9       EQU  9
R8       EQU  8
R7       EQU  7
R6       EQU  6
R5       EQU  5
R4       EQU  4
R3       EQU  3
R2       EQU  2
R1       EQU  1
         IKJTSVT
         END

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014