68HC11 Instruction Set

Modified and corrected from Tom Dickens. Please notify me of any errors!

Mnemonic

Operation

Addressing 
Mode

Instruction

Bytes

Cycles

Condition Codes

Prebyte

Opcode

Operand

Condition codes

ABA

Add Accumulators

INH

—

1B

—

1

2

Condition codes

ABX

Add B to X

INH

—

3A

—

1

3

Condition codes

ABY

Add B to Y

INH

18

3A

—

2

4

Condition codes

ADCA

Add with Carry to A

IMM

—

89

ii

2

2

Condition codes

DIR

—

99

dd

2

3

EXT

—

B9

hh ll

3

4

IND, X

—

A9

ff

2

4

IND, Y

18

A9

ff

3

5

ADCB

Add with Carry to B

IMM

—

C9

ii

2

2

Condition codes

DIR

—

D9

dd

2

3

EXT

—

F9

hh ll

3

4

IND, X

—

E9

ff

2

4

IND, Y

18

E9

ff

3

5

ADDA

Add Memory to A

IMM

—

8B

ii

2

2

Condition codes

DIR

—

9B

dd

2

3

EXT

—

BB

hh ll

3

4

IND, X

—

AB

ff

2

4

IND, Y

18

AB

ff

3

5

ADDB

Add Memory to B

IMM

—

CB

ii

2

2

Condition codes

DIR

—

DB

dd

2

3

EXT

—

FB

hh ll

3

4

IND, X

—

EB

ff

2

4

IND, Y

18

EB

ff

3

5

ADDD

Add 16-Bit to D

IMM

—

C3

jj kk

3

4

Condition codes

DIR

—

D3

dd

2

5

EXT

—

F3

hh ll

3

6

IND, X

—

E3

ff

2

6

IND, Y

18

E3

ff

3

7

ANDA

AND A with Memory

IMM

—

84

ii

2

2

Condition codes

DIR

—

94

dd

2

3

EXT

—

B4

hh ll

3

4

IND, X

—

A4

ff

2

4

IND, Y

18

A4

ff

3

5

ANDB

AND B with Memory

IMM

—

C4

ii

2

2

Condition codes

DIR

—

D4

dd

2

3

EXT

—

F4

hh ll

3

4

IND, X

—

E4

ff

2

4

IND, Y

18

E4

ff

3

5

ASL

Arithmetic Shift Left

EXT

—

78

hh ll

3

6

Condition codes

IND, X

—

68

ff

2

6

IND, Y

18

68

ff

3

7

ASLA

Arithmetic Shift Left A

INH

—

48

—

1

2

Condition codes

ASLB

Arithmetic Shift Left B

INH

—

58

—

1

2

Condition codes

ASLD

Arithmetic Shift Left D

INH

—

05

—

1

3

Condition codes

ASR

Arithmetic Shift Right

EXT

—

77

hh ll

3

6

Condition codes

IND, X

—

67

ff

2

6

IND, Y

18

67

ff

3

7

ASRA

Arithmetic Shift Right A

INH

—

47

—

1

2

Condition codes

ASRB

Arithmetic Shift Right B

INH

—

57

—

1

2

Condition codes

BCC

Branch if Carry Clear

REL

—

24

rr

2

3

Condition codes

BCLR

Clear Bit(s)

DIR

—

15

dd mm

3

6

Condition codes

IND, X

—

1D

ff mm

3

7

IND, Y

18

1D

ff mm

4

8

BCS

Branch if Carry Set

REL

—

25

rr

2

3

Condition codes

BEQ

Branch if = Zero

REL

—

27

rr

2

3

Condition codes

BGE

Branch if ≥ Zero

REL

—

2C

rr

2

3

Condition codes

BGT

Branch if > Zero

REL

—

2E

rr

2

3

Condition codes

BHI

Branch if Higher

REL

—

22

rr

2

3

Condition codes

BHS

Branch if Higher or Same

REL

—

24

rr

2

3

Condition codes

BITA

Bit(s) Test A with Memory

IMM

—

85

ii

2

2

Condition codes

DIR

—

95

dd

2

3

EXT

—

B5

hh ll

3

4

IND, X

—

A5

ff

2

4

IND, Y

18

A5

ff

3

5

BITB

Bit(s) Test B with Memory

IMM

—

C5

ii

2

2

Condition codes

DIR

—

D5

dd

2

3

EXT

—

F5

hh ll

3

4

IND, X

—

E5

ff

2

4

IND, Y

18

E5

ff

3

5

BLE

Branch if ≤ Zero

REL

—

2F

rr

2

3

Condition codes

BLO

Branch if Lower

REL

—

25

rr

2

3

Condition codes

BLS

Branch if Lower or Same

REL

—

23

rr

2

3

Condition codes

BLT

Branch if < Zero

REL

—

2D

rr

2

3

Condition codes

BMI

Branch if Minus

REL

—

2B

rr

2

3

Condition codes

BNE

Branch if Not = Zero

REL

—

26

rr

2

3

Condition codes

BPL

Branch if Plus

REL

—

2A

rr

2

3

Condition codes

BRA

Branch Always

REL

—

20

rr

2

3

Condition codes

BRCLR

Branch if Bit(s) Clear

DIR

—

13

dd mm rr

4

6

Condition codes

IND, X

—

1F

ff mm rr

4

7

IND, Y

18

1F

ff mm rr

5

8

BRN

Branch Never

REL

—

21

rr

2

3

Condition codes

BRSET

Branch if Bit(s) Set

DIR

—

12

dd mm rr

4

6

Condition codes

IND, X

—

1E

ff mm rr

4

7

IND, Y

18

1E

ff mm rr

5

8

BSET

Set Bit(s)

DIR

—

14

dd mm

3

6

Condition codes

IND, X

—

1C

ff mm

3

7

IND, Y

18

1C

ff mm

4

8

BSR

Branch to Subroutine

REL

—

8D

rr

2

6

Condition codes

BVC

Branch if Overflow Clear

REL

—

28

rr

2

3

Condition codes

BVS

Branch if Overflow Set

REL

—

29

rr

2

3

Condition codes

Mnemonic

Operation

Addressing 
Mode

Instruction

Bytes

Cycles

Condition Codes

Prebyte

Opcode

Operand

Condition codes

CBA

Compare A to B

INH

—

11

—

1

2

Condition codes

CLC

Clear Carry Bit

INH

—

0C

—

1

2

Condition codes

CLI

Clear Interrupt Mask

INH

—

0E

—

1

2

Condition codes

CLR

Clear Memory Byte

EXT

—

7F

hh ll

3

6

Condition codes

IND, X

—

6F

ff

2

6

IND, Y

18

6F

ff

3

7

CLRA

Clear Accumulator A

INH

—

4F

—

1

2

Condition codes

CLRB

Clear Accumulator B

INH

—

5F

—

1

2

Condition codes

CLV

Clear Overflow Flag

INH

—

0A

—

1

2

Condition codes

CMPA

Compare A to Memory

IMM

—

81

ii

2

2

Condition codes

DIR

—

91

dd

2

3

EXT

—

B1

hh ll

3

4

IND, X

—

A1

ff

2

4

IND, Y

18

A1

ff

3

5

CMPB

Compare B to Memory

IMM

—

C1

ii

2

2

Condition codes

DIR

—

D1

dd

2

3

EXT

—

F1

hh ll

3

4

IND, X

—

E1

ff

2

4

IND, Y

18

E1

ff

3

5

COM

1's Complement Memory Byte

EXT

—

73

hh ll

3

6

Condition codes

IND, X

—

63

ff

2

6

IND, Y

18

63

ff

3

7

COMA

1's Complement A

INH

—

43

—

1

2

Condition codes

COMB

1's Complement B

INH

—

53

—

1

2

Condition codes

CPD

Compare D to Memory 16-Bit

IMM

1A

83

jj kk

4

5

Condition codes

DIR

1A

93

dd

3

6

EXT

1A

B3

hh ll

4

7

IND, X

1A

A3

ff

3

7

IND, Y

CD

A3

ff

3

7

CPX

Compare X to Memory 16-Bit

IMM

—

8C

jj kk

3

4

Condition codes

DIR

—

9C

dd

2

5

EXT

—

BC

hh ll

3

6

IND, X

—

AC

ff

2

6

IND, Y

CD

AC

ff

3

7

CPY

Compare Y to Memory 16-Bit

IMM

18

8C

jj kk

4

5

Condition codes

DIR

18

9C

dd

3

6

EXT

18

BC

hh ll

4

7

IND, X

1A

AC

ff

3

7

IND, Y

18

AC

ff

3

7

DAA

Decimal Adjust A

INH

—

19

—

1

2

Condition codes

DEC

Decrement Memory Byte

EXT

—

7A

hh ll

3

6

Condition codes

IND, X

—

6A

ff

2

6

IND, Y

18

6A

ff

3

7

DECA

Decrement Accumulator A

INH

—

4A

—

1

2

Condition codes

DECB

Decrement Accumulator B

INH

—

5A

—

1

2

Condition codes

DES

Decrement Stack Pointer

INH

—

34

—

1

3

Condition codes

DEX

Decrement Index Register X

INH

—

09

—

1

3

Condition codes

DEY

Decrement Index Register Y

INH

18

09

—

2

4

Condition codes

EORA

Exclusive OR A with Memory

IMM

—

88

ii

2

2

Condition codes

DIR

—

98

dd

2

3

EXT

—

B8

hh ll

3

4

IND, X

—

A8

ff

2

4

IND, Y

18

A8

ff

3

5

EORB

Exclusive OR B with Memory

IMM

—

C8

ii

2

2

Condition codes

DIR

—

D8

dd

2

3

EXT

—

F8

hh ll

3

4

IND, X

—

E8

ff

2

4

IND, Y

18

E8

ff

3

5

FDIV

Fractional Divide 16 by 16

INH

—

03

—

1

41

Condition codes

IDIV

Integer Divide 16 by 16

INH

—

02

—

1

41

Condition codes

INC

Increment Memory Byte

EXT

—

7C

hh ll

3

6

Condition codes

IND, X

—

6C

ff

2

6

IND, Y

18

6C

ff

3

7

INCA

Increment Accumulator A

INH

—

4C

—

1

2

Condition codes

INCB

Increment Accumulator B

INH

—

5C

—

1

2

Condition codes

INS

Increment Stack Pointer

INH

—

31

—

1

3

Condition codes

INX

Increment Index Register X

INH

—

08

—

1

3

Condition codes

INY

Increment Index Register Y

INH

18

08

—

2

4

Condition codes

JMP

Jump

EXT

—

7E

hh ll

3

3

Condition codes

IND, X

—

6E

ff

2

3

IND, Y

18

6E

ff

3

4

JSR

Jump to Subroutine

DIR

—

9D

dd

2

5

Condition codes

EXT

—

BD

hh ll

3

6

IND, X

—

AD

ff

2

6

IND, Y

18

AD

ff

3

7

Mnemonic

Operation

Addressing 
Mode

Instruction

Bytes

Cycles

Condition Codes

Prebyte

Opcode

Operand

Condition codes

LDAA

Load Accumulator A

IMM

—

86

ii

2

2

Condition codes

DIR

—

96

dd

2

3

EXT

—

B6

hh ll

3

4

IND, X

—

A6

ff

2

4

IND, Y

18

A6

ff

3

5

LDAB

Load Accumulator B

IMM

—

C6

ii

2

2

Condition codes

DIR

—

D6

dd

2

3

EXT

—

F6

hh ll

3

4

IND, X

—

E6

ff

2

4

IND, Y

18

E6

ff

3

5

LDD

Load Double Accumulator D

IMM

—

CC

jj kk

3

3

Condition codes

DIR

—

DC

dd

2

4

EXT

—

FC

hh ll

3

5

IND, X

—

EC

ff

2

5

IND, Y

18

EC

ff

3

6

LDS

Load Stack Pointer

IMM

—

8E

jj kk

3

3

Condition codes

DIR

—

9E

dd

2

4

EXT

—

BE

hh ll

3

5

IND, X

—

AE

ff

2

5

IND, Y

18

AE

ff

3

6

LDX

Load Index Register X

IMM

—

CE

jj kk

3

3

Condition codes

DIR

—

DE

dd

2

4

EXT

—

FE

hh ll

3

5

IND, X

—

EE

ff

2

5

IND, Y

CD

EE

ff

3

6

LDY

Load Index Register Y

IMM

18

CE

jj kk

4

4

Condition codes

DIR

18

DE

dd

3

5

EXT

18

FE

hh ll

4

6

IND, X

1A

EE

ff

3

6

IND, Y

18

EE

ff

3

6

LSL

Logical Shift Left

EXT

—

78

hh ll

3

6

Condition codes

IND, X

—

68

ff

2

6

IND, Y

18

68

ff

3

7

LSLA

Logical Shift Left A

INH

—

48

—

1

2

Condition codes

LSLB

Logical Shift Left B

INH

—

58

—

1

2

Condition codes

LSLD

Logical Shift Left Double

INH

—

05

—

1

3

Condition codes

LSR

Logical Shift Right

EXT

—

74

hh ll

3

6

Condition codes

IND, X

—

64

ff

2

6

IND, Y

18

64

ff

3

7

LSRA

Logical Shift Right A

INH

—

44

—

1

2

Condition codes

LSRB

Logical Shift Right B

INH

—

54

—

1

2

Condition codes

LSRD

Logical Shift Right Double

INH

—

04

—

1

3

Condition codes

MUL

Multiply 8 by 8

INH

—

3D

—

1

10

Condition codes

NEG

2's Complement Memory Byte

EXT

—

70

hh ll

3

6

Condition codes

IND, X

—

60

ff

2

6

IND, Y

18

60

ff

3

7

NEGA

2's Complement A

INH

—

40

—

1

2

Condition codes

NEGB

2's Complement B

INH

—

50

—

1

2

Condition codes

NOP

No Operation

INH

—

01

—

1

2

Condition codes

ORAA

OR Accumulator A (Inclusive)

IMM

—

8A

ii

2

2

Condition codes

DIR

—

9A

dd

2

3

EXT

—

BA

hh ll

3

4

IND, X

—

AA

ff

2

4

IND, Y

18

AA

ff

3

5

ORAB

OR Accumulator B (Inclusive)

IMM

—

CA

ii

2

2

Condition codes

DIR

—

DA

dd

2

3

EXT

—

FA

hh ll

3

4

IND, X

—

EA

ff

2

4

IND, Y

18

EA

ff

3

5

PSHA

Push A onto Stack

INH

—

36

—

1

3

Condition codes

PSHB

Push B onto Stack

INH

—

37

—

1

3

Condition codes

PSHX

Push X onto Stack

INH

—

3C

—

1

4

Condition codes

PSHY

Push Y onto Stack

INH

18

3C

—

2

5

Condition codes

PULA

Pull A from Stack

INH

—

32

—

1

4

Condition codes

PULB

Pull B from Stack

INH

—

33

—

1

4

Condition codes

PULX

Pull X from Stack

INH

—

38

—

1

5

Condition codes

PULY

Pull Y from Stack

INH

18

38

—

2

6

Condition codes

ROL

Rotate Left

EXT

—

79

hh ll

3

6

Condition codes

IND, X

—

69

ff

2

6

IND, Y

18

69

ff

3

7

ROLA

Rotate Left A

INH

—

49

—

1

2

Condition codes

ROLB

Rotate Left B

INH

—

59

—

1

2

Condition codes

ROR

Rotate Right

EXT

—

76

hh ll

3

6

Condition codes

IND, X

—

66

ff

2

6

IND, Y

18

66

ff

3

7

RORA

Rotate Right A

INH

—

46

—

1

2

Condition codes

RORB

Rotate Right B

INH

—

56

—

1

2

Condition codes

RTI

Return from Interrupt

INH

—

3B

—

1

12

Condition codes

RTS

Return from Subroutine

INH

—

39

—

1

5

Condition codes

Mnemonic

Operation

Addressing 
Mode

Instruction

Bytes

Cycles

Condition Codes

Prebyte

Opcode

Operand

Condition codes

SBA

Subtract B from A

INH

—

10

—

1

2

Condition codes

SBCA

Subtract with Carry from A

IMM

—

82

ii

2

2

Condition codes

DIR

—

92

dd

2

3

EXT

—

B2

hh ll

3

4

IND, X

—

A2

ff

2

4

IND, Y

18

A2

ff

3

5

SBCB

Subtract with Carry from B

IMM

—

C2

ii

2

2

Condition codes

DIR

—

D2

dd

2

3

EXT

—

F2

hh ll

3

4

IND, X

—

E2

ff

2

4

IND, Y

18

E2

ff

3

5

SEC

Set Carry

INH

—

0D

—

1

2

Condition codes

SEI

Set Interrupt Mask

INH

—

0F

—

1

2

Condition codes

SEV

Set Overflow Flag

INH

—

0B

—

1

2

Condition codes

STAA

Store Accumulator A

DIR

—

97

dd

2

3

Condition codes

EXT

—

B7

hh ll

3

4

IND, X

—

A7

ff

2

4

IND, Y

18

A7

ff

3

5

STAB

Store Accumulator B

DIR

—

D7

dd

2

3

Condition codes

EXT

—

F7

hh ll

3

4

IND, X

—

E7

ff

2

4

IND, Y

18

E7

ff

3

5

STD

Store Accumulator D

DIR

—

DD

dd

2

4

Condition codes

EXT

—

FD

hh ll

3

5

IND, X

—

ED

ff

2

5

IND, Y

18

ED

ff

3

6

STOP

Stop Internal Clocks

INH

—

CF

—

1

2

Condition codes

STS

Store Stack Pointer

DIR

—

9F

dd

2

4

Condition codes

EXT

—

BF

hh ll

3

5

IND, X

—

AF

ff

2

5

IND, Y

18

AF

ff

3

6

STX

Store Index Register X

DIR

—

DF

dd

2

4

Condition codes

EXT

—

FF

hh ll

3

5

IND, X

—

EF

ff

2

5

IND, Y

CD

EF

ff

3

6

STY

Store Index Register Y

DIR

18

DF

dd

3

5

Condition codes

EXT

18

FF

hh ll

4

6

IND, X

1A

EF

ff

3

6

IND, Y

18

EF

ff

3

6

SUBA

Subtract Memory from A

IMM

—

80

ii

2

2

Condition codes

DIR

—

90

dd

2

3

EXT

—

B0

hh ll

3

4

IND, X

—

A0

ff

2

4

IND, Y

18

A0

ff

3

5

SUBB

Subtract Memory from B

IMM

—

C0

ii

2

2

Condition codes

DIR

—

D0

dd

2

3

EXT

—

F0

hh ll

3

4

IND, X

—

E0

ff

2

4

IND, Y

18

E0

ff

3

5

SUBD

Subtract Memory from D

IMM

—

83

jj kk

3

4

Condition codes

DIR

—

93

dd

2

5

EXT

—

B3

hh ll

3

6

IND, X

—

A3

ff

2

6

IND, Y

18

A3

ff

3

7

SWI

Software Interrupt

INH

—

3F

—

1

14

Condition codes

TAB

Transfer A to B

INH

—

16

—

1

2

Condition codes

TAP

Transfer A to CC Register

INH

—

06

—

1

2

Condition codes

TBA

Transfer B to A

INH

—

17

—

1

2

Condition codes

TEST

TEST (Only in Test Modes)

INH

—

00

—

1

*

Condition codes

TPA

Transfer CC Register to A

INH

—

07

—

1

2

Condition codes

TST

Test for Zero or Minus

EXT

—

7D

hh ll

3

6

Condition codes

IND, X

—

6D

ff

2

6

IND, Y

18

6D

ff

3

7

TSTA

Test A for Zero or Minus

INH

—

4D

—

1

2

Condition codes

TSTB

Test B for Zero or Minus

INH

—

5D

—

1

2

Condition codes

TSX

Transfer Stack Pointer to X

INH

—

30

—

1

3

Condition codes

TSY

Transfer Stack Pointer to Y

INH

18

30

—

2

4

Condition codes

TXS

Transfer X to Stack Pointer

INH

—

35

—

1

3

Condition codes

TYS

Transfer Y to Stack Pointer

INH

18

35

—

2

4

Condition codes

WAI

Wait for Interrupt

INH

—

3E

—

1

**

Condition codes

XGDX

Exchange D with X

INH

—

8F

—

1

3

Condition codes

XGDY

Exchange D with Y

INH

18

8F

—

2

4

Condition codes

Mnemonic

Operation

Addressing 
Mode

Instruction

Bytes

Cycles

Condition Codes

Prebyte

Opcode

Operand

Condition codes


Cycle:

*

Infinity or until reset occurs.

**

12 cycles are used beginning with the opcode fetch. A wait state is entered which remains in effect for an integer number of MPU E-clock cycles (n) until an interrupt is recognized. Finally, two additional cycles are used to fetch the appropriate interrupt vector (total = 14 +  n).


Operands:

dd

=

8-bit direct address $0000-$00FF. (High byte assumed to be $00.)

ff

=

8-bit positive offset $00 (0) to $FF (255) added to index.

hh

=

High order byte of 16-bit extended address.

ii

=

One byte of immediate data.

jj

=

High order byte of 16-bit immediate data.

kk

=

Low order byte of 16-bit immediate data.

ll

=

Low order byte of 16-bit extended address.

mm

=

8-bit bit mask (set bits to be affected).

rr

=

Signed relative offset $80 (-128) to $7F (+127). Offset relative to the address following the machine code offset byte.


Condition Codes:

Bit not changed

Bit not changed.

Bit always cleared

Always cleared (logic 0).

Bit always set

Always set (logic 1).

Bit cleared or set

Bit cleared or set depending on operation.

Bit may be cleared, cannot become set

Bit may be cleared, cannot become set.

ELE 205 home

Line

Valid HTML 4.01!