6809 Instruction Set
6809 Instruction Set
Addressing Mode
Immediate
Instruction
Mnemonic
Op
Direct
#
Indexed
Op ~ # Op
Description
Extended
Op
~ #
ABX
ADC
ADD
AND
ASL
CLR
~ #
H N Z V C
3 1 X = B+X (Unsigned)
89
2 99
4 2 A9
4+ 2+ B9
5 3
A = A+M+C
+ + + + +
+ + + + +
ADCB
C9
2 D9
4 2 E9
4+ 2+ F9
5 3
B = B+M+C
+ + + + +
ADDA
8B
2 9B
4 2 AB
4+ 2+ BB
5 3
A = A+M
+ + + + +
ADDB
CB
2 DB
4 2 EB
4+ 2+ FB
5 3
B = B+M
+ + + + +
ADDD
C3
3 D3
6 2 E3
6+ 2+ F3
7 3
D = D+M:M+1
+ + + +
ANDA
84
2 94
4 2 A4
4+ 2+ B4
5 3
A = A && M
+ + 0
ANDB
C4
2 D4
4 2 E4
4+ 2+ F4
5 3
B = B && M
+ + 0
ANDCC
1C
C = CC && IMM
ASLA
48
2 1
ASLB
58
2 1
08
6 2
68
6+ 2+
78
7 3
ASRA
47
2 1
ASRB
57
2 1
07
6 2
67
6+ 2+
77
7 3
? ? ? ? ?
Arithmetic
shift
left
8 + + + +
Arithmetic
shift
right
8 + +
8 + +
8 + +
8 + + + +
8 + + + +
BITA
85
2 95
4 2 A5
4+ 2+ B5
5 3
+ + 0
BITB
C5
2 D5
4 2 E5
4+ 2+ F5
5 3
+ + 0
CLRA
4F
2 1 A=0
0 1 0 0
CLRB
5F
2 1 B=0
0 1 0 0
0 1 0 0
CLR
CMP
5 3 2 1 0
ADCA
ASR
BIT
Op
3A
ASL
ASR
Inherent
CC bit
0F
6 2 6F
6+ 2+ 7F
7 3
M=0
CMPA
81
2 91
4 2 A1
4+ 2+ B1
5 3
Compare M from A
8 + + + +
CMPB
C1
2 D1
4 2 E1
4+ 2+ F1
5 3
Compare M from B
8 + + + +
4 10
93
7 3 10
A3
7+ 3+ 10
B3
8 4
CMPD
10
83
+ + + +
COM
CMPS
11 5
8C
4 11
9C
7 3 11
AC
7+ 3+ 11
BC
8 4
CMPU
11
83
4 11
93
7 3 11
A3
7+ 3+ 11
B3
8 4
CMPX
8C 4
3 9C
6 2 AC
6+ 2+ BC
7 3
CMPY
10 5
8C
4 10
9C
7 3 10
AC
7+ 3+ 10
BC
8 4
+ + + +
+ + + +
+ + + +
2 1 A = complement(A)
+ + 0 1
COMB
53
2 1 B = complement(B)
+ + 0 1
03
3C
=>
20
6 2
63
6+ 2+
73
7 3
M = complement(M)
+ + 0 1
CC = CC ^ IMM;
Wait for Interrupt
DAA
19
2 1 Decimal Adjust A
7
+ + 0 +
DECA
4A
2 1 A=A 1
+ + +
DECB
5A
2 1 B=B 1
+ + +
DEC
EOR
INC
43
CWAI
EXG
+ + + +
COMA
COM
DEC
0A 6 2 6A
6+ 2+
7A
7 3
M=M 1
+ + +
EORA
88
2 98
4 2 A8
4+ 2+ B8
5 3
A = A XOR M
+ + 0
EORB
C8
2 D8
4 2 E8
4+ 2+ F8
5 3
B = M XOR B
+ + 0
1E
R1,R2
exchange R1,R2
INCA
4C
2 1 A=A+ 1
+ + +
INCB
5C
2 1 B=B+1
+ + +
INC
0C 6 2 6C
6+ 2+
7C
7 3
M=M+1
JMP
0E
3+ 2+
7E
4 3
pc = EA
JSR
9D 7 2 AD 7+ 2+
BD
8 3
jump to subroutine
3 2
6E
+ + +
Mnemonic
Op
Direct
#
Indexed
Op ~ # Op
CC bit
Extended
Op
Inherent
~ # Op
Description
#
5 3 2 1 0
H N Z V C
LD
LEA
LSL
LDA
86
2 96
4 2 A6
4+ 2+ B6
5 3
A=M
+ + 0
LDB
C6
2 D6
4 2 E6
4+ 2+ F6
5 3
B=M
+ + 0
LDD
CC 3
3 DC
5 2 EC
5+ 2+ FC
6 3
D = M:M+1
+ + 0
LDS
10 4
CE
4 10
DE
6 3 10
EE
6+ 3+ 10
FE
7 4
S = M:M+1
+ + 0
LDU
CE 3
3 DE
5 2 EE
5+ 2+ FE
6 3
U = M:M+1
+ + 0
LDX
8E 3
3 9E
5 2 AE
5+ 2+ BE
6 3
X = M:M+1
+ + 0
LDY
10 4
8E
4 10
9E
6 3 10
AE
6+ 3+ 10
BE
7 4
Y = M:M+1
+ + 0
LEAS
32
4+ 2+
S = EA
LEAU
33
4+ 2+
U = EA
LEAX
30
4+ 2+
X = EA
LEAY
31
4+ 2+
Y = EA
LSLA
48
LSLB
58
LSL
LSR
08
6 2
68
6+ 2+
78
7 3
LSRA
44
LSRB
54
LSR
04
6 2
64
6+ 2+
74
7 3
MUL
NEG
Logical
shift
right
0 +
0 +
0 +
+
9
+ + + +
+ + + +
11
D = A*B (Unsigned)
NEGA
40
A = !A + 1
8 + + + +
NEGB
50
B = !B + 1
8 + + + +
M = !M + 1
8 + + + +
00
6 2
60
6+ 2+
70
7 3
NOP
PSH
+ + + +
3D
NEG
OR
Logical
shift
left
12
4 2 AA 4+ 2+ BA
No Operation
ORA
8A
2 9A
ORB
CA
2 DA 4 2 EA
ORCC
1A
C = CC || IMM
PSHS
34
5+
PSHU
36
5+
4+ 2+ FA
5 3
A = A || M
+ + 0
5 3
B = B || M
+ + 0
? ? ? ? ?
PUL
ROL
PULS
35
5+
PULU
37
5+
ROLA
49
ROLB
59
ROL
ROR
09
6 2
69
6+ 2+
79
RORB
56
6 2
66
6+ 2+
76
3B
RTS
39
SUB
SWI
6/15 1
5
0 +
0 +
0 +
? ? ? ? ?
SBCA
82
2 92
4 2 A2
4+ 2+ B2
5 3
A= A- M - C
8 + + + +
SBCB
C2
2 D2
4 2 E2
4+ 2+ F2
5 3
B=B-M-C
8 + + + +
+ + 0
SEX
ST
7 3
RTI
SBC
+ + + +
+ + + +
46
06
7 3
RORA
ROR
+ + + +
1D
STA
97
4 2 A7
4+ 2+ B7
5 3
M=A
+ + 0
STB
D7
4 2 E7
4+ 2+ F7
5 3
M=B
+ + 0
STD
DD 5 2 ED
5+ 2+ FD
6 3
M:M+1 = D
+ + 0
STS
10
DF
6 3 10
EF
6+ 3+ 10
FF
7 4
M:M+1 = S
+ + 0
STU
DF
5 2 EF
5+ 2+ FF
6 3
M:M+1 = U
+ + 0
STX
9F
5 2 AF
5+ 2+ BF
6 3
M:M+1 = X
+ + 0
STY
10
9F
6 3 10
AF
6+ 3+ 10
BF
7 4
M:M+1 = Y
+ + 0
SUBA
80
2 90
4 2 A0
4+ 2+ B0
5 3
A= A- M
8 + + + +
SUBB
C0
2 D0
4 2 E0
4+ 2+ F0
5 3
B=B-M
8 + + + +
SUBD
83
3 93
6 2 A3
6+ 2+ B3
7 3
D = D - M:M+1
SWI
3F
19
SWI2
10
3F
20
SWI3
11
3F
20
Software interrupt 1
Software interrupt 2
Software interrupt 3
+ + + +
SYNC
TFR
13
R1,R2
TST
1F
>=
4
Synchronize to Interrupt
R2 = R1
TSTA
4D
Test A
+ + 0
TSTB
5D
Test B
+ + 0
Test M
+ + 0
TST
0D 6 2 6D
6+ 2+
7D
7 3
:
Legend:
! Complement of M
OP Operation Code(Hexadecimal)
= Transfer from
- Not Affected
: Concatenation
+ Arithmetic Plus
Z Zero (Reset)
|| Logical or
* Multiply
EA Effective Address:w
Arithmetic Minus
Notes:
1. This column gives a base cycle and byte count. To obtain total count, add the values obtained from the INDEXED ADDRESSING MODE
table, in Appendix F.
2. Rl and R2 may be any pair of 8 bit or any pair of 16 bit registers.
The 8 bit registers are: A, B, CC, DP
The 16 bit registers are: X, Y, U, S, D, PC
3. EA is the effective address.
4. The PSH and PUL instructions require 5 cycles plus 1 cycle for each byte pushed or pulled.
5. 5(6) means: 5 cycles if branch not taken, 6 cycles if taken (Branch instructions.
6. SWI sets I and F bits. SW12 and SW13 do not affect I and F.
7. Conditions Codes set as a direct result of the instruction.
8. Value of half carry flag is undefined.
9. Special Case Carry set if b7 is SET.
Instruction
Forms
Mode
Relstive
OP
5 3 2 1 O
H N Z V C
Decription
BCC
BCC
LBCC
24 3 /
10 5l6)
24
2 Branch C=O
4 Long Branch
C=O
BCS
BCS
LBCS
25 3
10 56)
25
2 Branch C= 1
4 Long Branch
C=l
BEQ
BEQ
LBEQ
27 3
10 5(6)
27
2 Branch Z=O
4 Long Branch
Z=O
BGE
BGE
LBGE
2C 3
10 5(6)
2C
2 Branch2Zero
4 Long Branch2Zero
BGT
BGT
LBGT
2E 3
10 5(6)
2E
BHI
BHI
LBHI
22 3
10 5(6)
22
2 Branch rligher
4 Long Branch Higher
BHS
BHS
24 3
LBHS
10 516)
24
2 Branch Higher
or Same
4 Long Branch Higher
or Same
BLE
BLE
LBLE
2F 3
10 5(6)
2F
2 BranchsZero
4 Long BranchsZero
BLO
BLO
LBLO
25 3
10 56)
25
2 Branch lower
4 Long Branch Lower
Addressin
T
Mode
Rela
5 3 2 1 ,0
Instruction Forms OP
#
Description H N Z V C
BLS
BLS
23 3
2 Branch Lower
or Same
4 Long Branch Lower
or Same
LBLS
10 5(6)
23
BLT
BLT
LBLT
2D 3
10 5i6)
2D
2 Branch<Zero
4 Long Branch<Zero
BMI
BMI
LBMI
2B 3
10 5(6)
2B
2 Branch Minus
4 Long Branch Minus
BNE
BNE
LBNE
26 3
10 5(6)
26
2 Branch ZtO
4 Long Branch
Z0
BPL
BPL
LBPL
2A "
10 5i6)
2A
Branch Plus
4 Long Branch Plus
BRA
BRA
LBRA
20
16
3
5
2 Branch Alwavs
3 Long Branch Always
BRN
BRN
LBRN
21
10
21
3
5
2 Branch Never
4 Long Branch Never
BSR
BSR
LBSR
8D
17
7
9
2 Branch to Subroutine
3 Long Branch to
Subroutine
BVC
BVC
28 3
2 Banch V=0
LBVC 10 5(61 4 Long Branch
28
V=0
BVS
BVS
LBVS
29 3
10 5(6)
29
2 Branch V= 1
4 Long Branch
V=l