Technical data

SDA Description
In the following example, the instruction that caused the exception is located
within the printer driver.
SDA> EXAMINE/INSTRUCTION 8005D003
LPDRIVER+2B3 MOVB (R3)+,(R0)
If SDA is unable to find a symbol within FFF
16
bytes of the memory location you
specify, it displays the location as an absolute address. This often, but not always,
means the instruction that caused the exception is not part of a device driver.
To determine whether an instruction is part of a driver, use the SHOW DEVICE
command to display the starting addresses and lengths of all the drivers in
the system. If the address of the failing instruction falls within the range of
addresses shown for a given driver, the failing instruction is a part of that driver.
The following example shows a partial list of the drivers in the display generated
by the SHOW DEVICE command.
I/O data structures
DDB list
--------
Address Controller ACP Driver DPT DPT size
------- ---------- --- ------ --- --------
80000ECC HELIUM$DBA F11XQP DBDRIVER 800F7AD0 08FD
80001040 OPA OPERATOR 80001622 0061
8000126C MBA MBDRIVER 800015B0 0578
80001460 NLA NLDRIVER 800015E9 05A3
801E2800 HELIUM$DMA F11XQP DMDRIVER 800B5CB0 0AA0
801E2980 HELIUM$DLA F11XQP DLDRIVER 800B6A50 08D0
.
.
.
9.3.2 Calculating the Offset into the Drivers Program Section
The offsets that SDA displays from nnDRIVER are actually offsets from the
DPT. As such, these offsets do not exactly correspond to the offsets shown in
driver listings, which represent offsets from the beginning of the program section
(PSECT) in which a given instruction appears. Because a driver usually contains
more than one PSECT, you must use the drivers map to determine the location
of the failing instruction within the driver listing.
To calculate the location of the instruction within the driver listing, refer to the
‘‘Program Section Synopsis’’ section of the drivers map. Determine in which
PSECT the offset given by SDA occurs and subtract the base of the PSECT from
the offset. You can then use the resulting figure as an index into the driver
listing.
If SDA does not display the address as an offset from nnDRIVER, but the address
is within the address range of a driver in the SHOW DEVICE display, you must
first subtract the address of the DPT from the failing address. Using the result
as the offset, you can then follow the steps previously outlined for determining
the index of the instruction into a driver listing.
SDA27