Intel Chapter 3 Terms

0.0(0)
Studied by 63 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/74

flashcard set

Earn XP

Last updated 4:10 PM on 3/19/23
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

75 Terms

1
New cards
MOV (move data)
It transfers bytes or words of data between two registers or between registers and memory in the 8086 through the 80286. Bytes, words, or doublewords are transferred in the 80386 and above by a MOV.
2
New cards
Data-addressing modes
it includes register, immediate, direct, register indirect, baseplus index, register-relative, and base relative-plus-index in the 8086 through the 80286 microprocessors.
3
New cards
Program memory - addressing modes
it include program relative, direct, and indirect.
4
New cards
Opcode (operation code)
tells the microprocessor which operation to perform.
5
New cards
MOV (move data)
it is an instruction is a very common and flexible instruction, it provides a basis for the explanation of the data-addressing modes. The source is to the right and the destination is to the left, next to the opcode.
6
New cards
Operands
The source and destination are often called ____
7
New cards
Register Addressing
transfers a copy of a byte or word from the source register or contents of a memory location to the destination register or memory location.
8
New cards
Register Addressing
Example: The MOV CX, DX instruction copies the word-sized contents of register DX into register CX.
9
New cards
Immediate addressing
transfers the source, an immediate byte, word, doubleword, or quadword of data, into the destination register or memory location.
10
New cards
Immediate addressing
Example: The MOV AL, 22H instruction copies a byte-sized 22H into register AL.
11
New cards
Direct addressing
moves a byte or word between a memory location and a register. The instruction set does not support a memory-to-memory transfer, except with the MOVS instruction.
12
New cards
Direct addressing
Example: The MOV CX, LIST instruction copies the word-sized contents of memory location LIST into register CX.
13
New cards
Register indirect addressing
transfers a byte or word between a register and a memory location addressed by an index or base register. The index and base registers are BP, BX, DI, and S1.
14
New cards
Register indirect addressing
Example: The MOV AX, \[BX\] instruction copies the word-sized data from the data segment offset address indexed by BX into register AX.
15
New cards
Base-plus-index 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).
16
New cards
Base-plus-index addressingz
Example: The MOV \[BX+DI\], CL instruction copies the byte-sized contents of register CL into the data segment memory location addressed by BX plus DI.
17
New cards
Register relative addressing
moves a byte or word between a register and the memory location addressed by an index or base register plus a displacement.
18
New cards
Register relative addressing
Example: MOV AX,\[BX+4\]or MOV AX,ARRAY\[BX\]. The first instruction loads AX from the data segment address formed by BX plus 4. The second instruction loads AX from the data segment memory location in ARRAY plus the contents of BX.
19
New cards
Base relative-plus-index addressing
transfers a byte or word between a register and the memory location addressed by a base and an index register plus a displacement.
20
New cards
Base relative-plus-index addressing
Example: MOV AX, ARRAY\[BX+DI\] or MOV AX, \[BX+DI+4\]. These instructions load AX from a data segment memory location. The first instruction uses an address formed by adding ARRAY, BX, and DI and the second by adding BX, DI, and 4.
21
New cards
Scaled-index addressing
is available only in the 80386 through the Pentium 4 microprocessor. The second register of a pair of registers is modified by Notes by: RM the scale factor of 2x, 4x or 8x to generate the operand memory address.
22
New cards
Scaled-index addressing
Example: A MOV EDX, \[EAX+4\*EBX\] instruction loads EDX from the data segment memory location addressed by EAX plus four times EBX.
23
New cards
RIP relative addressing mode
is only available to the 64-bit extensions on the Pentium 4 or Core2. This mode 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.
24
New cards
RIP relative addressing mode
Example: For example, if RIP = 1000000000H and a 32-bit displacement is 300H, the location accessed is1000000300H. The displacement is signed so data located within +-2G from the instruction is accessible by this addressing mode.
25
New cards
Register Addressing
the most common form of data addressing and, once the register names are learned, is the easiest to apply.
26
New cards
8-bit register:
AH, AL, BH, BL, CH, CL, DH, and DL.
27
New cards
16-bit register:
AX, BX, CX, DX, SP, BP, SI, and DI.
28
New cards
Extended 32-bit register:
EAX, EBX, ECX, EDX, ESP, EBP, EDI, and ESI.
29
New cards
64-bit mode:
RAX, RBX, RCX, RDX, RSP, RBP, RDI, RSI, and R8 through R15.
30
New cards
16-bit segment register;
CS, ES, DS, SS, FS, and GS.
31
New cards
Immediate Addressing
The term immediate implies that the data immediately follow the hexadecimal opcode in the memory. Also note that immediate data are constant data, whereas the data transferred from a register or memory location are variable data.
32
New cards
\-Intel ASM, Microsoft MASM, and Borland TASM
The most common assemblers
33
New cards
The .MODEL TINY
statement directs the assembler to assemble the program into a single code segment.
34
New cards
The .CODE
statement or directive indicates the start of the code segment.
35
New cards
The .STARTUP
statement indicates the starting instruction in the program.
36
New cards
The .EXIT
statement causes the program to exit to DOS.
37
New cards
The END
statement indicates the end of the program file.
38
New cards
DOS EDIT program, Windows NotePad, or Programmer’s WorkBench (PWB)
To store the program into the system
39
New cards
Label, Opcode Field, Operand field and Comment Field
Assembly language program Four Parts or Fields
40
New cards
Label
The leftmost field and it is used to store a symbolic name for the memory location that it represents. It may be of any length from 1 to 35 characters. It appears in a program to identify the name of a memory location for storing data and for other purposes that are explained as they appear.
41
New cards
Opcode Field
it is designed to hold the instruction, or opcode.
42
New cards
Operand field
which contains information used by the opcode.
43
New cards
Comment Field
contains a comment about an instruction or a group of instructions. A comment always begins with a semicolon (;).
44
New cards
.LST
In this view, the hexadecimal number at the far left is the offset address of the instruction or data.
45
New cards
direct addressing
A direct data addressing form which with a MOV instruction transfers data between a memory location, located within the data segment, and the AL (8-bit), AX (l6-bit), or EAX (32-bit) register. Using this type of addressing is usually a 3-byte long instruction.
46
New cards
displacement addressing
A direct data addressing form which almost identical to direct addressing, except that the instruction is 4 bytes wide instead of 3.
47
New cards
SMALL
a model allows one data segment and one code segment. It is often used whenever memory data are required for a program. It programs assembles as an execute (.EXE) program file.
48
New cards
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.
49
New cards
Data segment
is used by default with register indirect addressing or any other addressing mode that uses BX, DI, or SI to address memory.
50
New cards
stack segment
If the BP register addresses memory, the ____ is used by default.
51
New cards
Special Assembler Directive
The size is specified by this BYTE PTR, WORD PTR, DWORD PTR, or QWORD PTR.
52
New cards
OFFSET
directive is used with the MOV instruction, the assembler calculates the offset address and then uses a MOV immediate instruction to load the address in the specified 16-bit register.
53
New cards
Base-Plus-Index Addressing
It is similar to indirect addressing because it indirectly addresses memory data. In the 8086 through the 80286, this type of addressing uses one base register (BP or BX) and one index register (DI or SI) to indirectly address memory
54
New cards
base register
often holds the beginning location of a memory array.
55
New cards
index register
holds the relative position of an element in the array.
56
New cards
Register Relative Addressing
is similar to base-plus-index addressing and displacement addressing. In register relative addressing, the data in a segment of memory are addressed by adding the displacement to the contents of a base or an index register (BP, BX, DI, or SI).
57
New cards
Base Relative-Plus-Index Addressing
is similar to base-plus-index addressing, but it adds a displacement, besides using a base register and an index register, to form the memory address. This type of addressing mode often addresses a two-dimensional array of memory data.
58
New cards
Scaled-Index Addressing
is the last type of data-addressing mode discussed. Scaled-index addressing uses two 32-bit registers (a base register and an index register) to access the memory. The second register (index) is multiplied by a scaling factor
59
New cards
RIP Relative Addressing
This form of addressing uses the 64-bit instruction pointer register in the 64-bit mode to address a linear location in the flat memory model.
60
New cards
Data Structure
is used to specify how information is stored in a memory array and can be quite useful with applications that use arrays. It is best to think of a ______ as a template for data.
61
New cards
Data Structure
The start of a structure is identified with the STRUC assembly language directive and the end with the ENDS statement.
62
New cards
Program memory-addressing modes
used with the JMP (jump) and CALL instructions, consist of three distinct forms: direct, relative, and indirect. This section introduces these three addressing forms, using the JMP instruction to illustrate their operation.
63
New cards
Direct program memory addressing
is what many early microprocessors used for all jumps and calls. _____ addressing is also used in high-level languages, such as the BASIC language GOTO and GOSUB instructions.
64
New cards
Intersegment jump
is a jump to any memory location within the entire memory system.
65
New cards
direct jump
is often called a far jump because it can jump to any memory location for the next instruction.
66
New cards
Label
the name of a memory address, refers to the location that is called or jumped to instead of the actual numeric address.
67
New cards
Relative program memory addressing
is not available in all early microprocessors, but it is available to this family of microprocessors. The term relative means “relative to the instruction pointer (IP).”
68
New cards
short jumps
A 1-byte displacement is used in this
69
New cards
near jumps
a 2-byte displacement is used with and calls.
70
New cards
Intrasegment jumps
Both jumps types are considered to be this. It is a jump anywhere within the current code segment.
71
New cards
Indirect Program Memory Addressing
If a relative register holds the address, the jump is also considered to be an indirect jump
72
New cards
STACK MEMORY-ADDRESSING MODES
It holds data temporarily and stores the return addresses used by procedures. It is an LIFO (last-in, first-out) memory, which describes the way that data are stored and removed from the stack.
73
New cards
PUSH, POP
Data are placed onto the stack with a ____ instruction and removed with a ___ instruction.
74
New cards
CALL, RET
___ an instruction also uses the stack to hold the return address for procedures and a ___ instruction to remove the return address from the stack.
75
New cards
the stack pointer (SP or ESP) and the stack segment register (SS).
The stack memory is maintained by two registers: