Pushd (push from offset to tos and next, 16 bit), R_shift16 (right shift, 16 bit) – Echelon Neuron User Manual
Page 200

Example:
; (a, b, c, d)
call _push4 ; (a, b, c, d, a, b, c ,d)
_pushd (Push from Offset to TOS and NEXT, 16
Bit)
This function is used to fetch a 16-bit location from the stack. It is similar to
_push except that it loads two bytes rather than one. For _pushd, the offset is
two less than what would be used in the POP instruction.
Stack Transformation: (offset, …, value(2), … -- value(2), …, value(2), …)
Location: Far
Registers Affected: None
Example:
This example does the equivalent of two PUSH [DSP][-3] instructions.
; (a, b, c, d, e)
push #@lb(-d’5) ; (-d’5, a, b, c, d, e)
callf _pushd ; (d, e, a, b, c, d, e)
_pushd1 (Push Short from Offset to TOS and
NEXT, 16 Bit)
This function is the same as _pushd, except that –d’18 is added to the offset
before fetching. This allows the caller to use a PUSHS instruction to load the
offset.
Stack Transformation: (offset, …, value(2), … -- value(2), …, value(2), …)
Location: Far
Registers Affected: None
Example:
This example does the equivalent of two PUSH [DSP][-9] instructions.
; (a, b, c, d, …, h, i, j, k)
pushs #7
; (7, a, b, c, d, e)
callf _pushd1 ; (j, k, a, b, c, d, …, j, k)
_r_shift16 (Right Shift, 16 Bit)
This function shifts a 16-bit unsigned integer right. b must be in the range 0..7.
190
System-Provided Functions