:
1 ?
2 , , ?
, . , . ³ , : , . , , . ³ () , -. . 8086, 1978 ., . , , . 1 16- , . , MS DOS. 8086 , .
: 16- CS, DS, SS,ES.
, , , .
220 4 ( 4 ) .
Intel.
8086 . 7.11.
7.11 8086
, . , ; 璺 , , ; , . - , , 16- AX, BX, CX, DX, 8-, - S, SI, DI, .
|
|
璺 , , CS, DS, SS, ES (Instruction Pointer), .
FIFO (First Input First Output, ). 6 . , , , , , . .
, , , , .
(Executive Address) , , .
16- / AD 15... AD 0, , . 1 / A 19/ S 6 A 16/ S 3.
̳ 8086 ( 181086) 8080, . - 8080 8086. , 8080, 8086, Intel ; 8080 8086 .
80186 8086 , , , . 8086 , 8080.
1983 . Intel 80286, /. 80286 : . 80286 8086 䳺. , , , 7.2.5. 80286 , , . ϳ .
|
|
80286 . , , .
80286 2 4 . , .
80286 80287, . .
80286 . , , ( ). , .
:
1 16- Intel ?
2 8086 (1810) ?
3 8086?
4 8086?
:
1 8086 /?
2 , , , ?
8086
:
1 ?
2 8086 ?
8086 . 7.12.
7.12 8086
() AX, BX, CX, DX AL, BL, CL, DL A, B, C, D. 8086 8080.
, 16- . - SP BP SI DI .
, , :
- , , , ;
, - ;
DX , ; , - ;
-; .
, :
;
SI ;
DI ;
SP ;
IP .
, SI, DI .
SI DI , , . .
SP , () .
CS, SS, DS, ES :
|
|
CS ;
SS ;
DS ;
ES .
CS .
SS SP . SS BP.
DS , , . BX, SI, DI.
ES .
16 , , .
() , . , ( , , ). .
FLAGS .
16- 8- .
FLAGS 16 , . A 9 :
CF (0) , 1, ;
PF (2) , 1, ;
AF (4) , 1, ;
ZF (6) , 1, 0;
SF (7) , , SF SF = 0, 䒺 S = 1;
TF (8) , , TF = 1;
IF (9) , IF = 1, ;
DF (10) , , DF = 0, SI DI , DF = 1 ;
OF (11) , OF = 1 .
, , , DX , SP, BP, SI, DI . SS, DS, ES . CS , , TASM.
:
MOV AX,1234H; ; | 16- 1234 | |
MOV AX,1234H; ; | 16- 1234 | |
MOV AH,34H; ; | 34 | |
MOV AL,12H; ; | 12 | |
MOV BP,400H; | 400 | |
MOV SP,200H; | 200 | |
MOV SS,AX; ; | SS 3412 | |
MOV DS,AX; ; | DS 3412 | |
MOV ES,AX; ; | ES 3412 | |
MOV SI,400H; ; | SI 400 | |
PUSH BX; | ||
POP CX; | ||
MOV AX,CS; | ||
PUSH AX; | ||
POP BX; | ||
MOV SS,BX; | SS | |
MOV AX,0000H; | ||
PUSH DS; | ||
PUSH AX; |
|
|
:
1 8086?
2 8086?
3 ?
:
1 , BX DX .
2 , , CS?
8086
:
1 ?
2 ?
, , . ϳ . (CS IP), FLAGS, . IP , . , IP . , CS, IP FLAGS , , , , .
, , (, ) . 256 . . 7.13.
7.13
, . , INTR. , , INTA, , . , , .
NMI , , . . - . WAIT, .
. 7.2.
7.2
INTn INT 0 INT 3 NMI INTR TF | 5-31 32-255 |
, . , , , . IF.
.
( 0) , , .
|
|
( 1) TF , , . ϳ .
INT 3 .
( 4) INTO, F.
, , INTn.
() , , 00000 003 FF, 1 (. 7.14).
, . , . CS, IP. 4 , n 4. . INTn , . , , .
7.14
.
:
1 8086?
2 8086?
3 ?
:
1 20.
2 ?
7.2.5 32- ( )
:
1 Intel , .
2 Intel ?
32- Intel 80386 1985 ., 80- 6,5 . ., 8086 80286, . 80386 , , , . 4 . , MS-DOS UNIX 80287 80387. , 1 4 .
32- 80486, 1989 . 80386 :
- , . . 80486 - . RISC. 80486 DX 2 66 .
, , , - 32- .
80486 MS-DOS, Microsoft Windows, Unix System V /386, iRMX.
32- , , . , 4- . , .
̳ 80386 32- , 8086 80286. 80386 , 8086. г . 80386 16- 8086 1 . 16- 80286 1 32- 4 ; , .
32- , 80386 8- 32- - , ESP, . 16- BX, BP, SI, DI, 0, 8, 16 .
80386 EAX, EDX, ECX, EBX, - ESP, EBP, ESI, EDI, CS, SS, DS, ES, FS, GS, Ų, EFLAGS.
8086, 32 . 1, 8, 16, 32 64 , 1 32 , 16 32 . . 7.15.
EAX | AH | AL | , , - | ||||
EDX | DH | DL | |||||
ECX | CH | CL | |||||
EBX | BH | BL | |||||
EPB | BP | ||||||
ESI | SI | , | |||||
EDI | DI | ||||||
ESP | SP |
7.15 8086
EAX, EBX, ECX, EDX, ES; - EBP, ESP; ESI, EDI. 16 16- AX, BX, CX, DX, SI, DI, BP SP. (EIP) 32- . ³ . 16 EIP 16- . 8086 80286, . EFLAGS -, , , , , 8086 .
16 EFLAGS 16- FLAGS. EFLAGS . 7.16.
EIP | IP | |||
EFLAGS | FLAGS |
FLAGS | ||||||||||||||||||||||||
VF | RF | // | NT | IOPL | OF | DF | IF | TF | SF | ZF | // | AF | // | PF | // | CF | ||||||||
7.16
, FLAGS:
CF (0) . CF , ( ) ( ) . 8-, 16-, 32- CF 7, 15, 31.
AF (4) . AF , BCD 3 8, 16 32 .
OF (11) , , .
ZF (6) , , 0.
SF (7) , , , 8-, 16- 32- SF 8, 16, 31.
PF (2) (), , .
:
DF (10) , (0 , 1 , SI DI).
IF (9) , (1) , INTR.
IOPL (12, 13) , (CPL).
TF (8) , TF = 1 .
NT (14) , 1, ; NT EFLAGS IRET , :
NT = 0 IRET ;
NT = 1 IRET (TSS).
VM (17) , VM 1 I 8086;
RF (16) , RF = 1 .
:
س 16- , : CS , SS DS, ES, FS, GS (. 7.17).
˳ 32- .
80386 쳔 () , , . 16- 80286 64- . 80386 , .
80386 ( ) :
, ( ) , ;
, .
.
CS | CS- | ||||||||||
SS | SS- | ||||||||||
DS | DS- | ||||||||||
ES | ES- | ||||||||||
FS | FS- | ||||||||||
GS | GS- | ||||||||||
( ) | - ( CPU) | ||||||||||
7.17
. 7.18 80386.
7.18 80386
. 7.19 , ( ) .
.
.
7.19
(. 7.20) : , . . 7.20 . , , , ; ,
7.20
, 1 32- . . , 1 . 1 . , 1 . 4 , , 80386. Գ CR 3 . , . -, . - , . - .
, , ; ; (4 ) .
80386 . :
, , ;
, , .
80386 , , . : , , , , , , . JMP, CALL RET .
JMP CALL , , .
RET, , . ̳ RET , , .
80386
80386 80287 80387 82586.
80386 80387, 32- . .
() , . . 7.21 Ethernet.
7.21
, , : , , , , , , , .
80386, , , - Ethernet.
-' 80386 䳿 . - , . 䳺 .
-' 80386
- . , . -' , . , , . ', . - (-), 80386 . (-) . 80386 - .
, , . . - . - 2, 4, 8 16 . 32- . , , . , ( ), , ( ) .
-' 80386 64 16384 . 32 16 . ( ) 32 . . 8 8 8 8. - , . 30- : 16- 14- . ( 16... 31), ( 2... 15). . 16384 . , . -' . ϳ - . , . . , , . , , .
- , - , . . , -, , . . . 7.22 . , 80386 1. . 2 . -. , 2, 1 2.
, . , . .
80486 , , .
:
1 32- 80386 80486?
2 ϳ ?
3 80386 80486?
4 ?
5 ?
6 -.
7.22
:
1 -?
2 -.