Term
| Difference between overflow and carry? |
|
Definition
overflow - signed numbers carry - unsigned numbers |
|
|
Term
| What is a register and why do we need them? |
|
Definition
| A register stores memory and it is the only place to put memory in the CPU. |
|
|
Term
| What does a compiler generate? |
|
Definition
|
|
Term
|
Definition
| a chunk of the stack to store all items and memory of a function. every process has a stack |
|
|
Term
| Give two examples of addressing modes |
|
Definition
| register direct, immediate |
|
|
Term
| How does an assembler work? |
|
Definition
| Reads in a line of code, makes a table out of it and turns it into object code. Also has two passes. |
|
|
Term
| What assembly code do we use to declare an integer in the data segment with initial value 2? |
|
Definition
|
|
Term
| What is memory direct addressing good for? |
|
Definition
| Good for quickly restoring values. |
|
|
Term
| What size is the machine language code for movl %esp, %ebp? |
|
Definition
|
|
Term
| Where is the return value for any called function? |
|
Definition
|
|
Term
| Where are the parameters for the read function call, and what is the order of those parameters (in general)? |
|
Definition
in the stack: pushl $#chars pushl $buffer pushl $0 call read addl $12, %esp |
|
|
Term
| Why would you use scanf/printf instead of read/write? |
|
Definition
| Runtime is shorter and you don't need to specify the # of chars |
|
|
Term
| What does the register indirect addressing mode do? |
|
Definition
| Allows the register to act as a pointer |
|
|
Term
| How do we specify register indirect for %eax? |
|
Definition
| Put parentheses around the register: (%eax) |
|
|
Term
| What instruction would you use to turn off the least significant bit in register %al? |
|
Definition
|
|
Term
|
Definition
zero flag Used to change the zero bit |
|
|
Term
| Difference between pushl $72 and pushl 72? |
|
Definition
pushl 72 = pushes contents of 72 onto stack pushl $72 = pushes the actual number 72 onto the stack |
|
|