When the assembler is in unsegmented mode (specified with the unsegm directive), an address takes up one word (16 bit) sized register. When the assembler is in segmented mode (specified with the segm directive), a 24-bit address takes up a long (32 bit) register.
See the following documentation for the Z8000 architecture’s features and options for the assembler.
as has no additional command-line options for the Zilog Z8000 family.
The following documentation refers to the syntax for the Z8000.
! is the line comment character.
You can use ; instead of a newline to separate statements.
The Z8000 has sixteen 16-bit registers, numbered 0 to 15. You can refer to different sized groups of registers by register number with the prefix, r, for 16-bit registers, rr for 32-bit registers, and rq for 64 bit registers.
You
can also refer to the contents of the first eight (of the sixteen 16 bit
registers) by bytes. They are named rnh
and rnl.
as
understands the following addressing modes for the Z8000.
@rn
addr
address(rn)
rn(#imm)
rn(rm)
#xx
Assembler directives for Z8000
The Z8000 port of as includes these additional assembler directives, for compatibility with other Z8000 assemblers. As shown, these do not begin with ‘.’ (unlike the ordinary as directives).
unsegm
name
global
wval
lval
bval
sval
68652073 sval
'he said %22it%27s 50%25 off%22%00'
61696420
22697427
73203530
25206F66
662200
rsect
block
even
For detailed information on the Z8000 machine instruction set, see Z8000 Technical Manual.