Shared Flashcard Set

Details

Assembly x86
flash cards about things related to Assembly Language
17
Computer Science
Undergraduate 3
05/24/2007

Additional Computer Science Flashcards

 


 

Cards

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
an object file
Term
What is a stack frame?
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
myInt: .long 2
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
2 bytes
Term
Where is the return value for any called function?
Definition
%eax
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
andb $bx11111110, %al
Term
What is the ZF?
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
Supporting users have an ad free experience!