pTAL Reference Manual (G06.24+, H06.09+, J06.03+)
Table 70 Built-In Routines for Nonatomic Operations (continued)
Can Set ...DescriptionRoutine
Converts procedure address to
PROC32ADDR
4
$PROC32ADDR
4
Converts procedure address to
PROC64ADDR
4
$PROC64ADDR
4
Returns the base and limit of the
current extended segment
$READBASELIMIT
1, 2
Returns the current setting of the
system clock
$READCLOCK
$CARRYReturns (copies) an entry from the
Segment Page Table (SPT)
$READSPT
2, 3
Returns the number of microseconds
since the last cold load
$READTIME
$OVERFLOWMoves the position of the implied
decimal point by changing a
FIXED(fpoint) value
$SCALE
Converts a SGBADDR or SGXBADDR
address to an EXTADDR address
$SGBADDR_TO_EXTADDR
Converts a SGBADDR or SGXBADDR
address to a SGWADDR address
$SGBADDR_TO_SGWADDR
Converts a SGWADDR or
SGXWADDR address to an EXTADDR
address
$SGWADDR_TO_EXTADDR
Converts a SGWADDR or
SGXWADDR address to a SGBADDR
address
$SGWADDR_TO_SGBADDR
Tests for a special (ASCII
nonalphanumeric) character
$SPECIAL
Allocates a block of memory on the
stack and returns the address of the
block
$STACK_ALLOCATE
Replaces $FREEZE and $HALT, which
are available only for code
generated for the TNS/R architecture
$TRIGGER
1, 2, 5
Returns an INT value that represents
the data type of a variable
$TYPE
Converts an unsigned INT value to
an INT(32) value
$UDBL
$OVERFLOWDivides an INT(32) dividend by an
INT divisor to produce an INT
quotient and INT remainder
$UDIVREM16
$OVERFLOWDivides an INT(32) dividend by an
INT divisor to produce an INT(32)
quotient and INT remainder
$UDIVREM32
converts INT(32) to FIXED, zero
extended
$UFIX
4
Condition codeUnlocks one page of memory$UNLOCKPAGE
1, 2, 3
Converts a WADDR address to a
BADDR address
$WADDR_TO_BADDR
290 Built-In Routines