pTAL Reference Manual (G06.24+, H06.09+, J06.03+)
Example 316 $WRITEPTE Routine
INT ptetag;
INT(32) pageframe;
EXTADDR abs;
$WRITEPTE(ptetag, pageframe, abs);
$XADR
$XADR converts a standard address to an EXTADDR address.
NopTAL privileged procedure
NoCan be executed only by privileged procedures
NoSets condition code
NoSets $CARRY
NoSets $OVERFLOW
variable
is a variable that has a standard, extended, or system-global address.
$XADR returns an EXTADDR address. If the argument to $XADR is not a variable, the compiler
reports an error.
$XADR returns an absolute extended EXTADDR address in absolute segment 1 if variable is a
system global address (an SGBADDR, SGWADDR, SGXBADDR, or SGXWADDR address).
Variable can be the name of a pointer preceded by an “@” operator. In this case, $XADR returns
the absolute address of the pointer, as in the following example.
Example 317 $XADR Routine
PROC p;
BEGIN
INT .p;
INT .EXT e;
...
@e := $XADR(@p);
...
END;
$XADR32
NOTE: 64-bit addressing functionality added to the EpTAL compiler starting with SPR
T0561H01^AAP. For more information, see Appendix E, “64-bit Addressing Functionality”
(page 531).
$XADR converts a standard extended, or extended system-global address to an EXT32ADDR
address. No check is performed to determine if the resulting address is valid.
352 Built-In Routines










