75/317
4 - Architecture of the ST7 core
4.3.4.2 Opcode byte
The opcode uses a bit-level coding to specify the type of operation to perform (add, subtract,
jump, etc.) and the addressing mode used (direct, indexed, indirect, etc.) in a single byte.
The tables below summarize the available instruction codes. The lines are the value of the
higher nibble of the opcode; the columns are the lower nibble. The grouping of the instructions
is clearly visible.
Low digit
High
digit
0 1 2 3 4 5 6 7
0
BTJT
m,0
BTJF
m,0
BTJT
m,1
BTJF
m,1
BTJT
m,2
BTJF
m,2
BTJT
m,3
BTJF
m,3
1
BSET
m,0
BRES
m,0
BSET
m,1
BRES
m,1
BSET
m,2
BRES
m,2
BSET
m,3
BRES
m,3
2 JRA JRF JRUGT JRULE JRUGE JRULT JRNE JREQ
short 3 NEG CPL SRL SRA RRC SLL
A 4 NEG MUL CPL SRL SRA RRC SLL
X 5 NEG CPL SRL SRA RRC SLL
short, X 6 NEG CPL SRL SRA RRC SLL
(X) 7 NEG CPL SRL SRA RRC SLL
8 IRET RET TRAP POP A POP X
POP
CC
9
LD
X,Y
LD
S,X
LD
S,A
LD
X,S
LD
X,A
immediate A SUB CP A, SBC CP X, AND BCP LDA,
LD
m,A
short B SUB CP A, SBC CP X, AND BCP LDA,
LD
m,A
long C SUB CP A, SBC CP X, AND BCP LDA,
LD
m,A
long, (X) D SUB CP A, SBC CP X, AND BCP LDA,
LD
m,A
short, (X) E SUB CP A, SBC CP X, AND BCP LDA,
LD
m,A
(X) F SUB CP A, SBC CP X, AND BCP LDA,
LD
m,A