Académique Documents
Professionnel Documents
Culture Documents
Microprocessor Systems
Unit 2:
The Intel 8086 Architecture and
Programming Model
Topics/Reading
SYSC3601
Microprocessor Systems
SYSC3601
Microprocessor Systems
SYSC3601
Microprocessor Systems
SYSC3601
Microprocessor Systems
Microprocessor Systems
Microprocessor Systems
Microprocessor Systems
SYSC3601
Microprocessor Systems
10
Microprocessor Systems
B
C
SYSC3601
11
Microprocessor Systems
12
Microprocessor Systems
CPU1
16K L1 Cache
256K L2 Cache
Pentium Pro
SYSC3601
13
Microprocessor Systems
14
Microprocessor Systems
SYSC3601
15
Microprocessor Systems
SYSC3601
16
Microprocessor Systems
Address Generation
SYSC3601
Microprocessor Systems
SYSC3601
18
Microprocessor Systems
1400:1200
or
14000H
+1200H
-----15200H
SYSC3601
19
Microprocessor Systems
Segment
Offset
Special Purpose
CS
IP
Instruction address
SS
SP or BP
Stack address
DS
BX,DI,SI,
8bit # or 16bit #
Data address
ES
SYSC3601
Microprocessor Systems
Notes:
1. Memory segments (i.e. the 64K blocks) may
overlap if full 64K are not needed.
2. The segment-offset scheme allows
programs to be relocated in memory (on 16
byte boundaries).
Move the existing contents to the new physical
location, then update the segment register.
SYSC3601
21
Microprocessor Systems
Segment Resolution
FE010H
FE00:0010 FE01:0000
.
.
.
FE005H
FE00:0005
.
.
.
FE000H
FE00:0000
.
.
.
16 bytes resolution
FDFF0H
SYSC3601
FDFF:0000
22
Microprocessor Systems
FE00:0005
FE000H
+0005H
-----FE005H
FDFF:0015
FDFF0H
+0015H
-----FE005H
SYSC3601
23
Microprocessor Systems
SYSC3601
Start of
segment
Start of
segment
Start of
segment
24
Microprocessor Systems
Stack Operation
The stack is a Last-In, First Out (LIFO) queue.
The stack grows down in memory (i.e., towards 0).
Only words (8086-80286) and double words
(80386...) can be pushed/popped on/off the stack.
POP CS is NOT allowed.
Typically, initialize SP to 0H. Will decrement to
0FFFFH on first PUSH to point to top of segment.
SYSC3601
25
Microprocessor Systems
MOV
PUSH BX
POP
; AX
2a
SS x 10H + SP - 1
2b
SS x 10H + SP - 2
2c
SP
3a
AL
3b
AH
3c
SP
SYSC3601
BX,1234H
; BX
AX
26
1234H
1234H from stack
12H
High order
34H
Low order
SP - 2
SS x 10H + SP
(34H)
SS x 10H + SP + 1 (12H)
SP + 2
Microprocessor Systems