=========================================================== MIDTERM 2 EXAM REVIEW SHEET =========================================================== Exam: In-class on Wednesday, October 29. There are two class review sessions: > Sunday 6:45 to 8:00 led by Dr. Kretchmar > Tuesday 7:00 to 8:30 led by Dr. Bressoud You will be provided a "cheat sheet" containing the following Y86 information: (1) The Y86 instruction set + encoding diagram (similar to Fig 4.2). (2) The Operations, Branches, and Conditional Moves (similar to Fig 4.3). (3) The Y86 register identification chart (similar to Fig 4.4). You should assume that you will have to internalize everything else for recall. The exam will concentrate on the material since the last exam. However, the course by nature is highly cummulative so you should expect to apply the material from the earlier part of the course. ------------------------------------------------------------ TOPICS: ------------------------------------------------------------ (1) Tuesday Lab Materials - Sequential Circuit Design - Moore State Diagrams - JK flip, flop operation - Ohm's Law - Voltage Dividers with Resistors - Basic Operation of Servomotor - Basic Operation of Photoresistor (2) X86 ISA (Chapter 3) - Moore's Law - Basic Hardware of X86 ISA (registers, memory, CPU, ALU, etc). - Basic Instructions - Data Formats (conversion of C types) - Addressing Formats (3) Stack Conventions and Subroutines - Frames and Frame Pointers - Use of stack pointer - Register saving conventions - Parameter passing - Calling and returning conventions - Recursive subroutines - Stack diagrams (4) Control - Condition Codes - What instructions affect cc's and how - How cc's are used in jumps and conditional moves ( you do not have to memorize the entire table in Figure 3.12 but you should be familiar with basic jumps that we've used in class and in our example programs ) - Loops, Ifs, Switches - Jump tables (5) Data Structures - How arrays are stored in memory - How arrays are indexed using the built-in addressing modes - How a linked-list is stored and accessed - Buffer issues, buffer overflow errors, buffer attacks (6) Y86 ISA - Know the instructions (note the cheat sheet comments at the top) - Be able to translate Y86 assembly to Y86 machine code, both ways. - RISC vs CISC basic idea - The exam will cover only up through Section 4.1 in the text. (7) Assembly Programming - You should be able to write full programs and/or subroutines in assembly. - You can choose either the X86 or the Y86 instruction set in your coding. Note: the Y86 ISA will be given to you on the cheat sheet.