The ASSX assembler supports the UBICOM SX family of com-
munication controllers. The processor family includes the
SX18/20/28/42/52 variations.
SX REGISTER SET
The following is a list of the SX registers used by ASSX.
W - 8-bit working register
M - mode register
The following is a list of the SX special function registers.
(Not all are present in all SX processors.)
Address
-------
0x00 INDF - indirect addressing register
0x01 RTCC - real time clock/counter
0x02 PC - program counter
0x03 STATUS - ALU status bits
0x04 FSR - File Select Register
0x05 RA - Port RA data register
0x06 RB - Port RB data register
0x07 RC - Port RC data register
0x08 RD - Port RD data register
0x09 RE - Port RE data register
SX INSTRUCTION SET
The following list specifies the format for each addressing
mode supported by ASSX:
W the working register
M the MODE register
fr a memory address
for a file register
fr.bit a memory address
for a file register
with bit selection (0-7)
! Non-memory-mapped register
designator prefix
#lit immediate data
label branch label or value
The terms fr, data, lit, and label may all be expressions.
The following tables list all SX mnemonics recognized by
the ASSX assembler. Note that the argument ordering is dst,src.
Logical Operation Instructions
and fr,W and W,fr and W,#lit
or fr,W or W,fr or W,#lit
xor fr,W xor W,fr xor W,#lit
not fr
Arithmetic and Shift Instructions
add fr,W add W,fr
clr fr clr W clr !WDT
dec fr decsz fr
inc fr incsz fr
rl fr rr fr
sub fr,W swap fr
Bitwise Operation Instructions
clrb fr.bit setb fr.bit
sb fr.bit snb fr.bit
Data Movement Instructions
mov fr,W mov W,fr mov W,fr-W
mov W,#lit mov M,#lit
mov W,M mov M,W
mov W,/fr Move Complement of fr to W
mov W,--fr Move (fr - 1) to W
mov W,++fr Move (fr + 1) to W
mov W,<>fr Rotate fr Right through Carry
and move to W
mov W,<>fr Swap High/Low Nibbles of fr
and move to W
mov !rx,W Move Data Between W
and Control Register
mov !option,W Move W to OPTION Register
movsz W,--fr Move (fr - 1) to W
and Skip if Zero
movsz W,++fr Move (fr + 1) to W
and Skip if Zero
test fr Test fr for Zero
Program Control Instructions
call label PC<7:0> <- label
jmp label PC<8:0> <- label
nop No Operation
ret Return from Subroutine
retp Return from Subroutine
Across Page Boundary
reti Return from interrupt
retiw Return from Interrupt
and add W to RTCC
retw lit Return from Subroutine
with Literal in W
System Control Instructions
bank label Load Bank Number
iread Read Word from
Instruction Memory
page label Load Page Number
sleep Power Down Mode
Equivalent Assembler Mnemonics
clc Clear Carry Flag
clz Clear Zero Flag
sc Set Carry Flag
sz Set Zero Flag
jmp W Jump Indirect W
jmp PC+W Jump Indirect W Relative
mode #lit Move immediate to MODE Register
not W Complement W
skip Skip Next Instruction
... Exit the ASxxxx Documentation