pTAL Reference Manual (G06.24+, H06.09+, J06.03+)

$FILL32 performance is significantly degraded if area-to-fill is not aligned to at least a
4-byte boundary.
None of the fill procedures ($FILL8, $FILL16, $FILL32) perform bounds-checking on their parameters.
If you write more bytes than the size of area-to-fill, the results are undefined. You might
overwrite other data in your program with no immediate error, or you might cause any of several
addressing errors, such as attempting to write in an area for which you do not have write permission,
attempting to write in an unmapped page, and so forth.
Example 252 $FILL8 Procedure
PROC a MAIN;
BEGIN
STRUCT s(s_t);
...
CALL $FILL8(s, $LEN(s), 0);
END;
$FIX
$FIX converts its argument to a FIXED value.
NopTAL privileged procedure
NoCan be executed only by privileged procedures
NoSets condition code
NoSets $CARRY
NoSets $OVERFLOW
expression
is an INT, INT(32), FIXED, REAL, EXT64ADDR, or REAL(64) expression.
If expression is too large in magnitude to be represented by a 64-bit two’s complement integer,
$FIX traps if overflow traps are enabled (see Chapter 13 (page 234)); otherwise, $FIX ignores the
problem.
Example 253 $FIX Routine
FIXED fixnum;
INT intnum := 5;
fixnum := $FIX (intnum); ! Return 5F
$FIXD
$FIXD converts a FIXED value to an INT(32) value.
NopTAL privileged procedure
NoCan be executed only by privileged procedures
NoSets condition code
Nonatomic Operations 309