iobium

6809 Instruction Set

Instruction

Mnemonic

Addressing Mode

Description

CC bit

Immediate

Direct

Indexed

Extended

Inherent

5

3

2

1

0

Op

~

#

Op

~

#

Op

~

#

Op

~

#

Op

~

#

H

N

Z

V

C

ABX

3A

3

1

X = B+X (Unsigned)

ADC

ADCA

89

2

2

99

4

2

A9

4+

2+

B9

5

3

A = A+M+C

+ +

+ +

+ +

+ +

+ +

ADCB

C9

2

2

D9

4

2

E9

4+

2+

F9

5

3

B = B+M+C

+

+

+

+

+

ADD

ADDA

8B

2

2

9B

4

2

AB

4+

2+

BB

5

3

A = A+M

+

+

+

+

+

ADDB

CB

2

2

DB

4

2

EB

4+

2+

FB

5

3

B = B+M

+

+

+

+

+

ADDD

C3

4

3

D3

6

2

E3

6+

2+

F3

7

3

D = D+M:M+1

+

+

+

+

AND

ANDA

84

2

2

94

4

2

A4

4+

2+

B4

5

3

A = A && M

+

+

0

ANDB

C4

2

2

D4

4

2

E4

4+

2+

F4

5

3

B = B && M

+

+

0

ANDCC

1C

3

2

C = CC && IMM

?

?

?

?

?

ASL

ASLA

48

2

1

Arithmetic shift left

8

+

+

+

+

ASLB

58

2

1

8

+

+

+

+

ASL

08

6

2

68

6+

2+

78

7

3

8

+

+

+

+

ASR

ASRA

47

2

1

Arithmetic shift right

8

+

+

+

ASRB

57

2

1

8

+

+

+

ASR

07

6

2

67

6+

2+

77

7

3

8

+

+

+

BIT

BITA

85

2

2

95

4

2

A5

4+

2+

B5

5

3

Bit Test A (M&&A)

+

+

0

BITB

C5

2

2

D5

4

2

E5

4+

2+

F5

5

3

Bit Test B (M&&B)

+

+

0

CLR

CLRA

4F

2

1

A = 0

0

1

0

0

CLRB

5F

2

1

B = 0

0

1

0

0

CLR

0F

6

2

6F

6+

2+

7F

7

3

M = 0

0

1

0

0

CMP

CMPA

81

2

2

91

4

2

A1

4+

2+

B1

5

3

Compare M from A

8

+

+

+

+

CMPB

C1

2

2

D1

4

2

E1

4+

2+

F1

5

3

Compare M from B

8

+

+

+

+

CMPD

10 83

5

4

10 93

7

3

10 A3

7+

3+

10 B3

8

4

Compare M:M+1 from D

+

+

+

+

CMPS

11 8C

5

4

11 9C

7

3

11 AC

7+

3+

11 BC

8

4

Compare M:M+1 from S

+

+

+

+

CMPU

11 83

5

4

11 93

7

3

11 A3

7+

3+

11 B3

8

4

Compare M:M+1 from U

+

+

+

+

CMPX

8C

4

3

9C

6

2

AC

6+

2+

BC

7

3

Compare M:M+1 from X

+

+

+

+

CMPY

10 8C

5

4

10 9C

7

3

10 AC

7+

3+

10 BC

8

4

Compare M:M+1 from Y

+

+

+

+

COM

COMA

43

2

1

A = complement(A)

+

+

0

1

COMB

53

2

1

B = complement(B)

+

+

0

1

COM

03

6

2

63

6+

2+

73

7

3

M = complement(M)

+

+

0

1

CWAI

3C

=> 20

2

CC = CC ^ IMM; Wait for Interrupt

7

DAA

19

2

1

Decimal Adjust A

+

+

0

+

DEC

DECA

4A

2

1

A = A 1

+

+

+

DECB

5A

2

1

B = B 1

+

+

+

DEC

0A

6

2

6A

6+

2+

7A

7

3

M = M 1

+

+

+

EOR

EORA

88

2

2

98

4

2

A8

4+

2+

B8

5

3

A = A XOR M

+

+

0

EORB

C8

2

2

D8

4

2

E8

4+

2+

F8

5

3

B = M XOR B

+

+

0

EXG

R1,R2

1E

8

2

exchange R1,R2

INC

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

6E

3+

2+

7E

4

3

pc = EA

JSR

9D

7

2

AD

7+

2+

BD

8

3

jump to subroutine


6809 Instruction Set

Instruction

Mnemonic

Addressing Mode

Description

CC bit

Immediate

Direct

Indexed

Extended

Inherent

5

3

2

1

0

Op

~

#

Op

~

#

Op

~

#

Op

~

#

Op

~

#

H

N

Z

V

C

LD

LDA

86

2

2

96

4

2

A6

4+

2+

B6

5

3

A = M

+

+

0

LDB

C6

2

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 CE

4

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 8E

4

4

10 9E

6

3

10 AE

6+

3+

10 BE

7

4

Y = M:M+1

+

+

0

LEA

LEAS

32

4+

2+

S = EA

LEAU

33

4+

2+

U = EA

LEAX

30

4+

2+

X = EA

+

LEAY

31

4+

2+

Y = EA

+

LSL

LSLA

48

2

1

Logical shift left

+

+

+

+

LSLB

58

2

1

+

+

+

+

LSL

08

6

2

68

6+

2+

78

7

3

+

+

+

+

LSR

LSRA

44

2

1

Logical shift right

0

+

+

LSRB

54

2

1

0

+

+

LSR

04

6

2

64

6+

2+

74

7

3

0

+

+

MUL

3D

11

1

D = A*B (Unsigned)

+

9

NEG

NEGA

40

2

1

A = !A + 1

8

+

+

+

+

NEGB

50

2

1

B = !B + 1

8

+

+

+

+

NEG

00

6

2

60

6+

2+

70

7

3

M = !M + 1

8

+

+

+

+

NOP

12

2

1

No Operation

OR

ORA

8A

2

2

9A

4

2

AA

4+

2+

BA

5

3

A = A || M

+

+

0

ORB

CA

2

2

DA

4

2

EA

4+

2+

FA

5

3

B = B || M

+

+

0

ORCC

1A

3

2

C = CC || IMM

?

?

?

?

?

PSH

PSHS

34

5+

2

Push Registers on S Stack

PSHU

36

5+

2

Push Registers on U Stack

PUL

PULS

35

5+

2

Pull Registers from S Stack

PULU

37

5+

2

Pull Registers from U Stack

ROL

ROLA

49

2

1

Rotate left thru carry

+

+

+

+

ROLB

59

2

1

+

+

+

+

ROL

09

6

2

69

6+

2+

79

7

3

+

+

+

+

ROR

RORA

46

2

1

Rotate Right thru carry

0

+

+

RORB

56

2

1

0

+

+

ROR

06

6

2

66

6+

2+

76

7

3

0

+

+

RTI

3B

6/15

1

Return from Interrupt

?

?

?

?

?

RTS

39

5

1

Return from subroutine

SBC

SBCA

82

2

2

92

4

2

A2

4+

2+

B2

5

3

A = A - M - C

8

+

+

+

+

SBCB

C2

2

2

D2

4

2

E2

4+

2+

F2

5

3

B = B - M - C

8

+

+

+

+

SEX

1D

2

1

Sign extend B into A

+

+

0

ST

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

SUB

SUBA

80

2

2

90

4

2

A0

4+

2+

B0

5

3

A = A - M

8

+

+

+

+

SUBB

C0

2

2

D0

4

2

E0

4+

2+

F0

5

3

B = B - M

8

+

+

+

+

SUBD

83

4

3

93

6

2

A3

6+

2+

B3

7

3

D = D - M:M+1

+

+

+

+

SWI

SWI

3F

19

1

Software interrupt 1

SWI2

10 3F

20

2

Software interrupt 2

SWI3

11 3F

20

2

Software interrupt 3

SYNC

13

>= 4

1

Synchronize to Interrupt

TFR

R1,R2

1F

6

2

R2 = R1

TST

TSTA

4D

2

1

Test A

+

+

0

TSTB

5D

2

1

Test B

+

+

0

TST

0D

6

2

6D

6+

2+

7D

7

3

Test M

+

+

0


Legend:
! Complement of M+ Test and set if true, cleared otherwiseOP Operation Code(Hexadecimal)
= Transfer from- Not Affected~ Number of MPU Cycles
H Half carry (from bit 3)CC Condition Code Register# Number of Program Bytes
N Negative (sign bit): Concatenation+ Arithmetic Plus
Z Zero (Reset)|| Logical orArithmetic Minus
V Overflow, 2's complement&& Logical and* Multiply
C Carry from ALUEOR Logical Exclusive orEA Effective Address:w

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.


                       Mode
                      Relstive                        5 3 2 1 O
Instruction   Forms  OP          Decription         H N Z V C

BCC          BCC     24 3 /     2 Branch C=O
             LBCC    10 5l6)    4 Long Branch
                     24            C=O

BCS          BCS     25 3       2 Branch C= 1
             LBCS    10 56)    4 Long Branch
                     25            C=l

BEQ          BEQ     27 3       2 Branch Z=O
             LBEQ    10 5(6)    4 Long Branch
                     27            Z=O

BGE          BGE     2C 3       2 Branch2Zero
             LBGE    10 5(6)    4 Long Branch2Zero
                     2C

BGT          BGT     2E 3       2 Branch > Zero
             LBGT    10 5(6)    4 Long Branch>Zero
                     2E

BHI          BHI     22 3       2 Branch rligher
             LBHI    10 5(6)    4 Long Branch Higher
                     22

BHS          BHS     24 3       2 Branch Higher
                                   or Same
             LBHS    10 516)    4 Long Branch Higher
                     24            or Same

BLE          BLE     2F 3       2 BranchsZero
             LBLE    10 5(6)    4 Long BranchsZero
                     2F

BLO          BLO     25 3       2 Branch lower
             LBLO    10 56)    4 Long Branch Lower
                     25



    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
        LBLS  10 5(6)  4 Long Branch Lower
              23          or Same

BLT     BLT   2D 3     2 Branch<Zero
        LBLT  10 5i6)  4 Long Branch<Zero
              2D

BMI     BMI   2B 3     2 Branch Minus
        LBMI  10 5(6)  4 Long Branch Minus
              2B

BNE     BNE   26 3     2 Branch ZtO
        LBNE  10 5(6)  4 Long Branch
              26          Z0

BPL     BPL   2A "      Branch Plus
        LBPL  10 5i6)  4 Long Branch Plus
              2A

BRA     BRA   20  3    2 Branch Alwavs
        LBRA  16  5    3 Long Branch Always

BRN     BRN   21  3    2 Branch Never
        LBRN  10  5    4 Long Branch Never
              21

BSR     BSR   8D  7    2 Branch to Subroutine
        LBSR  17  9    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   29 3     2 Branch V= 1
        LBVS  10 5(6)  4 Long Branch
              29          V=l