If the situation demands it, you can write your own user routines for list editing or for the special evaluation of dumps. You can then call these routines from DAMP by means of the LOAD-MODULE
and START-MODULE
statements. However, this makes you dependent on the structure of the dump file and on the BS2000 version being used. These dependencies are dissolved if you use the diagnostic language PRODAMP instead. Within PRODAMP, you can call Assembler routines using the PRODAMP function ENTER-MODULE
. This has the advantage of allowing you to transfer diagnostic data as parameters.
When writing private user routines the interface must comply with the following conditions:
Register 1 | contains the address of the parameter string (up to 80 characters) which can be specified in the START-MODULE statement. |
Register 13 | contains the address of an 18-word save area which is made available by DAMP and which can be used in accordance with the VMOS (Virtual Memory Operating System) conventions. |
Register 14 | contains the return address. |
Register 15 | contains the entry address. |
All registers must be reset to their original values before control is returned to DAMP.
The module called cannot have any specific requirements regarding the status of the diagnosis object currently being processed under DAMP. Neither does DAMP provide any interfaces which can be used by external routines. Moreover, the external procedures are called in 31-bit mode, which means that they must contain at least one 31-bit adapter. The user module may be stored in any module library. Before the routine is called via START-MODULE
, the module must be loaded dynamically by means of a LOAD-MODULE
statement.
If the user module is stored in the dynamically loadable library of DAMP, the START-MODULE
statement can be omitted.
In the case of teleprocessing problems, you can initiate the DCM user routine, which provides you with edited DCM tables.