GDSX (Extended General Device Support) Manual

LINE^HANDLER Example, Design
Extended General Device Support (GDSX) Manual—529931-001
7-23
The IOCB
You can display the contents of the LINE^HANDLER’s TCB with the DISPLAY
command:
- DISPLAY (tcb-address) AS TCB^TEMPLATE
Now display the values of the local variables oldest and newest:
- DISPLAY OLDEST
- DISPLAY NEWEST
These are the indexes to the queue of pending ^WRITEREAD IOCBs from
DEVICE^HANDLER tasks. Display the contents of this local array:
- DISPLAY WT^RD^IOCB^LIST
The IOCB
Record the IOCB address indicated by oldest (old-iocb). Look at the contents of
this IOCB with the following command:
- DISPLAY (old-iocb) AS IOCB^TEMPLATE
The buffer address is held in the doubleword variable bufaddrx. Record the value of
bufaddrx (buffer-address).
Now convert the buffer address value to octal with the command:
- DISPLAY (buffer-address) IN OCTAL
and record the displayed value (octal-buffer-address).
Go to low-level Inspect, and display the contents of the text buffer of old-iocb with
the command:
_ A octal-buffer-address, 20
The first four words of the buffer should contain the most recent prompt string
displayed on the application terminal.
Tracing a ^CANCEL
Return to high-level Inspect. Clear the breakpoint in the main loop of LINE^HANDLER:
- LIST BREAKPOINT
- CLEAR 1
Set a new breakpoint at the statement beginning with “IF
(WT^RD^IOCB^LIST[OLDEST]“ in the CANCEL^ITC subprocedure of
LINE^HANDLER by entering:
- SOURCE SEARCH "IF (WT"
- BREAK #line
Then resume program execution.