ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary...
Transcript of ECE 545 - Lecture 13 Motorola 68HC11. Resources 68HC11 E-series Reference Guide and if necessary...
![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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/1.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/2.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/3.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/4.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/5.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/6.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/7.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/8.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/9.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/10.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/11.jpg)
![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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/12.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/13.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/14.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/15.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/16.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/17.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/18.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/19.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/20.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/21.jpg)
![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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/22.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/23.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/24.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/25.jpg)
; 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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/26.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/27.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/28.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/29.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/30.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/31.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/32.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/33.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/34.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/35.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/36.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/37.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/38.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/39.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/40.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/41.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/42.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/43.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/44.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/45.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/46.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/47.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/48.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/49.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/50.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/51.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/52.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/53.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/54.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/55.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/56.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/57.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/58.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/59.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/60.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/61.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/62.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/63.jpg)
![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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/64.jpg)
![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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/65.jpg)
![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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/66.jpg)
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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/67.jpg)
![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.](https://reader035.fdocuments.us/reader035/viewer/2022081504/56649ee95503460f94bfacc0/html5/thumbnails/68.jpg)
Write Cycle