. , :
? ( , ());
, - ( );
? ( ).
. 1 . 15 . , .
.
. , . . , . :
o . , . . :
2eh cs;
36h ss;
3eh ds;
26h es;
64h fs;
65h gs.
1
o (32 16-).
, , . 16 32 . 16 , , 16- (. . 1), 16- . . 2 . 32 , , 32- (. . 1), 32- 32- . . , .
o , (32 16-), . ?
i8086 16 .
D (. 16). D = 0, , , 16 ; D = 1, 32 .
66h 67h. 32- , 64 . 32- ( , ).
|
|
o ( ). . :
(rep 0f3h), ;
(repe/repz 0f3h, repne/repnz 0f2h), , .
. , , . , .
, , . .
modr/m. . . , modr/m (, ), (. ..3). sib (Scale-Index-Base --). modr/m (. . 1):
o mod , (. . 1, ). mod r/m, . , mod = 00, , , () . , . mod = 01, , , () . mod = 10, , , ( ) () . mod = 11, , : . mod , ;
o reg/ , , ;
o r/m mod , ( mod = 11), ( ) .
|
|
-- ( sib) .
sib 01 10 mod r/m= 100. sib :
o ss. index, sib.
ss : 1, 2, 4, 8.
. 12 ;
o index , ;
o base , . , .
. 8, 16 32- , , ( ), .
. , 8, 16 32- . , , modr/m.
, , . , , .
:
Opc d wMod reg r/m
: d w. d=1 , reg ; d=0 . w : w=1 , w=0 .
, , RG . 3- : md , reg , r/m / . reg , . r/m , , . : mod=11, reg r/m , .
Reg r/m | Reg r/m | ||||
w=0 | w=1 | w=0 | w=1 | ||
al | ax | ah | sp | ||
cl | cx | ch | bp | ||
dl | dx | dh | si | ||
bl | bx | bh | di |
reg . , r/m, reg .
mod , r/m : mod=11. , . , mod disp, 3- 4- .
r/m
r/m | EA | r/m | EA |
EA=(BX)+(SI)+disp | EA=(SI)+disp | ||
EA=(BX)+(DI)+disp | EA=(DI)+disp | ||
EA=(BP)+(SI)+disp | EA=(BP)+disp | ||
EA=(BP)+(DI)+disp | EA=(BX)+disp |
mod=00 r/m=110, EA=disp, .. . .. . (BP BX), (SI DI), .
|
|