Application programming for assembler language
Application programs in assembly language use the following format, parameters, and DL/I calls to communicate with the IMS Transaction Manager.
In assembler language programs, all DL/I call parameters that are passed as addresses can be passed in a register, which, if used, must be enclosed in parentheses.
Format
Notes:
- 1 Assembler language programs must use either parmcount or VL.
Parameters
- parmcount
- Specifies the address of a 4-byte field in user-defined storage that contains the number of parameters in the parameter list that follows parmcount. Assembler language application programs must use either parmcount or VL.
- function
- Specifies the address of a 4-byte field in user-defined storage that contains the call function to be used. The call function must be left-justified and padded with blanks. For example, (GUbb) is a call function.
- i/o pcb
- Specifies the address of the I/O program communication block (PCB). The I/O PCB address is the
first address passed on entry to the application program in the PCB list, given the following
circumstances:
- A program executing in DLI or database management batch (DBB) regions where
CMPAT=YESis coded on the PSB. - Any program executing in batch message processing program (BMP), message processing program
(MPP), or IMS Fast Path (IFP) regions regardless of the
CMPAT=value.
- A program executing in DLI or database management batch (DBB) regions where
- alternate pcb
- Specifies the address of the alternate PCB to be used for the call. The PCB address must be one of the PCB addresses passed on entry to the application program in the PCB list.
- aib
- Specifies the address of the application interface block (AIB) in user-defined storage.
- i/o area
- Specifies the address of the I/O area in user-defined storage used for the call. The I/O area must be large enough to contain the returned data.
- i/o area length
- Specifies the address of a 4-byte field in user-defined storage that contains the I/O area length (specified in binary).
- area length
- Specifies the address of a 4-byte field in user-defined storage that contains the length (specified in binary) of the area immediately following it in the parameter list. Up to seven area length/area pairs can be specified.
- area
- Specifies the address of the area in user-defined storage to be checkpointed. Up to seven area length/area pairs can be specified.
- token
- Specifies the address of a 4-byte field in user-defined storage that contains a user token.
- options list
- Specifies the address of the options list in user-defined storage that contains processing options used with the call.
- feedback area
- Specifies the address of the feedback area in user-defined storage that receives information about options list processing errors.
- mod name
- Specifies the address of an 8-byte area in user-defined storage that contains the user-defined MOD name used with the call. The mod name parameter is used only with MFS.
- destination name
- Specifies the address of an 8-byte field in user-defined storage that contains the name of the logical terminal or transaction code to which messages resulting from the call are sent.
- VL
- Signifies the end of the parameter list. Assembler language programs must use either parmcount or VL.
Example DL/I call formats
DL/I AIBTDLI interface:
CALL AIBTDLI,(function,aib,i/o area),VLDL/I
language-specific interface:
CALL ASMTDLI,(function,i/o pcb,i/o area),VL