Assembly Flashcards
What does the Central Processing
Unit (CPU) contain?
registers, clock, control unit and arithmetic logic unit
What does the control unit (CU) do?
coordinates the sequencing of steps involved in executing machine instruction
What is the memory storage unit?
where instructions and data are held while a computer program is running
What is a bus?
a group of parallel wires that transfer data from one part of the computer to another
What are the four bus types?
data, I/O, control, address
What does the control bus do?
uses binary signals to synchronize actions of all devices attached to the system bus
What does the address bus do?
holds the addresses of instructions and data when the currently executing instruction transfers data between the CPU and memory
How many oscillations per second is a 1 GHz?
a billion
What is a wait state?
empty clock cycles due to the differences in speeds of the CPU, the system bus, and memory circuit
What is a program loader?
utility to load program into memory so it can run
What is an entry point?
address at which the program is to begin execution, declared by the .CODE segment
How huch memory can real-address mode programns address?
1 MByte
How many segment registers are there?
6
What are the general purpose registers?
EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP
What is EAX for?
multiplication and division. also called the extended accumulator register
What is ECX for?
loop counter
What is ESP for?
addressing data on the stack. Also called the Extended Stack Pointer
What are ESI and EDI for?
high-speed memory transfer instructions. Also called Extended Source Index and Extended Destination Index
What is EBP for?
used by high-level languages to reference function parameters and local variables on the stack. Also called the Extended Frame Pointer
Which are the status flags?
Carry, overflow, sign, zero, auxiliary carry, parity
When is the carry flag set?
when result of unsigned arithmetic operation is too large to fit in destination
When is overflow flag set?
when result of signed arithmetic operation is too large to fit in destination
When is sign flag set?
when result of arithmetic or logic operation generates negative
AKA a copy of the high bit of the destination operand, indicating that it is negative if set and positive if clear (Zero is assumed to be positive)
When is parity flag set?
when the least signficant byte contains an even number of 1s