Test Structure
- Between 10 and 20 questions (probably abt 12, but no promises)
- Short answer questions
- Definition questions
- Code analysis questions (e.g. What does this code do?)
- Assembly Coding questions
Study Guide
- How to use GCC and the GNU assembler (lab1)
- Addition, Subtraction and assignment (lab2)
- Multiplication and division. Be able to use these fluently,
including (but not limited to) knowing which registers will contain
sources and results (lab 2)
- Data declarations. Understand how data size relates to which
register is used (e.g. eax, ax, ah, or al). Be able to declare
integers, pointers and arrays (lab 2 and lab 4)
- Control structures. Be able to code if statements, for loops, and
while loops (lab 3)
- Branches. What does the compare instruction do? How do the jump
instructions work. Be familiar with boolean based conditional jumps
(lab3)
- Addressing modes. Be able to name them, identify them, and provide
an example of each (lab4)
- Stack and stack frame. Be able to explain both, and what data
resides where on each. Understand prologs and epilogs
(lab 5 & 6)
-
- Parameters and return values. Be able to use both fluently
(lab 6)
- Pointers and arrays. Be able to explain how a pointer is
implemented in assembly. Explain how an array is implemented.
Understand the differences between an array and a pointer to
an array. What addressing modes are used for these 2
structures. (lab 4)
- Any question that has appeared on a quiz (or is very similar to a
quiz question), is fair game.