When as
encounters an instruction with an operand that is
either not known or does not fit the operand size of the instruction,
as
(and ld
) will expand the instruction into
a sequence of instructions semantically equivalent to the operand fitting
the instruction. Expansion will take place for the following
instructions:
SETL
, INCML
,
INCMH
and INCH
. The operand must be a multiple of four.
$255
to the operand value, which like with GETA
must
be a multiple of four, and a final GO $255,$255,0
.
$255
to the operand value, followed by a PUSHGO $255,$255,0
.
PUSHJ
. The final instruction
is GO $255,$255,0
.
The linker ld
is expected to shrink these expansions for
code assembled with --relax (though not currently implemented).