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

Example 243 $DBL Routine
INT .EXT i;
EXTADDR e;
INT(32) j;
j := $DBL(e); ! OK: e is type EXTADDR
j := $DBL(@i); ! OK: @i is type EXTADDR
j := $DBL(i); ! OK: i is type INT
j := $DBL(@j); ! ERROR: @j is type WADDR
j := $DBL(@e); ! ERROR: @e is type WADDR
$DBLL
$DBLL converts to INT values an INT(32) value.
NopTAL privileged procedure
NoCan be executed only by privileged procedures
NoSets condition code
NoSets $CARRY
NoSets $OVERFLOW
int-expression
is an INT expression.
To form the INT(32) value, $DBLL places the first int-expression in the high-order 16 bits and
the second int-expression in the low-order 16 bits.
Example 244 $DBLL Routine
INT first_int, second_int;
INT(32) some_double;
INT .EXT p; ! 32-bit simple pointer
some_double := $DBLL (first_int, second_int);
! Return INT(32) value
@p := ($DBLL (2, 7)) '<<' 1; ! Return 32-bit address in
! user code segment
$DBLR
$DBLR converts its argument to an INT(32) value and rounds the result.
NopTAL privileged procedure
NoCan be executed only by privileged procedures
NoSets condition code
NoSets $CARRY
NoSets $OVERFLOW
Nonatomic Operations 301