Datasheet

HPC Instruction Set Description (Continued)
Mnemonic Description Action
BIT INSTRUCTIONS
SBIT Set bit 1
x
Mem.bit
RBIT Reset bit 0
x
Mem.bit
IFBIT If bit If Mem.bit is true, do next instr.
MEMORY TRANSFER INSTRUCTIONS
LD Load MemI
x
MA
Load, incr/decr X Mem(X)
x
A, X
g
1 (or 2)
x
X
ST Store to Memory A
x
Mem
X Exchange A
Ý
Mem
Exchange, incr/decr X A
Ý
Mem(X), X
g
1 (or 2)
x
X
PUSH Push Memory to Stack W
x
W(SP), SP
a
2
x
SP
POP Pop Stack to Memory SP
b
2
x
SP, W(SP)
x
W
LDS Load A, incr/decr B, Mem(B)
x
A, B
g
1 (or 2)
x
B,
Skip on condition Skip next if B greater/less than K
XS Exchange, incr/decr B, Mem(B)
Ý
A,B
g
1 (or 2)
x
B,
Skip on condition Skip next if B greater/less than K
REGISTER LOAD IMMEDIATE INSTRUCTIONS
LD B Load B immediate imm
x
B
LD K Load K immediate imm
x
K
LD X Load X immediate imm
x
X
LD BK Load B and K immediate imm
x
B,imm
x
K
ACCUMULATOR AND C INSTRUCTIONS
CLR A Clear A 0
x
A
INC A Increment A A
a
1
x
A
DEC A Decrement A A
b
1
x
A
COMP A Complement A 1’s complement of A
x
A
SWAP A Swap nibbles of A A15:12
w
A11:8
w
A7:4
Ý
A3:0
RRC A Rotate A right thru C C
x
A15
x
...
x
A0
x
C
RLC A Rotate A left thru C C
w
A15
w
...
w
A0
w
C
SHR A Shift A right 0
x
A15
x
...
x
A0
x
C
SHL A Shift A left C
w
A15
w
...
w
A0
w
0
SC Set C 1
x
C
RC Reset C 0
x
C
IFC IF C Do next if C
e
1
IFNC IF not C Do next if C
e
0
TRANSFER OF CONTROL INSTRUCTIONS
JSRP Jump subroutine from table PC
x
[
SP
]
,SP
a
2
x
SP
W(table
Ý
)
x
PC
JSR Jump subroutine relative PC
x
[
SP
]
,SP
a
2
x
SP,PC
a
Ý
x
PC
(
Ý
is
a
1025 to
b
1023)
JSRL Jump subroutine long PC
x
[
SP
]
,SP
a
2
x
SP,PC
a
Ý
x
PC
JP Jump relative short PC
a
Ý
x
PC(
Ý
is
a
32 to
b
31)
JMP Jump relative PC
a
Ý
x
PC(
Ý
is
a
257 to
b
255)
JMPL Jump relative long PC
a
Ý
x
PC
JID Jump indirect at PC
a
APC
a
A
a
1
x
PC
JIDW then Mem(PC)
a
PC
x
PC
NOP No Operation PC
a
1
x
PC
RET Return SP
b
2
x
SP,
[
SP
]
x
PC
RETSK Return then skip next SP
b
2
x
SP,
[
SP
]
x
PC, & skip
RETI Return from interrupt SP
b
2
x
SP,
[
SP
]
x
PC, interrupt re-enabled
Note: W is 16-bit word of memory
MA is Accumulator A or direct memory (8 or 16-bit)
Mem is 8-bit byte or 16-bit word of memory
MemI is 8- or 16-bit memory or 8 or 16-bit immediate data
imm is 8-bit or 16-bit immediate data
imm8 is 8-bit immediate data only
29