200 likes | 309 Views
ECE 265 – Lecture 7. The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing. Lecture Overview. The M68HC11 Basic Instruction Set The Logical instructions to perform Boolean operations The Data Testing The Shift and Rotate instructions
E N D
ECE265 ECE 265 – Lecture 7 The M68HC11 Basic Instruction Set Logical, Shift and Rotate, Data Testing
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. ECE265
The Logical Instructions • Instructions to perform Boolean operations on data • Instructions for AND NOT and OR operation ECE265
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? ECE265
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 ECE265
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? ECE265
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? ECE265
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) ECE265
Examples • Example instructions Accum A has val $1C Memory $D330 val $2F • (a) ANDA $D330 • (b) EORA $D330 • (c) ORAA $D330 ECE265
Data Testing Instructions • Will cover the Bit Test and Setting and Clearing of bits. • The branch will be covered with branches. ECE265
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 ECE265
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. ECE265
Shift and Rotate Instructions • The instructions perform arithmetic and logical shifts and also rotate the data. ECE265
The effect of shift and rotates • What do the instructions do? ECE265
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 ECE265
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 ECE265
Example of use • Interesting data manipulation ECE265
Example of use • Exchange the upper and lower nibbles of a byte in memory. ECE265
Lecture summary • Have covered • The Logical instructions to perform Boolean operations • The Data Testing • The Shift and Rotate instructions ECE265
Assignment • Problems Chapter 3 page 87 • Problem 19 • Problem 21 ECE265