Professional Documents
Culture Documents
<--- Keypad
ADDRESS BUS
1. SEND ADDRESS 88
MEMORY
2. SEND READ
MPU
3. BUFFER DATA BUS READ
INTO MPU(IQ)
88
4. DECODE
DATA BUS
5. EXECUTE
o AX - the Accumulator
o BX - the Base Register
o CX - the Count Register
o DX - the Data Register
o SP - the Stack Pointer \ defaults to stack segment
o BP - the Base Pointer /
o SI - the Source Index Register
o DI - the Destination Register
o AX --> AH,AL
o BX --> BH,BL
o CX --> CH,CL
o DX --> DH,DL
AX AH AL Accumulator
BX BH BL Base Register
CX CH CL Count Register
DX DH DL Data Register
SP Stack Pointer
BP Base Pointer
EU registers SI Source Index Register
16 bit arithmetic DI
FLAGS
CODE
64K Code
STACK Segment
DATA
EXTRA CS:0
64K Data
Segment
Segment
Registers
Segments are < or = 64K,
can overlap, start at an address
that ends in 0H. 0FFFFFH
0B2000H
SS: 0B200H STACK
0C1FFFH
IP 0056H 4056H
CS:IP = 400:56
Logical Address
Offset + 0056
Physical or
04056 H
0FFFFFH
Absolute Address
The offset is the distance in bytes from the start of the segment.
The offset is given by the IP for the Code Segment.
Instructions are always fetched with using the CS register.
Memory
0A00 0
Segment Register
Offset + 0100
0A100H 0FFFFFH
Physical Address
The offset is given by the SP register.
The stack is always referenced with respect to the stack segment register.
The stack grows toward decreasing memory locations.
The SP points to the last or top item on the stack.
05C50H
EA 0050 DS:EA
Memory
05C0 0
Segment Register
Offset + 0050