ece 265 – lecture 7 the m68hc11 basic instruction set logical, shift and rotate, data testing...

20
ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 05/16/22 1 ECE265

Upload: douglas-edgar-stevens

Post on 20-Jan-2016

224 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

ECE 265 – LECTURE 7

The M68HC11 Basic Instruction Set

Logical, Shift and Rotate, Data Testing

04/21/23

1ECE265

Page 2: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

Lecture Overview

The M68HC11 Basic Instruction Set The Logical instructions to perform Boolean

operations The Data Testing The Shift and Rotate instructions

REF: Chapter 3 and the appendix that details the instructions.

04/21/23

2

ECE265

Page 3: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

The Logical Instructions

Instructions to perform Boolean operations on data Instructions for AND NOT and OR operation

04/21/23ECE265

3

Page 4: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

AND operation

Description: AND the A (or B) accumulator with the operand of the instruction

CC effects: N Z set per result Forms: ANDA (opr) ANDB(opr)

And can be immediate mode or a memory location ANDA #$FF What does this do? ANDB #$00 What does this do?

04/21/23ECE265

4

Page 5: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

AND operation and masking

Masking is keeping only those bits you are interested in. The reaming bits are “masked” out.

Example ANDA #$0F Keep the lower 4 bits of accum A

If the A accumulator contains a value of $34 Then this operation is A 0011 0100 AND-ed with 0000 1111 giving 0000 0100

04/21/23ECE265

5

Page 6: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

OR operation

Description: OR the A (or B) accumulator with the operand of the instruction

CC effects: N Z set per result Forms: ORA (opr) ORB(opr)

And can be immediate mode or a memory location ORAA #$FF What does this do? ORAB #$00 What does this do?

04/21/23ECE265

6

Page 7: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

Exclusive OR operation

Description: Exclusive OR the A (or B) accumulator with the operand of the instruction

CC effects: N Z set per result Forms: EORA (opr) EORB(opr)

And can be immediate mode or a memory location EORA #$FF What does this do? EORB #$00 What does this do?

04/21/23ECE265

7

Page 8: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

The NOT or invert operation

Description: Can complement a complete byte in an accumulator or memory. This is a bitwise complement.

CC effect: N V set per data, V cleared, C set Forms: COMA COMB COM (opr)

04/21/23ECE265

8

Page 9: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

Examples

Example instructions Accum A has

val $1C

Memory $D330

val $2F (a) ANDA $D330 (b) EORA $D330 (c) ORAA $D330

04/21/23ECE265

9

Page 10: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

Data Testing Instructions

Will cover the Bit Test and Setting and Clearing of bits.

The branch will be covered with branches.

04/21/23ECE265

10

Page 11: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

Bit test

Description: Compare the operand with the accumulator contents and set the CC bits. Performs a bitwise logical AND.

CC effects: N Z eval V cleared Forms: BITA (opr) BITB (opr) If operand is equal to accumulator Z is set See Appendix A of text for a complete description

04/21/23ECE265

11

Page 12: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

Clear and set bits in memory

Description: Set or Clear bits in memory according to a mask given in the instruciton.

CC effects: N Z V cleared Forms: BSET (opr) (mask) BCLR (opr) (mask)

Example BSET $0035 $09 Performs a logical OR of the contents of location $35 With $09 and puts the result back in the location. This example will set bits 0 and 3 of the data byte.

04/21/23ECE265

12

Page 13: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

Shift and Rotate Instructions

The instructions perform arithmetic and logical shifts and also rotate the data.

04/21/23ECE265

13

Page 14: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

The effect of shift and rotates

What do the instructions do?

04/21/23ECE265

14

Page 15: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

What is the real effect of

Arithmetic shifts? Do arithmetic shifts have the effect of multiplicaiton?

Unique aspects of logical shifts

Can also do double shifts

04/21/23ECE265

15

Page 16: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

The instructions

Arithmetic Shifts ASL (opr) ASLA ASLB ASLD ASR (opr) ASRA ASRB

Logical Shifts LSL (opr) LSLA LSLB LSLD LSR (opr) LSRA LSRB LSRD

Rotates ROL (opr) ROR (opr) ROLA ROLB RORA RORB There is no rotate of D

04/21/23ECE265

16

Page 17: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

Example of use

Interesting data manipulation

04/21/23ECE265

17

Page 18: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

Example of use

Exchange the upper and lower nibbles of a byte in memory.

04/21/23ECE265

18

Page 19: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

Lecture summary

04/21/23ECE265

19

Have covered The Logical instructions to perform Boolean

operations The Data Testing The Shift and Rotate instructions

Page 20: ECE 265 – LECTURE 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing 8/14/2015 1 ECE265

Joanne E. DeGroat, OSU

Assignment

04/21/23ECE265

20

Problems Chapter 3 page 87 Problem 19 Problem 21