Académique Documents
Professionnel Documents
Culture Documents
ADC opr8
ADC opr16
ADC ,X
ADC opr8,X
ADC opr16,X
ADC opr8,SP
ADC opr16,SP
ADD #opr8
ADD opr8
ADD opr16
ADD ,X
ADD opr8,X
ADD opr16,X
ADD opr8,SP
ADD opr16,SP
Operacin
Funcin
A = A + C + opr8
A = A + C + (opr8)
A = A + C + (opr16)
A = A + C + (HX)
A = A + C + (opr8 + HX)
A = A + C + (opr16 + HX)
A = A + C + (opr8 + SP)
A = A + C + (opr16 + SP)
A = A + opr8
A = A + (opr8)
A = A + (opr16)
A = A + (HX)
A = A + (opr8 + HX)
A = A + (opr16 + HX)
A = A + (opr8 + SP)
A = A + (opr16 + SP)
V H I
N Z C
AIS #opr8
BCLR n,opr8
BCS rel
BEQ rel
BGE rel
BGT rel
BHCC rel
Mn 0; (n = 0,1,..7)
M(opr8) can be any RAM or
I/O register address
If C = 1 then Branch Branch
= PC + 2 + rel
If Z = 1 then Branch Branch
= PC + 2 + rel
If (N V) = 0 then Branch
Branch = PC + 2 + rel
If (Z & (N V)) = 0 then
Branch
Branch = PC + 2 + rel
If H = 0 then Branch
Branch = PC + 2 + rel
Modo de
Direccionamiento
# Ciclos
Nemnico
Banderas
afectadas en
CCR
OperacinCdigo de
A9
B9
C9
F9
D9
E9
9EE9
9ED9
AB
BB
CB
FB
DB
EB
9EEB
9EDB
2
3
4
2
3
4
4
5
2
3
4
2
3
4
4
5
A7
AF
A4
B4
C4
F4
D4
E4
9EE4
9ED4
38
78
68
9E68
2
3
4
2
3
4
4
5
4
3
4
5
48
58
37
77
67
9E67
4
3
4
5
47
57
24
11,13,
15,17,
19,1B,
1D,1F
25
27
90
92
28
BHI rel
BHS rel
BIH rel
BIL rel
BIT #opr8
BIT opr8
BIT opr16
BIT ,X
BIT opr8,X
BIT opr16,X
BIT opr8,SP
BIT opr16,SP
BLE rel
BLO rel
BLS rel
BLT rel
BMC rel
BMI rel
BMS rel
BNE rel
BPL rel
BRA rel
BRCLR
n,opr8,rel
BRN rel
BRSET
n,opr8,rel
BSET n,opr8
BSR rel
Operacin
Bit Test
CBEQ
opr8,rel
CBEQ
opr8,SP,rel
CBEQA
Funcin
Banderas
afectadas en
CCR
V H I
CBEQ X+,rel
CBEQ
opr8,X+,rel
If H = 1 then Branch
Branch = PC + 2 + rel
N Z C
Modo de
Direccionamiento
29
# Ciclos
Nemnico
OperacinCdigo de
BHCS rel
22
24
2F
2E
A5
B5
C5
F5
E5
D5
9EE5
9ED5
2
3
4
2
3
4
4
5
93
25
23
91
2C
2B
2D
26
2A
20
01,03,05,
07,09,0B
0D,0F
21
00,02,04,
06,08,0A
0C,0E
10,12,
14,16,
18,1A,
1C,1E
AD
31
71
9E61
41
CLC
CLI
CLR opr8
CLR ,X
CLR opr8,X
CLR opr8,SP
CLRA
CLRX
CLRH
CMP #opr8
CMP opr8
CMP opr16
CMP ,X
CMP opr8,X
CMP opr16,X
CMP opr8,SP
CMP opr16,SP
COM opr8
COM ,X
COM opr8,X
COM opr8,SP
COMA
COMX
CPHX #opr16
CPHX opr16
CPX #opr8
CPX opr8
CPX opr16
CPX ,X
CPX opr8,X
CPX opr16,X
CPX opr8,SP
CPX opr16,SP
DAA
Operacin
Complemento a uno
(One's Complement)
Complemento a uno del Acumulador
(One's Complement Acc.)
Complemento a uno de X
(One's Complement X)
Comparar H:X con Memoria
(Compare Index Register with Memory)
DBNZ opr8,rel
DBNZ X,rel
DBNZ
opr8,X,rel
Decrementar y bifurcar
si 0
(Decrement and Branch if Not Zero)
DBNZX rel
DEC opr8
DEC ,X
DEC opr8,X
Funcin
Banderas
afectadas en
CCR
V H I
N Z C
C0
I0
Modo de
Direccionamiento
51
98
9A
(opr8) = 0
(HX) = 0
(opr8 + HX) = 0
(opr8 + SP) = 0
3F
7F
6F
9E6F
3
2
3
4
A= 0
4F
X= 0
5F
H= 0
A - opr8
A - (opr8)
A - (opr16)
A - (HX)
A - (opr8 + HX)
A - (opr16 + HX)
A - (opr8 + SP)
A - (opr16 + SP)
(opr8) = $FF - (opr8)
(HX) = $FF - (HX)
8C
A1
B1
C1
F1
E1
D1
9EE1
9ED1
33
73
63
9E63
2
3
4
2
3
4
4
5
4
3
4
5
A = $FF - A
43
X = $FF - X
53
65
75
A3
B3
C3
F3
E3
D3
9EE3
9ED3
3
4
2
3
4
2
3
4
4
5
72
(opr8+HX) = $FF-(opr8+HX)
(opr8+SP) = $FF-(opr8+SP)
HX - opr16
HX - (opr16)
X - opr8
X - (opr8)
X - (opr16)
X - (HX)
X - (opr8 + HX)
X - (opr16 + HX)
X - (opr8 + SP)
X - (opr16 + SP)
A10
(opr8) = (opr8) 1
If (opr8) 0 then Branch
Branch = PC + 3 + rel
3B
(HX) = (HX) 1
If (HX) 0 then Branch
Branch = PC + 3 + rel
7B
(opr8+HX) = (opr8+HX) 1
6B
9E6B
4B
5B
3A
7A
6A
4
3
4
Branch = PC + 4 + rel
DBNZ
opr8,SP,rel
DBNZA rel
Branch = PC + 3 + rel
If X - opr8 = 0 then Branch
Branch = PC + 3 + rel
# Ciclos
Nemnico
OperacinCdigo de
#opr8,rel
CBEQX
#opr8,rel
(opr8+SP) = (opr8+SP) - 1
If opr8 0 then Branch
Branch = PC + 4 + rel
A= A- 1
If A 0 then Branch
Branch = PC + 2 + rel
X=X1
If X 0 then Branch
Branch = PC + 2 + rel
(opr8) = (opr8) 1
(HX) = (HX) 1
(opr8+HX) = (opr8+HX) 1
DECX
Nemnico
DIV
EOR #opr8
EOR opr8
EOR opr16
EOR ,X
EOR opr8,X
EOR opr16,X
EOR opr8,SP
EOR opr16,SP
INC opr8
INC ,X
INC opr8,X
INC opr8,SP
INCA
INCX
JMP opr8
JMP opr16
JMP ,X
JMP opr8,X
JMP opr16,X
JSR opr8
JSR opr16
JSR ,X
JSR opr8,X
JSR opr16,X
LDA #opr8
LDA opr8
LDA opr16
LDA ,X
LDA opr8,X
LDA opr16,X
LDA opr8,SP
LDA opr16,SP
LDHX #opr16
LDHX opr16
LDX #opr8
LDX opr8
LDX opr16
LDX ,X
LDX opr8,X
LDX opr16,X
LDX opr8,SP
LDX opr16,SP
LSL opr8
LSL ,X
LSL opr8,X
LSL opr8,SP
LSLA
LSLX
LSR opr8
LSR ,X
LSR opr8,X
LSR opr8,SP
LSRA
LSRX
MOV
4A
X=X-1
5A
Divisin
(Divide)
A = H:A
H = Residuo
X
A = A opr8
A = A (opr8)
A = A (opr16)
A = A (HX)
A = A (opr8 + HX)
A = A (opr16 + HX)
A = A (opr8 + SP)
A = A (opr16 + SP)
(opr8) = (opr8)+ 1
(HX) = (HX) + 1
(opr8+HX) = (opr8+HX) + 1
(opr8+SP) = (opr8+SP)+ 1
Incrementar Acumulador
(Increment Accumulator)
Incrementar X
(Increment Index Register )
Salto Incondicional
(Jump to Address)
Salto a subrutina
(Jump to Subroutine)
Cargar el Acumulador
(Load Accumulator from Memory)
Cargar HX
(Load Index Register H:X from Memory)
Cargar X
(Load Index Register X from Memory)
Funcin
Incrementar
(Increment)
9E6A
A= A- 1
Operacin
Banderas
afectadas en
CCR
V H I
N Z C
Modo de
Direccionamiento
# Ciclos
DECA
(opr8+SP) = (opr8+SP) - 1
Decrementar Acumulador
(Decrement Accumulator)
Decrementar X
(Decrement Index Register)
OperacinCdigo de
DEC opr8,SP
52
A8
B8
C8
F8
E8
D8
9EE8
9ED8
2
3
4
2
3
4
4
5
3C
7C
6C
9E6C
4
3
4
5
A= A+ 1
4C
X=X+1
5C
BC
CC
FC
EC
DC
BD
CD
FD
ED
DD
A6
B6
C6
F6
E6
D6
9EE6
9ED6
45
55
AE
BE
CE
FE
EE
DE
9EEE
9EDE
2
3
2
3
4
4
5
4
5
6
2
3
4
2
3
4
4
5
3
4
2
3
4
2
3
4
4
5
38
78
68
9E68
4
3
4
5
PC = opr8
PC = opr16
PC = (HX)
PC = (HX + opr8)
PC = (HX + opr16)
PC = opr8
PC = opr16
PC = (HX)
PC = (HX + opr8)
PC = (HX + opr16)
A = opr8
A = (opr8)
A = (opr16)
A = (HX)
A = (opr8+ HX)
A = (opr16+ HX)
A = (opr8+ SP)
A = (opr16+ SP)
HX = opr16
HX = (opr16:opr16+1)
X = opr8
X = (opr8)
X = (opr16)
X = (HX)
X = (opr8 + HX)
X = (opr16 + HX)
X = (opr8 + SP)
X = (opr16 + SP)
C (opr8) 0
C (HX) 0
C (opr8 + HX) 0
C (opr8 + SP) 0
C A 0
48
CX0
58
0 (opr8) C
0 (HX) C
0 (opr8 + HX) C
0 (opr8 + SP) C
34
74
64
9E64
4
3
4
5
0 A C
44
0XC
54
(opr8_2) = opr8_1
6E
(IMD) immediate-direct
#opr8_1,opr8_2
MOV opr8,X+
Nemnico
MUL
NEG opr8
NEG ,X
NEG opr8,X
NEG opr8,SP
NEGA
NEGX
NOP
NSA
ORA #opr8
ORA opr8
ORA opr16
ORA ,X
ORA opr8,X
ORA opr16,X
ORA opr8,SP
ORA opr16,SP
PSHA
PSHH
PSHX
PULA
PULH
PULX
ROL opr8
ROL ,X
ROL opr8,X
ROL opr8,SP
ROLA
ROLX
Operacin
4E
(opr8) = (HX)
HX = HX + 1
7E
(HX) = (opr8)
HX = HX + 1
5E
Funcin
Banderas
afectadas en
CCR
V H I
X:A = A * X
N Z C
Modo de
Direccionamiento
# Ciclos
MOV X+,opr8
(opr8_2) = (opr8_1)
OperacinCdigo de
MOV
opr8_1,opr8_2
42
30
70
60
9E60
4
3
4
5
A = $00 - A
40
X = $00 - X
50
9D
62
AA
BA
CA
FA
EA
DA
9EEA
9EDA
1
3
2
3
4
2
3
4
4
5
87
8B
89
86
8A
88
39
79
69
9E69
4
3
4
5
Does nothing
A = A[3:0]:A[7:4]
A = A or opr8
A = A or (opr8)
A = A or (opr16)
A = A or (HX)
A = A or (opr8 + HX)
A = A or (opr16 + HX)
A = A or (opr8 + SP)
A = A or (opr16 + SP)
Push A to stack
SP = SP - 1
Push H to stack
SP = SP - 1
Push X to stack
SP = SP - 1
SP = SP + 1
Pull A
SP = SP + 1
Pull H
SP = SP + 1
Pull X
C (opr8) C
C (HX) C
C (opr8 + HX) C
C (opr8 + SP) C
C A C
49
CXC
59
36
76
66
9E66
4
3
4
5
ROR opr8
ROR ,X
ROR opr8,X
ROR opr8,SP
RORA
RORX
RSP
RTI
C (opr8) C
C (HX) C
C (opr8 + HX) C
C (opr8 + SP) C
C A C
46
CXC
56
9C
80
SP = $FF
SP = SP + 1
Pull CCR ;
SP = SP + 1
Pull A
SP = SP + 1
Pull X
SP = SP + 1
SBC #opr8
SBC opr8
SBC opr16
SBC ,X
SBC opr8,X
SBC opr16,X
SBC opr8,SP
SBC opr16,SP
SEC
SEI
STA opr8
STA opr16
STA ,X
STA opr8,X
STA opr16,X
STA opr8,SP
STA opr16,SP
STHX opr8
STOP
STX opr8
STX opr16
STX ,X
STX opr8,X
STX opr16,X
STX opr8,SP
STX opr16,SP
SUB #opr8
SUB opr8
SUB opr16
SUB ,X
SUB opr8,X
SUB opr16,X
SUB opr8,SP
SUB opr16,SP
SWI
TAP
TAX
TPA
TST opr8
TST ,X
TST opr8,X
TST opr8,SP
TSTA
TSTX
TSX
Operacin
Hacer 1 el Acarreo
(Set Carry Bit)
Hacer 1 el bit de mscara de Interrupcin
(Set Interrupt Mask Bit)
Almacenar HX en Memoria
(Store Index Register HX)
Enter STOP Mode, Enable ~IRQ Pin
Almacenar X en Memoria
(Store Index Register X in Memory)
Resta
(Subtract)
Funcin
A = A - C - opr8
A = A - C - (opr8)
A = A - C - (opr16)
A = A - C - (HX)
A = A - C - (opr8 + HX)
A = A - C - (opr16 + HX)
A = A - C - (opr8 + SP)
A = A - C - (opr16 + SP)
Banderas
afectadas en
CCR
V H I
N Z C
C1
I1
Modo de
Direccionamiento
81
# Ciclos
Nemnico
Retorno de Subrutina
(Return from Subroutine)
OperacinCdigo de
RTS
Pull PCH
SP = SP + 1
Pull PCL
SP = SP + 1
Pull PCH
SP = SP + 1
Pull PCL
A2
B2
C2
F2
E2
D2
9EE2
9ED2
2
3
4
2
3
4
4
5
99
9B
B7
C7
F7
E7
D7
9EE7
9ED7
2
3
2
3
4
4
5
(opr8) = A
(opr16) = A
(HX) = A
(opr8 + HX) = A
(opr16 + HX) = A
(opr8 + SP) = A
(opr16 + SP) = A
(opr8:opr8+1) = HX
35
8E
BF
CF
FF
EF
DF
9EE7
9ED7
A0
B0
C0
F0
E0
D0
9EE0
9ED0
3
4
2
3
4
4
5
2
3
4
2
3
4
4
5
83
84
97
85
3D
7D
6D
9E6D
4D
5D
2
1
1
3
2
3
4
1
1
95
I0
Stop Oscillator
(opr8) = X
(opr16) = X
(HX) = X
(opr8 + HX) = X
(opr16 + HX) = X
(opr8 + SP) = X
(opr16 + SP) = X
A = A - opr8
A = A - (opr8)
A = A - (opr16)
A = A - (HX)
A = A - (opr8 + HX)
A = A - (opr16 + HX)
A = A - (opr8 + SP)
A = A - (opr16 + SP)
PC = PC + 1
Push PCL
SP = SP - 1
Push PCH
SP = SP - 1
Push X
SP = SP - 1
Push A
SP= SP - 1
Push CCR
SP = SP - 1
I=0
PCH = ($FFFC)
PCL = ($FFFD)
CCR = A
X=A
A = CCR
(opr8) - $00
(HX) - $00
(opr8 + HX) - $00
(opr8 + SP) - $00
A - $00
X - $00
H:X = SPH:SPL
0
0
*
*
*
*
TXA
TXS
WAIT
A= X
9F
SPH:SPL = H:X
94
I=0