MICRO Chap 3 and 4 Flashcards
transfers a copy of a byte or word from the source addressing register or contents of a memory location to the destination register or memory location
Register Addressing
most common form of data addressing and, once the register names are learned, is the easiest to apply
Register Addressing
transfers the source, an immediate byte, word, addressing doubleword, or quadword of data, into the destination register or memory location
Immediate Addressing
data immediately follow the hexadecimal opcode in the memory
Immediate Addressing
directs the assembler to assemble the program into a single code segment.
.MODEL TINY
indicates the start of the code segment
.CODE
statement indicates the starting instruction in the program
.STARTUP
causes the program to exit to DOS.
.EXIT
indicates the end of the program file.
END
moves a byte or word between a memory location and a register
Direct Addressing
transfers data between a memory location, located within the data segment, and the AL (8-bit), AX (l6-bit), or EAX (32-bit) register
Direct Addressing
3 bytes wide
Direct Addressing
almost identical to direct addressing, except that the instruction is 4 bytes wide instead of 3
Displacement Addressing
inform the assembler where the data segment begins.
.DATA
allows one data segment and one code segment.
SMALL model
transfers a byte or word between a register and a memory location addressed by an index or base register
Register indirect addressing
allows data to be addressed at any memory location through an offset address held in any of the following registers: BP, BX, DI, and SI.
Register indirect addressing
transfers a byte or word between a register and the memory location addressed by a base register (BP or BX) plus an index register (DI or SI)
Base-plus-index addressing
moves a byte or word between a register and the memory location addressed by an index or base register plus a displacement
Register relative addressing
transfers a byte or word between a register and the memory location addressed by a base and an index register plus a displacement.
Base relative-plus-index addressing
The second register of a pair of registers is modified by the scale factor of to generate the operand memory address
Scaled-Index Addressing
is available only in the 80386 through the Pentium 4 microprocessor
Scaled-index Addressing
only available to the 64-bit extensions on the Pentium 4 or Core2
RIP relative addressing
allows access to any location in the memory system by adding a 32-bit displacement to the 64-bit contents of the 64-bit instruction pointer
RIP relative addressing
used to specify how information is stored in a memory array and can be quite useful with applications that use arrays
Data Structure
name of memory address
label
last-in, first-out
LIFO
data are placed onto stack using this
PUSH Instruction
data are removed
POP Instruction
Data Addressing Modes
- Register
- Immediate
- Direct
- Register Indirect
- Base plus-index
- Register relative
- Base relative-plus-index
Program Memory-addressing Modes
- Direct
- Relative
- Indirect addressing
Instruction that copies content of the source operand into the destination operand;
Source never changes
MOV
Specifies any 8-bit register or 16-bit register
Register Addressing
Instruction that transfers byte or word that immediately follows the opcode into the register or memory location
MOV Immediate
Relative to the instruction pointer
Relative
identify the start of a file and the type of memory model used with the file
.MODEL
Program exists in one segment, the code segment, and is assembled as a command (.COM) program
TINY
program uses a code and data segment and assembles as an execute (.EXE) program
SMALL
used to transfer data between EAX, AX, or AL and memory
direct addressing
3 bytes of memory
direct addressing
used with any register-memory transfer
displacement addressing
4 bytes of memory
displacement addressing
native binary code that the microprocessor understands and uses as its instructions to control its operation
Machine Language
selects the operation (addition, subtraction, move, and so on) that is performed by the microprocessor
Opcode