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
How many data registers are in the floating point unit (FPU)?
8
How much memory can protected-mode address?
4 GByte
How many general purpose registers are there in 64 bit architecture?
16
How many bits are the floating point unit registers in 64 bit architecture?
80
How many MMX registers are there in 64 bit architecture?
8
What are real number literals also known as?
Floating-point literals
What is an encoded real?
A real number in hexadecimal
How many characters can an identifier contain?
Between 1 and 247
What characters are allowed in an identifier?
first character must be letter, underscore, @, ?, $, subsequent characters can be digits.
All assemblers share the same directives. True or False?
False
Which are the two types of labels?
Data and code
In which segment must labels be followed by a colon?
code
What is a mnemonic?
a short word that identifies an instruction
What is an operand?
A value that is used for input or output for an instruction
How many operands does IMUL have?
- Two source operands and one destination. product ends up in eax register.
What does a linker do?
Produces an executable file from an object file
What is a listing file?
Contains source code, line numbers, address of each instruction, and symbol table
What is an operation code?
a number in hexadecimal representing address of machine code instruction
The linker extracts assembled procedures from the link library and inserts them in the executable program. True or False?
false?
what is a BYTE
8-bit unsigned integer. B stands for byte
what is a SBYTE
8-bit signed integer. S stands for signed
what is a WORD
16-bit unsigned integer
what is a SWORD
16-bit signed integer
what is a DWORD
32-bit unsigned integer. D stands for double
what is a SDWORD
32-bit signed integer. SD stands for signed double
what is a FWORD
48-bit integer. (Far pointer in protected mode)
what is a QWORD
64-bit integer. Q stands for quad
what is a TBYTE
80-bit (10-byte) integer. T stands for Ten-byte
what is a REAL4
32-bit (4-byte) IEEE short real, or single precision floating point
what is a REAL8
64-bit (8-byte) IEEE long real, or double precision floating point
what is a REAL10
80-bit (10-byte) IEEE extended real, or extended precision floating point
What is Ah in decimal?
10
What is Bh in decimal?
11
What is Ch in decimal?
12
What is Dh in decimal?
13
What is Eh in decimal?
14
What is Fh in decimal?
15
What is 1 in 4-bit binary?
0001
What is 2 in 4-bit binary?
0010
What is 3 in 4-bit binary?
0011
What is 4 in 4-bit binary?
0100
What is 5 in 4-bit binary?
0101
What is 6 in 4-bit binary?
0110
What is 7 in 4-bit binary?
0111
What is 8 in 4-bit binary?
1000
What is 9 in 4-bit binary?
1001
What is Ah in 4-bit binary?
1010
What is Bh in 4-bit binary?
1011
What is Ch in 4-bit binary?
1100
What is Dh in 4-bit binary?
1101
What is Eh in 4-bit binary?
1110
What is Fh in 4-bit binary?
1111
What is DB?
Legacy Directive, 8-bit integer
What is DW?
Legacy Directive, 16-bit integer