Professional Documents
Culture Documents
Instrucciones y OPCODE
Instrucciones y OPCODE
Affect
Address
Cycles
Mode
Source Cyc-by-Cyc on CCR
Operation Object Code
Form Details
VH I N Z C
ADC #opr8i IMM A9 ii 2 pp
ADC opr8a DIR B9 dd 3 rpp
ADC opr16a EXT C9 hh ll 4 prpp
ADC oprx16,X Add with Carry IX2 D9 ee ff 4 prpp
–
ADC oprx8,X A ← (A) + (M) + (C) IX1 E9 ff 3 rpp
ADC ,X IX F9 3 rfp
ADC oprx16,SP SP2 9E D9 ee ff 5 pprpp
ADC oprx8,SP SP1 9E E9 ff 4 prpp
Affect
Address
Cycles
Mode
Source Cyc-by-Cyc on CCR
Operation Object Code
Form Details
VH I N Z C
DIR (b0) 11 dd 5 rfwpp
DIR (b1) 13 dd 5 rfwpp
DIR (b2) 15 dd 5 rfwpp
Clear Bit n in Memory DIR (b3) 17 dd 5 rfwpp
BCLR n,opr8a –– – – – –
(Mn ← 0) DIR (b4) 19 dd 5 rfwpp
DIR (b5) 1B dd 5 rfwpp
DIR (b6) 1D dd 5 rfwpp
DIR (b7) 1F dd 5 rfwpp
BHCC rel Branch if Half Carry Bit Clear (if H = 0) REL 28 rr 3 ppp –– – – – –
BHCS rel Branch if Half Carry Bit Set (if H = 1) REL 29 rr 3 ppp –– – – – –
BHI rel Branch if Higher (if C | Z = 0) REL 22 rr 3 ppp –– – – – –
BIL rel Branch if IRQ Pin Low (if IRQ pin = 0) REL 2E rr 3 ppp –– – – – –
Affect
Address
Cycles
Mode
Source Cyc-by-Cyc on CCR
Operation Object Code
Form Details
VH I N Z C
BRA rel Branch Always (if I = 1) REL 20 rr 3 ppp –– – – – –
Affect
Address
Cycles
Mode
Source Cyc-by-Cyc on CCR
Operation Object Code
Form Details
VH I N Z C
CMP #opr8i IMM A1 ii 2 pp
CMP opr8a DIR B1 dd 3 rpp
CMP opr16a EXT C1 hh ll 4 prpp
Compare Accumulator with Memory
CMP oprx16,X IX2 D1 ee ff 4 prpp
A–M – –
CMP oprx8,X IX1 E1 ff 3 rpp
(CCR Updated But Operands Not Changed)
CMP ,X IX F1 3 rfp
CMP oprx16,SP SP2 9E D1 ee ff 5 pprpp
CMP oprx8,SP SP1 9E E1 ff 4 prpp
Divide
DIV INH 52 6 fffffp –– – –
A ← (H:A)÷(X); H ← Remainder
Affect
Address
Cycles
Mode
Source Cyc-by-Cyc on CCR
Operation Object Code
Form Details
VH I N Z C
INC opr8a Increment M ← (M) + $01 DIR 3C dd 5 rfwpp
INCA A ← (A) + $01 INH 4C 1 p
INCX X ← (X) + $01 INH 5C 1 p
– – –
INC oprx8,X M ← (M) + $01 IX1 6C ff 5 rfwpp
INC ,X M ← (M) + $01 IX 7C 4 rfwp
INC oprx8,SP M ← (M) + $01 SP1 9E 6C ff 6 prfwpp
Affect
Address
Cycles
Mode
Source Cyc-by-Cyc on CCR
Operation Object Code
Form Details
VH I N Z C
MOV opr8a,opr8a Move DIR/DIR 4E dd dd 5 rpwpp
MOV opr8a,X+ (M)destination ← (M)source DIR/IX+ 5E dd 5 rfwpp
0– – –
MOV #opr8i,opr8a In IX+/DIR and DIR/IX+ Modes, IMM/DIR 6E ii dd 4 pwpp
MOV ,X+,opr8a H:X ← (H:X) + $0001 IX+/DIR 7E dd 5 rfwpp
Unsigned multiply
MUL INH 42 5 ffffp –0 – – – 0
X:A ← (X) × (A)
Affect
Address
Cycles
Mode
Source Cyc-by-Cyc on CCR
Operation Object Code
Form Details
VH I N Z C
Reset Stack Pointer (Low Byte)
RSP SPL ← $FF INH 9C 1 p –– – – – –
(High Byte Not Affected)
Affect
Address
Cycles
Mode
Source Cyc-by-Cyc on CCR
Operation Object Code
Form Details
VH I N Z C
SUB #opr8i IMM A0 ii 2 pp
SUB opr8a DIR B0 dd 3 rpp
SUB opr16a EXT C0 hh ll 4 prpp
SUB oprx16,X Subtract IX2 D0 ee ff 4 prpp
– –
SUB oprx8,X A ← (A) – (M) IX1 E0 ff 3 rpp
SUB ,X IX F0 3 rfp
SUB oprx16,SP SP2 9E D0 ee ff 5 pprpp
SUB oprx8,SP SP1 9E E0 ff 4 prpp
Software Interrupt
PC ← (PC) + $0001
Push (PCL); SP ← (SP) – $0001
Push (PCH); SP ← (SP) – $0001
Push (X); SP ← (SP) – $0001
SWI INH 83 11 sssssvvfppp –– 1 – – –
Push (A); SP ← (SP) – $0001
Push (CCR); SP ← (SP) – $0001
I ← 1;
PCH ← Interrupt Vector High Byte
PCL ← Interrupt Vector Low Byte
TST opr8a Test for Negative or Zero (M) – $00 DIR 3D dd 4 rfpp
TSTA (A) – $00 INH 4D 1 p
TSTX (X) – $00 INH 5D 1 p
0– – –
TST oprx8,X (M) – $00 IX1 6D ff 4 rfpp
TST ,X (M) – $00 IX 7D 3 rfp
TST oprx8,SP (M) – $00 SP1 9E 6D ff 5 prfpp
Affect
Address
Cycles
Mode
Source Cyc-by-Cyc on CCR
Operation Object Code
Form Details
VH I N Z C
Transfer Index Reg. to SP
TXS INH 94 2 fp –– – – – –
SP ← (H:X) – $0001
Source Form: Everything in the source forms columns, except expressions in italic characters, is literal information which must appear in
the assembly source file exactly as shown. The initial 3- to 5-letter mnemonic and the characters (# , ( ) and +) are always a literal
characters.
n Any label or expression that evaluates to a single integer in the range 0-7.
opr8i Any label or expression that evaluates to an 8-bit immediate value.
opr16i Any label or expression that evaluates to a 16-bit immediate value.
opr8a Any label or expression that evaluates to an 8-bit direct-page address ($00xx).
opr16a Any label or expression that evaluates to a 16-bit address.
oprx8 Any label or expression that evaluates to an unsigned 8-bit value, used for indexed addressing.
oprx16 Any label or expression that evaluates to a 16-bit value, used for indexed addressing.
rel Any label or expression that refers to an address that is within –128 to +127 locations from the start of the next instruction.
Note: All Sheet 2 Opcodes are Preceded by the Page 2 Prebyte (9E) Prebyte (9E) and Opcode in
Hexadecimal 9E60 6 HCS08 Cycles
NEG Instruction Mnemonic
Number of Bytes 3 SP1 Addressing Mode