Top Banner
CE 545 - Lecture 13 Motorola 68HC11
68

ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Jan 16, 2016

Download

Documents

Lewis Lee
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

ECE 545 - Lecture 13

Motorola 68HC11

Page 2: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Resources

68HC11 E-series Reference Guide and if necessary

68HC11 E-series Technical Data 68HC11 Reference Manual

all available at http://www.technologicalarts.com/myfiles/links.html

Optionally:Peter Spasov, Microcontroller Technology, any edition, Prentice-Hall, Chapter 2, Software,and Chapter 7 Clocked Operation(you can borrow this book from the ECE 447 students).

Page 3: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Basic Computer System

CPUMemoryProgram + Data

I/O Interface

ParallelI/O Device

SerialI/O Device

Data Bus

Address Bus

Control Bus

Parallel Data

Serial Data

Page 4: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Microprocessor - usually memory off-chip and only basic I/O interface on chip

e.g., Intel 8008, 8080, 8086, 80286, Pentium

Single-chip microcomputer - CPU, memory, I/O interface, and simple I/O devices on one LSI chip

e.g., Intel 8048, 8051, Motorola 68HC11, 68HC16

Page 5: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Microcontroller: I/O oriented single-chip microcomputer

Microcontroler vs. other single-chip microcomputers:

• Extended I/O capabilities

synchronous and asynchronous communication devices,A/D and D/A converters, timers, counters, watchdogs

• Interrupt handling

increased ability to prioritize levels of interrupts and maskindividual interrupts

• Instruction setinstructions oriented toward bit manipulation, operations on single bits of memory words or I/O ports

Page 6: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Early microcroprocessors

performance integration

General-purposemicroprocessors

Single-chip microcomputers

- small price- low power consumption- built-in memory- built-in I/O devices

- high speed- long word size

volumesold x 1 x 10

(e.g., Pentium, Alpha, Power PC) (e.g., MC68HC11, 8051)

(8080, 6800, Z80)

Page 7: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

68HC11 Organization

Page 8: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

CPU RAM

ROM

EEPROM

TIMER

A/DSPI

SCI

PORT A PORT B PORT C PORT D PORT E

Organization of MC68HC11 in the Single-Chip Mode

8 8 (4)8

24

6

8 (4)8

3 3 2

Page 9: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

CPU RAM

ROM

EEPROM

TIMERA/D

SPI

SCI

PORT A PORT D PORT E

Organization of MC68HC11 in the Expanded Bus Mode

8 (4)

24

6

8 (4)8

3 3 2

EXTERNAL RAM

EXTERNAL ROM

EXTERNAL EPROM

EXTERNAL I/O

Page 10: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Abbreviations

CPU - Central Processing Unit := ALU (Arithmetic Logic Unit) + Control

RAM - Random Access Memory := Read/Write Memory

ROM - Read Only Memory (non-volatile)

EPROM - Erasable Programmable ROM

EEPROM - Electrically Erasable ROM

SCI - Serial Communication Interface (asynchronous serial communication interface)

SPI - Serial Peripheral Interface (synchronous serial communication interface)

A/D - analog-to-digital converter

Page 11: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.
Page 12: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Internal Registers

Page 13: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

X-index register

Y-index register

Stack Pointer

Program Counter

Condition Code Register

Register structure of MC6811

Double Accumulator DAccumulators A and B or

IX 015

IY 015

SP 015

PC 015

CCR 07

D 015

7 70 0A B

S X H I N Z V C

Page 14: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Condition Code Register

CCR 07

S X H I N Z V C

carry / borrowoverflowzeronegativeI-interrupt maskhalf-carry (from bit 3)X-interrupt maskstop disable

Page 15: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

I/O Ports and other I/O Devices

Page 16: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Input/Output Ports

PortInput Pins

Output Pins

Bidirectional Pins

SharedFunctions

Port A

Port B

Port C

Port D

Port E

3

8

3

8

2

8

6

Timer

High Order Address

Low Order Address and Data Bus

SCI and SPI

A/D Converter

Page 17: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Memory mapped I/O

(e.g., Motorola)

0

MAX

I/O

Control lines: read/write

Separate I/O

(e.g., Intel)

0

MAX

I/O0

max

Control lines: read/write memory/io

Page 18: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Memory map of MC68HC11E1

$0000

$1000

$B600

$FFFF

$0000

$1000

$B600

$FFFF

EXT

EXT

EXT

$0000-$01FF 512 bytes RAM

$1000-$103F 64 bytes I/O registers

$B600-$B7FF 512 bytes EEPROM

Single-chip mode Expanded bus mode

Page 19: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

I/O Device Architecture

…..

Control registersinstructions

…..

Status registersstatus of the device

Data registers

…..

I/O device

address1/name1

addressN/nameN

. . . . .

inputs (operands)

outputs (results)

Page 20: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Input/Output Register Types

1. Control registers - hold instructions that regulate the operation of internal I/O devices

2. Status registers - indicate the current status of internal I/O devices

3. Data registers - hold the input data sent to the I/O device and output data generated by this device

4. Data direction registers - control the direction (in or out) of the data flow to/from bidirectional data registers

Page 21: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.
Page 22: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Assembly Language vs.

Machine Code

Page 23: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Assembly language vs. machine code

Assembly language

[label] mnemonic [operands]

LDAA #$4ALDAA $5B, Y

Machine code

$86 $4A

[prebyte] opcode [operands]

$18 $A6 $5B

START CLRA

$4F

Page 24: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Number of instructions represented using a single-byte opcode

Number of instructions represented using a combination prebyte+opcode

76

236

Values of prebytes

18, 1A, CD

Machine code

Page 25: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

; move.s11; function that transfer an array of 128 bytes; starting at location $C800 to the memory area; starting at location $D800

SECTION .text

transfer:LDX #$C800LDY #$D800

loop_beginLDD 0,XSTD 0,YINXINXINYINYCPX #$C880BNE loop_beginRTS

END

move.s11

Page 26: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

move.lst

C:/introl/Examples/E Sep 24 00:41 19102 Page 1 1 ; move.s11 2 ; function that transfer an array of 128 bytes 3 ; starting at location $C800 to the memory area 4 ; starting at location $D800 5 6 SECTION .text 7 8 00000000 transfer: 9 00000000 cec800 LDX #$C800 10 00000003 18ced800 LDY #$D800 11 00000007 loop_begin 12 00000007 ec00 LDD 0,X 13 00000009 18ed00 STD 0,Y 14 0000000c 08 INX 15 0000000d 08 INX 16 0000000e 1808 INY 17 00000010 1808 INY 18 00000012 8cc880 CPX #$C880 19 00000015 26f0 BNE loop_begin 20 00000017 39 RTS 21 22 END

Page 27: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

C:/introl/Examples/E Sep 24 00:41 19102 Page 2 Section synopsis

1 00000018 ( 24) .text C:/introl/Examples/E Sep 24 00:41 19102 Page 3 Symbol table

.text 1 00000000 | loop_begin 1 00000007 | transfer E 1 00000000C:/introl/Examples/E Sep 24 00:41 19102 Page 4 Symbol cross-reference

.text *6 loop_begin *11 19 transfer *8

Page 28: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Groups of Instructions

Page 29: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Groups of instructions (1)1. Data handling instructions a. Move instructions (e.g., load, store, exchange) b. Alter data instructions (e.g., clear, increment, decrement) c. Edit instructions (e.g., shift, rotate)

2. Arithmetic instructions (e.g., add, subtract, multiply, divide, negate)

3. Logic instructions (e.g., and, or, xor)

4. Data test instructions (e.g. compare, test, bit test)

Page 30: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

5. Control instructions (e.g., jump, branch)

Groups of instructions (2)

6. Condition code instructions (e.g., set carry, clear overflow flag)

7. Stack operations (e.g. push, pull)

8. Subroutine-related instructions (e.g. jump to subroutine, return from subroutine)

9. Interrupt-related instructions (e.g. software interrupt, return from interrupt)

Page 31: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Addressing Modes

Page 32: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Move instructions (1)

1. memory register

LDA [A, B]LD [D, X, Y, S]

2. register memory

STA [A, B]ST [D, X, Y, S]

3. register register

TAB, TBA

4. memory memory

IMM, DIR, EXT, IND

DIR, EXT, IND

INH

N Z V C

0 –

0 –

0 –

Page 33: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Move instructions (2)

1. register register

XGD [X, Y]

N Z V C

– – – –INH

Page 34: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Addressing modes of the LDAA instruction

Immediate mode

LDAA #$5C

Direct mode

LDAA $1B

Extended mode

LDAA $6D00

Indexed mode

LDAA $56, XLDAA $56, Y

$5C A

($001B) A

($6D00) A

(IX+$56) A (IY+$56) A

Page 35: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Instruction Table

Page 36: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Addressing modes of MC68HC11 (1)

1. Inherent: Opcode contains reference.

2. Immediate: Data follows opcode.

3. “Direct”: Base page, Page 0;Low byte of address follows opcode.High byte of address set to zero.

4. Extended: Direct;Complete address of the operand follows the opcode.

Page 37: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

5. Indexed Contents of X or Y index registeradded to the unsigned offset in thebyte following the opcode to formeffective address

6. Relative signed byte following the opcodeadded to the pre-incrementedprogram counter PC to form effective address

Addressing modes of MC68HC11 (2)

Page 38: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Arithmetic Instructions

Page 39: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Arithmetic instructions (1)

1. addition Acc + M Acc

ADD [A, B, D]ADC [A, B]

2. subtraction Acc – M Acc

SUB [A, B, D]SBC [A, B]

IMM, DIR, EXT, IND

N Z V C

IMM, DIR, EXT, IND

EXT, IND

INH

3. negation -X

NEG [A, B]NEG

Page 40: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

B = b7 b6 b5 b4 b3 b2 b1 b0

Unsigned vs. signed numbers

Unsigned number

Signed number

B = b7 b6 b5 b4 b3 b2 b1 b0

B = b7 b6 b5 b4 b3 b2 b1 b0

128 64 32 16 8 4 2 1weights

weights -128 64 32 16 8 4 2 1

B = b020 + b121 + b222 + b323 + b424 + b525 + b626 + b727 = bi2ii=0

7

B = b020 + b121 + b222 + b323 + b424 + b525 + b626 - b727 = - b727 + bi2ii=0

6

Page 41: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Definition of the Condition Code Register flags (1)

Z = 1 if result = 0 0 otherwise

Zero flag - Z

N = sign bit of the result r7 - for 8-bit operands r15 - for 16-bit operands

Negative flag- N

zero result

negative result

Page 42: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Definition of the Condition Code Register flags (2)

C = 1 if result > MAX_UNSIGNED or result < 0 0 otherwise

where MAX_UNSIGNED = 28-1 for 8-bit operands (registers A, B) 216-1 for 16-bit operands (register D)

V = 1 if result > MAX_SIGNED or result < MIN_SIGNED 0 otherwise

where MAX_SIGNED = 27-1 for 8-bit operands (registers A, B) 215-1 for 16-bit operands (register D)

MIN_SIGNED = -27 for 8-bit operands (registers A, B) -215 for 16-bit operands (register D)

Carry flag - C

Overflow flag - V

out-of-range for unsigned numbers

out-of-range for signed numbers

Page 43: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Overflow for signed numbers (1)

Indication of overflow

Positive+ Positive= Negative

Negative+ Negative= Positive

Formulas

Overflow2’s complement = xk-1 yk-1 sk-1 + xk-1 yk-1 sk-1 =

= ck ck-1

Page 44: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Overflow for signed numbers (2)

xk-1 yk-1 ck-1 ck sk-1 overflow ckck-1

00001111

00110011

01010101

00010111

01101001

01000010

01000010

Page 45: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Condition code instructions

1. set a flag 1 flag

SE [C, V, I]

2. clear a flag 0 flag

CL [C, V, I]

3. change all flags A CC

TAP

4. read all flags CC A

TPA

Page 46: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Arithmetic instructions (2)

1. addition Reg + B Reg

ABAAB [X, Y]

2. subtraction A – B A

SBA

INH

N Z V C

INH

– – – –

Page 47: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Arithmetic instructions (3)

1. unsigned multiplication A x B D

MUL

2. unsigned division D/IX IX D mod IX D

IDIV

3. unsigned fractional division D < IX 216 D/ IX IX 216 D mod IX D

4. decimal adjustment

DAA

INH

N Z V C

INH

INH

– – –

– 0

– FDIV

INH ?

Page 48: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Extending the number of bits of a signed number

xk-1 xk-2 … x1 x0

yk’-1 yk’-2 … yk yk-1 yk-2 … y1 y0

X

Y

two’s complement

xk-1 xk-1 xk-1 . . .xk-1 xk-2 … x1 x0

Page 49: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Other Instructions

Page 50: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Alter data instructions1. 0 register

CLR [A, B]

2. 0 memory

CLR EXT, IND

INH

N Z V C

0 1 0 0

0 1 0 0

3. increment X++INC [A, B]INCIN [X, Y]

4. decrement X--DEC [A, B]DECDE [X, Y]

– INHEXT, IND INH – – –

INHEXT, IND INH

– – –

Page 51: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Edit instructions - Shifts

1. logical shift right

LSR [A, B, D]LSR

2. arithmetic shift right

ASR [A, B, D]ASR

3. arithmetic/logical shift left

ASL [A, B, D], LSL [A, B, D]ASL, LSL

INHEXT, IND

INHEXT, IND

INHEXT, IND

00n-1

C. . .

0n-1C. . .

00n-1

C . . .

N Z V C

0

Page 52: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Edit instructions - Rotations

1. rotation right

ROL [A, B]ROL

2. rotation left

ROR [A, B]ROR

INHEXT, IND

INHEXT, IND

07 C. . .

007C

. . .

N Z V C

Page 53: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Logic instructions (1)

1. AND Acc & M Acc

AND [A, B]

2. OR Acc | M Acc

ORA [A, B]

3. XOR Acc M Acc

EOR [A, B]

IMM, DIR, EXT, IND

N Z V C

IMM, DIR, EXT, IND

IMM, DIR, EXT, IND

0 –

0 –

0 –

Page 54: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Logic instructions (2)

1. complement X X

COM [A, B]COM

2. bit set M | mask M

BSET

3. bit clear M & mask M

BCLR

INHEXT, IND

N Z V C

DIR, IND

0 1

0 –

0 –DIR, IND

Page 55: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

3. test register

TST [A, B]

4. test memory

TST

0 0

0 0

INH

EXT, IND

IMM, DIR, EXT, IND

1. comparison R - M

CMP [A, B]CP [D, X, Y]

Data test instructions (1)N Z V C

INH

2. comparison A – B

CBA

Page 56: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

0 –IMM, DIR, EXT, IND

1. Bit test Acc & memory

BIT [A, B]

Data test instructions (2)N Z V C

Page 57: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Control instructions (1) - BranchesREL N Z V C

– – – –after comparison register vs. memory

unsigned numbers signed numbers

BHI higher >BLO lower <

BHS higher or same BLS lower or same

BGT greater than >BLT less than <

BGE greater than or equal BLE less than or equal

BEQ equal =BNE not equal

Page 58: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Control instructions (2) - Branches

after arithmetic operations (testing for overflow)

unsigned numbers signed numbers

BCS carry setBCC carry clear

BVS overflow setBVC overflow clear

BPL plus 0BMI minus < 0

after testing register or memory

unconditional

BRA alwaysBRN never

Page 59: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Condition code instructions

1. set a flag 1 flag

SE [C, V, I]

2. clear a flag 0 flag

CL [C, V, I]

3. change all flags A CC

TAP

4. read all flags CC A

TPA

Page 60: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

3. test register

TST [A, B]

4. test memory

TST

0 0

0 0

INH

EXT, IND

IMM, DIR, EXT, IND

1. comparison R - M

CMP [A, B]CP [D, X, Y]

Data test instructions (1)N Z V C

INH

2. comparison A – B

CBA

Page 61: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

0 –IMM, DIR, EXT, IND

1. Bit test Acc & memory

BIT [A, B]

Data test instructions (2)N Z V C

Page 62: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Opcode Map

Page 63: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.
Page 64: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.
Page 65: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.
Page 66: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Interface to External Memory

Page 67: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.
Page 68: ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary 68HC11 E-series Technical Data 68HC11 Reference Manual.

Write Cycle