1 / 19

ECE 265 – Lecture 5

ECE 265 – Lecture 5. The M68HC11 Basic Instruction Set. Lecture Overview. The M68HC11 Basic Instruction Set How to partition the instruction set to learn it What are those partitions The 68HC11 data movement instructions

belva
Download Presentation

ECE 265 – Lecture 5

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ECE265 ECE 265 – Lecture 5 The M68HC11 Basic Instruction Set

  2. Lecture Overview • The M68HC11 Basic Instruction Set • How to partition the instruction set to learn it • What are those partitions • The 68HC11 data movement instructions • Material from Chapter 2 and 3 plus a 68HC11 reference manual. Instruction set details are in Appendix A of the text. ECE265

  3. Basic guide to any architecture • The instruction set of any processor can be partitioned into logical groupings. • Instructions for • Data Movement – no operation or manipulation – just transfer the data from one location to another • Arithmetic – an take note of any unique aspects – most architecture treat data such that it is treated as 2’s complement. • Multiply and Divide – if these are supported by instructions. • Logical Instructions – Boolean operations • Testing and Bit Manipulation – even in the CCR • Shift and Rotate ECE265

  4. Basic guide (cont.) • Instruction classes continued • Condition Code Register • Branch – what conditional branches are supported • Jump – direct? How different from Branch? • Subroutine Calls and Return – calls that save register and data and calls that don’t. • Stack Pointer • Index Register and Indexed access to data • Interrupts and Interrupt Handling • Any miscellaneous instructions ECE265

  5. Data Movement • These instructions allow for the transfer of data from one location to another. • In a RISC (Reduced Instruction Set Computer) these transfers are the only data movement instructions. Operational instructions are typically register to register with both operands being in register to start. • In a CISC (Complex Instruction Set Computer) there are complex instruction that not only perform the operation on data but also result in complex data movement and/or storage. ECE265

  6. Data Movement Instructions • These are listed in the table for the 68HC11. ECE265

  7. CLR • Operation: ACCX  0 or M  0 • Description: The contents of the accumulator or the memory location are set to 0s. • CC effects: N, V, C are cleared, Z is set • Forms: CLRA CLRB CLR ECE265

  8. Load data • Operation: place the operand data into accumulator A, B, or D. • Description: Load the accumulator • CC effects: V cleared, N and Z set or cleared depending on value of data. • Forms: LDAA LDAB LDD ECE265

  9. Example of load ECE265

  10. Store data • Operation: Store the accumulator at the effective address. • Forms: STAA • STAB • STD ECE265

  11. The Stack • The stack is an area of RAM used for temporary storage, typically for subroutine calls and then the subsequent return. It is also used when servicing and interrupt. • One of the Programmers Model registers is the stack pointer register. This is a 16-bit register that points to the next free location on the stack. The stack grows down in memory. ECE265

  12. Stack and stack growth • Two important facts to note on stacks. • Direction of growth • What does the stack pointer point to • Data • Free location ECE265

  13. Push and Pop • Two common operations on stacks are to add data, a Push, and the retrieval of data, a Pop. • For the 68HC11 • A PUSH – Simply store the data at the address pointed to by the stack pointer. After storing the data, decrement the stack pointer. • A POP – Increment the stack pointer. Use the data that the stack pointer now points to. Location is now considered free. ECE265

  14. Push and Pull • Operation: A/B  Mem(SP) Pull • Mem(SP)  A/B Push • Description: Transfers the contents of the Accumulator to or from the top of the stack. • CC effects: none • Forms: this is an inherent instruction • PSHA PSHB PULA PULB ECE265

  15. Store the Accumulator • Operation: Mem(ea)  A/B • Description: Store the contents of the given accumulator in the effective memory address • CC effects: N V Z • Forms: STAA STAB STD ECE265

  16. Transfer register • Operation: Transfers allowed are • from A to B or CCR • from B to A • from CCR to A • Description: Transfers the contents of one register to another. • CC effects: A to B and B to A  N V Z • Forms: only inherent ECE265

  17. Exchange registers • Operation: D  X concurrent with X  D • D  Y concurrent with Y D • Description: Exchange the contents of the D accumulator with the X or Y index register • CC effects: None • Forms: Inherent form instruction ECE265

  18. Lecture summary • Have covered • How to partition the instruction set when learning an architecture. • The data transfer instructions ECE265

  19. Assignment • Read Chapter 3 through section 3.4 • Problems • 3.3 • 3.4 • 3.5 • 3.6 ECE265

More Related