8088 Assembly Language and Architecture Practice Flashcards

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

1/47

flashcard set

Earn XP

Description and Tags

A comprehensive set of vocabulary flashcards covering Intel 8088 architecture, memory segmentation, register sets, instruction types, stack operations, and interrupt handling based on the lecture transcript.

Last updated 1:22 PM on 5/31/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

48 Terms

1
New cards

Address Bus

A unidirectional bus (CPU → Memory) that carries the memory cell address the CPU wants to read or write; in 8088, it is 20 bits wide, allowing access to 1 MB (2202^{20} bytes).

2
New cards

Data Bus

A bidirectional bus (CPU ↔ Memory) that carries the actual data being read or written; in 8088, it is 8 bits wide.

3
New cards

Control Bus

A bidirectional bus that carries control signals such as read/write direction, interrupt signals, and bus ready signals to synchronize operations.

4
New cards

AX (Accumulator)

A 16-bit register used for all arithmetic/logic operations, divisible into AH (high byte) and AL (low byte).

5
New cards

BX (Base)

A 16-bit register used as a base address for memory access (BX+offsetBX + \text{offset}), divisible into BH and BL.

6
New cards

CX (Counter)

A 16-bit register used as a loop counter and shift count, divisible into CH and CL.

7
New cards

DX (Data)

A 16-bit register used in MUL/DIVMUL/DIV instructions for extended results, divisible into DH and DL.

8
New cards

SI (Source Index)

A 16-bit register that points to the source in string operations.

9
New cards

DI (Destination Index)

A 16-bit register that points to the destination in string operations.

10
New cards

SP (Stack Pointer)

A 16-bit register that points to the top of the stack; it is decremented on PUSHPUSH and incremented on POPPOP.

11
New cards

BP (Base Pointer)

A 16-bit register primarily used to access parameters on the stack.

12
New cards

IP (Instruction Pointer)

A 16-bit register that points to the next instruction to execute; it cannot be set directly.

13
New cards

CS (Code Segment)

A 16-bit register that holds the base address of the code segment.

14
New cards

DS (Data Segment)

A 16-bit register that holds the base address of the data segment.

15
New cards

SS (Stack Segment)

A 16-bit register that holds the base address of the stack segment.

16
New cards

ES (Extra Segment)

An extra 16-bit data segment register used as the destination in string instructions.

17
New cards

Zero Flag (ZF)

A flag set to 11 if the result of an operation is zero.

18
New cards

Carry Flag (CF)

A flag set to 11 if there is a carry out of the MSB, indicating unsigned overflow.

19
New cards

Direction Flag (DF)

Controls string instruction direction: 00 for forward (CLDCLD) and 11 for backward (STDSTD).

20
New cards

Interrupt Flag (IF)

Enables (STISTI, result 11) or disables (CLICLI, result 00) maskable interrupts.

21
New cards

Physical Address Calculation

Formula: Physical Address=(Segment Register×16)+Offset\text{Physical Address} = (\text{Segment Register} \times 16) + \text{Offset}; also represented as (Segment Register << 4)+Offset(\text{Segment Register} \text{ << } 4) + \text{Offset}.

22
New cards

Paragraph Boundary

The 16-byte boundary where segments must start, meaning the lower 4 bits of a segment address are always 00.

23
New cards

Little Endian Format

The storage method in 8088 where the least significant byte of multi-byte data is stored at the lower memory address.

24
New cards

Direct Addressing

An addressing mode where the operand is at a fixed memory address, such as mov ax, [var]mov\text{ }ax,\text{ }[var].

25
New cards

Register Indirect Addressing

An addressing mode where the address is stored in a register like BX, SI, DI, or BP (e.g., mov ax, [bx]mov\text{ }ax,\text{ }[bx]).

26
New cards

TEST Instruction

An instruction that performs a bitwise ANDAND but discards the result, updating only the flags to check bits without changing data.

27
New cards

SAR (Shift Right Arithmetic)

A shift operation that preserves the sign bit, used for dividing signed integers by 2n2^n.

28
New cards

Unsigned Multiplication (MUL) 8-bit

Operation where AX=AL×src8AX = AL \times src8.

29
New cards

Unsigned Multiplication (MUL) 16-bit

Operation where DX:AX=AX×src16DX:AX = AX \times src16, resulting in a 32-bit product.

30
New cards

Unsigned Division (DIV) 8-bit

Operation where AL=AX / src8AL = AX \text{ } \text{/} \text{ } src8 (quotient) and AH=AX mod src8AH = AX \text{ } \text{mod} \text{ } src8 (remainder).

31
New cards

Unsigned Division (DIV) 16-bit

Operation where AX=DX:AX / src16AX = DX:AX \text{ } \text{/} \text{ } src16 (quotient) and DX=DX:AX mod src16DX = DX:AX \text{ } \text{mod} \text{ } src16 (remainder).

32
New cards

CMP Instruction

Performs subtraction (destsrc\text{dest} - \text{src}) and discards the result, updating only the flags for conditional branching.

33
New cards

LOOP Instruction

A counter instruction that decrements CXCX by 11 and jumps to a label if CX0CX \neq 0.

34
New cards

Stack

A Last-In, First-Out (LIFO) data structure that grows downward in memory from high addresses to low addresses.

35
New cards

CALL Instruction

Automatically pushes the return address (IP+instruction sizeIP + \text{instruction size}) onto the stack and jumps to the subroutine.

36
New cards

RET Instruction

Pops the return address from the stack back into the IPIP, resuming execution after a CALLCALL.

37
New cards

Near Call

A call where the target is in the same code segment, pushing only the 2-byte IPIP onto the stack.

38
New cards

Far Call

A call where the target is in a different code segment, pushing both the 2-byte CSCS and 2-byte IPIP (4 bytes total) onto the stack.

39
New cards

Display Memory Base Address

In text mode, the physical address 0xB80000xB8000 (segment B800hB800h) where the screen is mapped.

40
New cards

Screen Position Formula

Formula used to locate a character in display memory: Offset=(row×160)+(column×2)\text{Offset} = (\text{row} \times 160) + (\text{column} \times 2).

41
New cards

Attribute Byte

The second byte of a character in display memory that defines color (Blink, Background, Bright/intensity, Foreground).

42
New cards

MOVSB / MOVSW

String instructions that move a byte or word from [DS:SI][DS:SI] to [ES:DI][ES:DI] and adjust pointers based on the DFDF.

43
New cards

REP Prefix

A prefix used with string instructions to repeat the operation CXCX times.

44
New cards

Interrupt Vector Table (IVT)

A 1 KB table at 0x000000x00000 containing 256 far pointers (4 bytes each) to Interrupt Service Routines (ISRs).

45
New cards

IRET

The instruction used to end an ISR, which pops the IPIP, CSCS, and FLAGSFLAGS from the stack to resume the original program.

46
New cards

IRQ 0

The System Timer hardware interrupt (INT 0x08INT\text{ }0x08) which fires approximately 18.218.2 times per second.

47
New cards

PIC (8259)

The Programmable Interrupt Controller that manages hardware interrupt lines known as IRQs.

48
New cards

EOI (End Of Interrupt)

The signal (0x200x20) that must be sent to the PIC command port (0x200x20) at the end of a hardware ISR to allow further interrupts.