Assembler language application programming
Application programs in assembly language use the following format, parameters, and DL/I calls to communicate with IMS databases.
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:
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. The call function must be left-justified and padded with blanks (such as GUbb).
- db pcb
- Specifies the address of the database 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.
- tp pcb
- Specifies the address of the I/O PCB or 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 that is 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 lengths or area pairs can be specified.
- area
- Specifies the address of the area in user-defined storage to be checkpointed. Up to seven area lengths or area pairs can be specified.
- token
- Specifies the address of a 4-byte field in user-defined storage that contains a user token.
- stat function
- Specifies the address of a 9-byte field in user-defined storage that contains the stat function to be performed.
- ssa
- Specifies the address in user-defined storage that contains the SSAs to be used for the call. Up to 15 SSAs can be specified, one of which is rootssa.
- rootssa
- Specifies the address of a root segment search argument in user-defined storage.
- rsa
- Specifies the address of the area in user-defined storage that contains the record search argument.
- psb name
- Specifies the address in user-defined storage of an 8-byte PSB name to be used for the call.
- uibptr
- Specifies the address in user-defined storage of the user interface block (UIB).
- sysserve
- Specifies the address of an 8-byte field in user-defined storage to be used for the call.
- VL
- Signifies the end of the parameter list. Assembler language programs must use either parmcount or VL.
Example of a DL/I call format
Using the DL/I AIBTDLI
interface:
CALL AIBTDLI,(function,aib,i/o area,ssa1),VL
Using the DL/I language-specific interface:
CALL ASMTDLI,(function,db pcb,i/o area,ssa1),VL