PROCESSOR SPECIFIC DIRECTIVES
The ASF2MC8 assembler supports the F2MC8L and F2MC8FX proces-
sor cores.
.F2MC8L Directive
Format:
.F2MC8L
The .F2MC8L directive selects the F2MC8L processor cycle counts
to be listed. This is the default selection if no processor
directive is specified in the source assembly file.
.F2MC8FX Directive
Format:
.F2MC8FX
The .F2MC8FX directive selects the F2MC8FX processor cycle
counts to be listed. .F2MC8L is the default selection if no
processor directive is specified in the source assembly file.
The .__.CPU. Variable
The value of the pre-defined symbol '.__.CPU.' corresponds to
the selected processor type. The default value is 0 which cor-
responds to the default processor type. The following table
lists the processor types and associated values for the ASF2MC8
assembler:
Processor Type .__.CPU. Value
-------------- --------------
.F2MC8L 0
.F2MC8FX 1
The variable '.__.CPU.' is by default defined as local and
will not be output to the created .rel file. The assembler com-
mand line options -g or -a will not cause the local symbol to be
output to the created .rel file.
The assembler .globl directive may be used to change the
variable type to global causing its definition to be output to
the .rel file. The inclusion of the definition of the variable
'.__.CPU.' might be a useful means of validating that seperately
assembled files have been compiled for the same processor type.
The linker will report an error for variables with multiple non
equal definitions.
F2MC8L/F2MC8FX REGISTERS
The following is a list of register designations recognized
by the ASF2MC8 assembler:
pc - Program Counter
a - Accumulator
t - Temporary Accumulator
ix - Index Register
ep - Extra Pointer
sp - Stack Pointer
ps - Program Status
r0,r1,r2,r3, - Memory Registers
r4,r5,r6,r7 32 banks of
8 registers each
F2MC8L/F2MC8FX INSTRUCTION SET
The following list specifies the format for each addressing
mode supported by ASF2MC8:
#data immediate data
byte or word data
*dir direct page addressing
*dir:b bit addressing to a
direct page address
ext extended addressing
a,t register addressing
pc,sp,ix,ep
@a accumulator indexed
@ix+d indexed addressing
plus offset
@ix indexed addressing
with a zero offset
@ep pointer addressing
r General-purpose registers
label call/jmp/branch label
The terms data, dir, ext, b, d, and label may all be expres-
sions.
Note that not all addressing modes are valid with every in-
struction, refer to the F2MC8L/F2MC8FX technical data for valid
modes.
The following tables list all F2MC8L/F2MC8FX mnemonics recog-
nized by the ASF2MC8 assembler. The designation [] refers to a
required addressing mode argument.
Transfer Instructions
mov [],[] movw [],[]
xch [],[] xchw [],[]
clrb [] setb []
swap []
Operation Instructions
addc a(,[]) addcw a
subc a(,[]) subcw a
inc r incw []
dec r decw []
mulu a divu a
and a(,[]) andw a
cmp a(,[]) cmpw a
or a(,[]) orw a
xor a(,[]) xorw a
rolc a rorc a
daa das
Branch/Jump/Call Instructions
bz label bew label
bnz label bne label
bc label blo label
bnc label bhs label
bn label bp label
blt label bge label
bbc *dir:b,label bbs *dir:b,label
jmp [] call label
callv #data xchw a,pc
ret reti
Other Instructions
pushw [] popw []
nop
clrc setc
clri seti
... Exit the ASxxxx Documentation