SC/MP REGISTER SET
The following is a list of the SC/MP registers used by ASSCMP:
p0,pc - 16-bit program counter
p1,p2,p3 - 16-bit pointer registers
SC/MP ADDRESSING MODES
The general addressing modes are normally described in the
form @DISP(X) which correspond to these specific modes:
DISP a PC relative address
DISP(X) a DISPlacement from a pointer register
@DISP(X) An auto-increment DISPlacement from a
pointer register
The ASSCMP assembler also allows the ( and ) designators to
be replaced by the [ and ] designators.
The ASSCMP assembler also allows several shorthand nota-
tions for the addressing modes as shown here:
(X) ==>> 0(X)
@(X) ==>> @0(X)
@DISP ==>> @DISP(PC)
The xpal, xpah, and xppc instructions require only a
pointer register - p0, p1, p2, p3, or pc.
The standard memory reference instructions: ld, and, or,
xor, dad, add, and cad also allow an alternate immediate mode
instruction using the following format:
ld #DATA
The # is required otherwise DATA will be treated as a PC
relative address.
The immediate mode instructions: ldi, ani, ori, xri, dai,
adi, and cai allow either of these forms:
ldi #DATA
ldi DATA
SC/MP INSTRUCTION SET
The following tables list all SC/MP mnemonics recognized by
the ASSCMP assembler.
Memory Reference Instructions
ld @DISP(X) / #data Load
st @DISP(X) ------- Store
and @DISP(X) / #data AND
or @DISP(X) / #data OR
xor @DISP(X) / #data Exclusive OR
dad @DISP(X) / #data Decimal Add
add @DISP(X) / #data Add
cad @DISP(X) / #data Complement and Add
Immediate Instructions
ldi #data / data Load Immediate
ld #data
ani #data / data AND Immediate
and #data
ori #data / data Or Immediate
or #data
xri #data / data Exclusive Or Immediate
xor #data
dai #data / data Decimal Add Immediate
dad #data
adi #data / data Add Immediate
add #data
cai #data / data Complement and Add Immediate
cad #data
Extension Register Instructions
lde Load AC from Extension
xae Exchange AC and Extension
ane AND Extension
ore OR Extension
xre Exclusive Or Extension
dae Decimal Add Extension
ade Add Extension
cae Complement and Add Extension
Memory Increment/Decrement Instructions
dld DISP(X) Increment and Load
ild DISP(X) Decrement aand Load
Transfer Instructions
jmp DISP(X) Jump
jp DISP(X) Jump if Positive
jz DISP(X) Jump if Zero
jnz DISP(X) Jump if Not Zero
Pointer Register Move Instructions
xpal X Exchange Pointer Low
xpah X Exchange Pointer High
xppc X Exchange Pointer with PC
Shift, Rotate, Serial I/O Instructions
sio Serial Input/Output
sr Shift Right
srl Shift Right with Link
rr Rotate Right
rrl Rotate Right with Link
Single-Byte Miscellaneous Instructions
halt Halt
ccl Clear Carry Link
scl Set Carry Link
dint Disable Interrupt
ien Enable Interrupt
csa Copy Status to AC
cas Copy AC to Status
nop No Operation
Double-Byte Miscellaneous Instruction
dly #data / data Delay
... Exit the ASxxxx Documentation
Last Updated: April 2009