HP Pascal/iX Reference Manual (31502-90022)

12- 79
Value Meaning
DP+
The offset is relative to the contents of the DP register
(the "Data Pointer," register 27). This register points to
the base of the global variables. Its value can be
displayed in an assembly-level debugger.
SP-
The offset is a negative offset from the contents of the SP
register (the "Stack Pointer," register 30). This register
points to the top of the activation record of the currently
executing routine. Its value can be displayed in an
assembly-level debugger.
PSP-
The offset is a negative offset from the contents of the
Stack Pointer (SP register) for the caller's frame (the
"Previous Stack Pointer"). Its value can be displayed by
stopping the program at the first instruction of the
current routine and examining the contents of the SP
register before it is incremented to accommodate the frame
of the current routine.
name
The compiler cannot determine the location of the variable
at compile time. Instead, it generates a symbol in the
object file for the variable, and the link editor resolves
the references at link time.
On HP-UX, you can display the actual location of such a
variable with the assembly-level debugger
adb
, which allows
you to specify the variable by name (rather than by
address.)
On MPE/iX, request that the link editor produce a symbol
map of the program file with the command
listprog
programfile; data
Function return values are indicated by the class FUNCTION
and the "address" RETURN.
Nonlocal (neither local nor global) variables, parameters
(of enclosing routines), and function returns (of enclosing
functions) are indicated by the address LEVEL
n
, where
n
is
the level of the routine that contains the declaration of
the variable or parameter in question.
The address of a FIELD or TAG FIELD is in the format
offset
@
length
, where
offset
is in the format
byte_offset.bit_offset
, and
length
is in the format
byte_length.bit_length
. The values
byte_offset,
bit_offset, byte_length,
and
bit_length
are hexadecimal.
The ADDRESS/VALUE column that TABLES ON produces provides packing
information.
Example
0 1.000 0 $TABLES ON$
0 2.000 0 PROGRAM show_map (input,output);
0 3.000 0 CONST
0 4.000 0 realnum = 19.9;
1 5.000 0 maxsize = 100;
2 6.000 0 title = 'Customer list';