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


Examples Using GETLINE

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

Figure 1 is an example of the code required to execute the GETLINE macro instruction. In this example two execute forms of the GETLINE macro instruction are issued. The first one builds the IOPL, and uses the parameters initialized by the list form of the macro instruction to get a physical line from the terminal with the NOWAIT and ASIS options.

In the second execution of the GETLINE macro instruction, the same IOPL is used, but the GETLINE options are changed explicitly from TERM to ISTACK and from NOWAIT to WAIT, and by default from PHYSICAL to LOGICAL and from ASIS to EDIT.

Notice also that the IKJCPPL DSECT is used to map the Command Processor parameter list, and the IKJGTPB DSECT is used to map the GETLINE parameter block.

Figure 1. Example Showing Two Executions of GETLINE
* ON ENTRY FROM THE TMP, REGISTER 1 CONTAINS A POINTER TO THE COMMAND
* PROCESSOR PARAMETER LIST.
*
*      SET UP ADDRESSABILITY
*      SAVE AREA CHAINING
*
         LR    2,1                    SAVE THE ADDRESS OF THE CPPL.
         USING CPPL,2                 ADDRESSABILITY FOR THE CPPL
*
* ISSUE AN EXECUTE FORM OF THE GETLINE MACRO INSTRUCTION TO GET A
* PHYSICAL LINE FROM THE TERMINAL.  THIS EXECUTE FORM BUILDS AND
* INITIALIZES THE INPUT/OUTPUT PARAMETER LIST.
*
         L     3,CPPLUPT              PLACE THE ADDRESS OF THE UPT
*                                     INTO A REGISTER.
         L     4,CPPLECT              PLACE THE ADDRESS OF THE ECT
*                                     INTO A REGISTER.
         GETLINE    PARM=GETBLOCK,UPT=(3),ECT=(4),ECB=ECBADS,          X
               MF=(E,IOPLADS)
*
* THIS EXECUTE FORM OF THE GETLINE MACRO INSTRUCTION USES THE TERM,
* PHYSICAL, ASIS, AND NOWAIT OPERANDS CODED IN THE LIST FORM OF
* THE GETLINE MACRO INSTRUCTION.
*
* GET THE ADDRESS OF THE RETURNED LINE FROM THE GETLINE PARAMETER
* BLOCK.
*
         LA    6,GETBLOCK             SET UP ADDRESSABILITY FOR
         USING GTPB,6                 THE GTPB.
         L     5,GTPBIBUF             GET THE ADDRESS OF THE LINE.
*
*        PROCESS THE LINE
*
* ISSUE ANOTHER EXECUTE FORM OF THE GETLINE MACRO INSTRUCTION.
* THIS ONE GETS A LINE FROM THE CURRENTLY ACTIVE INPUT SOURCE - IT
* USES THE IOPL CONSTRUCTED BY THE FIRST EXECUTION OF THE GETLINE
* MACRO INSTRUCTION AND MODIFIES THE GTPB CREATED BY THE LIST FORM
* OF THE GETLINE MACRO INSTRUCTION.
         GETLINE    INPUT=(ISTACK),TERMGET=(WAIT),MF=(E,IOPLADS)
*
* THIS EXECUTE FORM OF THE GETLINE MACRO INSTRUCTION CHANGES TERM
* TO ISTACK, DEFAULTS TO LOGICAL, CHANGES NOWAIT TO WAIT, AND TAKES
* THE DEFAULT VALUE EDIT.
*
*
* GET THE ADDRESS OF THE RETURNED BLOCK FROM THE GETLINE PARAMETER
* BLOCK.
*
         L     5,GTPBIBUF
*
*        PROCESS THE LINE
*        STORAGE DECLARATIONS
IOPLADS  DC    4F'0'                  SPACE FOR THE INPUT/OUTPUT
*                                     PARAMETER LIST
* THE LIST FORM OF THE GETLINE MACRO INSTRUCTION EXPANDS INTO AN
* INITIALIZED GTPB.
*
         GETLINE    INPUT=(TERM,PHYSICAL),TERMGET=(ASIS,NOWAIT),MF=L
ECBADS   DC    F'0'                   SPACE FOR AN EVENT CONTROL BLOCK.
         IKJCPPL                      DSECT FOR THE COMMAND PROCESSOR
*                                     PARAMETER LIST. THIS EXPANDS WITH
*                                     THE SYMBOLIC ADDRESS, CPPL.
         IKJGTPB                      DSECT FOR THE GETLINE PARAMETER
*                                     BLOCK. THIS EXPANDS WITH THE
*                                     SYMBOLIC ADDRESS GTPB.
         END

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014