Intel Chapter 3 Terms (copy)

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/74

flashcard set

Earn XP

Description and Tags

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

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: