Скачиваний:
6
Добавлен:
01.05.2014
Размер:
32.26 Кб
Скачать
.
-172 -


8.2 ЉЋ„€ђЋ‚ЂЌ€… ЉЋЊЂЌ„

8.2.1 ЋЎйЁ© ®Ў§®а

Љ®¤л ўбҐе Є®¬ ­¤ ®Ўа §гов Ї®¤¬­®¦Ґбвў® ®ЎйҐЈ® д®а¬ в  Є®¬ ­¤,
Ї®Є § ­­®Ј® ­  аЁб.8-1. Љ®¬ ­¤л б®бв®пв Ё§ 1 Ё«Ё 2-е Ў ©в®ў Є®¤ 
®ЇҐа жЁЁ, ў®§¬®¦­® ®ЇЁб вҐ«п  ¤аҐб , б®бв®п饣® Ё§ Ў ©в  "mod r/m"
Ё Ў ©в  "¬ бив Ў­®Ј® Ё­¤ҐЄб  ", ᬥ饭Ёп, Ґб«Ё вॡгҐвбп Ё, Ґб«Ё
вॡгҐвбп, Ї®«п ­ҐЇ®б।б⢥­­®Ј® ®ЇҐа ­¤ .
‚­гваЁ Є®¤  Ё«Ё Є®¤®ў ®ЇҐа жЁ© ¬®¦­® ®ЇаҐ¤Ґ«Ёвм Ў®«ҐҐ ¬Ґ«ЄЁҐ
Ї®«п Є®¤Ёа®ўЄЁ. ќвЁ Ї®«п ў амЁаговбп ў § ўЁбЁ¬®бвЁ ®в Є« бб 
®ЇҐа жЁ©. ќвЁ Ї®«п ®ЇаҐ¤Ґ«пов в Єго Ё­д®а¬ жЁо, Є Є ­ Їа ў«Ґ­ЁҐ
ЇҐаҐ¤ зЁ ®ЇҐа ­¤ , а §¬Ґа ᬥ饭Ёп, Є®¤ ­®¬Ґа  ॣЁбва  Ё«Ё
а бЇа®бва ­Ґ­ЁҐ §­ Є .
Џ®звЁ ўбҐ Є®¬ ­¤л, ®в­®бпйЁҐбп Є ®ЇҐа ­¤г, ­ е®¤п饬гбп ў
Ї ¬пвЁ, Ё¬Ґов Ў ©в ०Ё¬   ¤аҐб жЁЁ, б«Ґ¤гойЁ© ­ҐЇ®б।б⢥­­® § 
ЇҐаўл¬Ё Ў ©в ¬Ё Є®¤  ®ЇҐа жЁЁ. ќв®в Ў ©в, Ў ©в Ї®«п "mod r/m",
гЄ §лў Ґв ­  ०Ё¬  ¤аҐб жЁЁ, Є®в®ал© ¬®¦Ґв Ўлвм ЁбЇ®«м§®ў ­.
Ћб­®ў­ п Є®¤Ёа®ўЄ  Ў ©в  "mod r/m", зв®Ўл Ї®«­®бвмо ®ЇаҐ¤Ґ«Ёвм
०Ё¬  ¤аҐб жЁЁ.
ђҐ¦Ё¬л  ¤аҐб жЁЁ ¬®Јгв гЄ §лў вм ­  ­ҐЇ®б।б⢥­­®Ґ ᬥ饭ЁҐ,
Є®в®а®Ґ б«Ґ¤гҐв §  Ў ©в®¬ "mod r/m", Ё«Ё ­  Ў ©в Ё­¤ҐЄб­®Ј®
ᬥ饭Ёп. …б«Ё ᬥ饭ЁҐ ЇаЁбгвбвўгҐв, в® ҐЈ® ў®§¬®¦­ п ¤«Ё­ 
б®бв ўЁв 8, 16 Ё«Ё 32 а §ап¤ .
…б«Ё ў Є®¬ ­¤Ґ гЄ § ­ ­ҐЇ®б।б⢥­­л© ®ЇҐа ­¤, в® нв®в
­ҐЇ®б।б⢥­­л© ®ЇҐа ­¤ б«Ґ¤гҐв §  «оЎл¬ Ў ©в®¬ ᬥ饭Ёп.
ЌҐЇ®б।б⢥­­л© ®ЇҐа ­¤, Ґб«Ё ®­ § ¤ ­, ўбҐЈ¤  пў«пҐвбп Ї®б«Ґ¤­Ё¬
ў Ї®«Ґ Є®¬ ­¤л.
ђЁб.8-1 Ї®Є §лў Ґв ­ҐбЄ®«мЄ® Ї®«Ґ©, Є®в®алҐ ¬®Јгв Ї®пўЁвмбп ў
Є®¬ ­¤Ґ, в ЄЁҐ Є Є Ї®«Ґ "mod" Ё Ї®«Ґ "r/m", ­® ­Ґ Ї®Є §лў Ґв ўбҐе
Ї®«Ґ© Є®¬ ­¤л. ‚ Є®¬ ­¤Ґ ®ЎйҐЈ® д®а¬ в  ¬®Јгв ЇаЁбгвбвў®ў вм
­ҐбЄ®«мЄ® ¬Ґ­миЁе Ї®«Ґ©, в®Ј¤  б б®Ўб⢥­­л¬Ё Ў ©в ¬Ё Є®¤®ў
®ЇҐа жЁЁ. ’ Ў«Ёж  8-2 пў«пҐвбп Ї®«­л¬ бЇЁбЄ®¬ ўбҐе Ї®«Ґ©, Є®в®алҐ
¬®Јгв Ўлвм ЁбЇ®«м§®ў ­л ў Є®¬ ­¤ е 80386. ‡  в Ў«.8-2 ЇаЁўҐ¤Ґ­л
¤Ґв «м­лҐ в Ў«Ёжл Є®¤Ёа®ўЄЁ Є ¦¤®Ј® Ё§ Ї®«Ґ© Є®¬ ­¤л.

-------------------------------------------
|TTTTTTTT|TTTTTTTT|mod TTT r/m|ss index base| ====>
-------------------------------------------
7 0 7 0 7 6 5 3 2 0 7 6 5 3 2 0
--------v-------- -----v----- ------v-----
Є®¤ ®ЇҐа жЁЁ "mod r/m" "s-i-b"
(®¤Ё­ Ё«Ё ¤ў  Ў ©в Ў ©в
Ў ©в ) ------------v------------
(T ЎЁв®ў®Ґ ЇаҐ¤б- ॣЁбв®а­л© Ё  ¤аҐб­л©
в ў«Ґ­ЁҐ Є®¤  ўЁ¤ бЇҐжЁдЁЄ в®а 
®ЇҐа жЁЁ

====> d32|16|8|none data32|16|8|none


------v------ -------v--------
®в®Ўа ¦Ґ­ЁҐ Їап¬лҐ
 ¤аҐб  ¤ ­­лҐ
(4,2,1 Ў ©в (4,2,1 Ў ©в
Ё«Ё ®вбгвб- Ё«Ё ®вбгвб-
вўгҐв) вўгҐв)

ђЁб.8-1. Ћб­®ў­®© д®а¬ в Є®¬ ­¤
.
-173 -


’ Ў«Ёж  8-2. ‚­гв७­ЁҐ Ї®«п Є®¬ ­¤ 80386

-------------------------------------------------------------------
€¬п Ї®«п | „ҐвҐЄв®а (®ЇЁб вҐ«м) | —Ёб«® а §а冷ў
-------------------------------------------------------------------
w | ‚Ё¤ зЁб« : Ў ©в Ё«Ё Ї®«­л© д®а¬ в | 1
| (16 Ё«Ё 32 а §ап¤ ) |
d | Ќ Їа ў«Ґ­ЁҐ Ё§¬Ґ­Ґ­Ёп  ¤аҐб  | 1
| зЁб«  |
s | ‚Ё¤ ЇаҐ¤бв ў«Ґ­Ёп §­ Є  ў ­ҐЇ®б- | 1
| ।б⢥­­®¬ ®ЇҐа ­¤Ґ |
reg | Љ®¤ ॣЁбва  | 3
| |
mod r/m | ‚Ё¤ ०Ё¬   ¤аҐб жЁЁ (ЁбЇ®«­ЁвҐ«м- | 2 ¤«п "mod"
| ­л¬  ¤аҐб®¬ ¬®¦Ґв Ўлвм ᮤҐа¦ ­ЁҐ | 3 ¤«п "r/m"
| ॣЁбва  ®ЎйҐЈ® ­ §­ зҐ­Ёп |
ss | ђ §¬Ґа ᬥ饭Ёп ¤«п ०Ё¬  Ё­¤ҐЄб- | 2
| ­®©  ¤аҐб жЁЁ ᮠᬥ饭ЁҐ¬ |
index | Љ®¤ ॣЁбва , ЁбЇ®«м§гҐ¬®Ј® | 3
| Є Є Ё­¤ҐЄб­л© ॣЁбва |
base | Љ®¤ ॣЁбва , ЁбЇ®«м§гҐ¬®Ј® | 3
| Є Є Ў §®ўл© ॣЁбва |
sreg | Љ®¤ ᥣ¬Ґ­в­®Ј® ॣЁбва  CS, SS, | 2
| DS, ES |
sreg | Љ®¤ ᥣ¬Ґ­в­®Ј® ॣЁбва  CS, SS, | 3
| DS, ES, FS, GS |
tttn | „«п гб«®ў­ле Є®¬ ­¤, ўЁ¤ гб«®ўЁп | 4
| б®ўЇ ¤Ґ­Ёп Ё«Ё гб«®ўЁп а §«ЁзЁп |
-------------------------------------------------------------------


8.2.2 ђ биЁаҐ­Ёп б⥪  Є®¬ ­¤ ­  32 а §ап¤ 

‚ 80386 бЇЁб®Є Є®¬ ­¤ 86/186/286 а биЁапҐвбп ў ¤ўге
®ав®Ј®­ «м­ле ­ Їа ў«Ґ­Ёпе: ¤®Ў ў«повбп 32-е а §ап¤­лҐ д®а¬л ўбҐе
16-е а §ап¤­ле Є®¬ ­¤ ¤«п в®Ј®, зв®Ўл ®в«ЁзЁвм а Ў®вг б 32-е
а §ап¤­л¬Ё вЁЇ ¬Ё ¤ ­­ле Ё 32-е а §ап¤­лҐ ўЁ¤л  ¤аҐб жЁЁ бв ­®ўпвбп
ў®§¬®¦­л¬Ё ¤«п ўбҐе Ё­бвагЄжЁ© ®Ўа йҐ­Ёп Є Ї ¬пвЁ. ќв® ®ав®Ј®­ «м­®Ґ
а биЁаҐ­ЁҐ б⥪  Є®¬ ­¤ ¤®бвЁЈ Ґвбп б Ї®¬®ймо (D) ЎЁв  ў ®ЇЁб вҐ«Ґ
Є®¤  ᥣ¬Ґ­в  Ё Їг⥬ ­ «ЁзЁп ¤ўге ЇаҐдЁЄб®ў ў бЇЁбЄҐ Є®¬ ­¤.
Љ®¬ ­¤  ®ЇҐаЁагҐв б 16 Ё«Ё 32-е а §ап¤­л¬Ё ®ЇҐа ­¤ ¬Ё,
§ ўЁбпйЁ¬Ё ®в гбв ­®ўЄЁ D ЎЁв  ў ®ЇЁб вҐ«Ґ Є®¤  ᥣ¬Ґ­в , Є®в®ал© Ё
¤ Ґв ¤«Ё­г ®ЇҐа ­¤  ¤«п ®Ў®Ёе ®ЇҐа ­¤®ў Ё нд䥪⨢­®бвм  ¤аҐб жЁЁ,
Є®Ј¤  ЁбЇ®«­пҐвбп нв®в Є®¤ ᥣ¬Ґ­в . ЏаЁ ЁбЇ®«м§®ў ­ЁЁ Їаאַ© Ё«Ё
ўЁавг «м­®©  ¤аҐб жЁЁ 8086 ­ЁЄ ЄЁе Є®¤®ў ®ЇЁб вҐ«Ґ© ᥣ¬Ґ­в®ў ­Ґ
ЁбЇ®«м§гҐвбп, ­® §­ зҐ­ЁҐ D Ё«Ё O а бб¬ ваЁў Ґвбп ў­гваЁ 80386,
Є®Ј¤  ®ЇҐа жЁЁ ўлЇ®«­повбп Ё¬Ґ­­® ў нвЁе ўЁ¤ е  ¤аҐб жЁЁ (¤«п 16-Ё
а §ап¤­ле б«®ў ба ў­Ё¬ле б 86/186/286).
„ў  ЇаҐдЁЄб  (ЇаҐдЁЄб ¤«Ё­­л ®ЇҐа ­¤  Ё ЇаҐдЁЄб ¤«Ё­л
нд䥪⨢­®Ј®  ¤аҐб ) Ї®§ў®«пв ­Ґ ЇаЁ­Ё¬ вм ў® ў­Ё¬ ­ЁҐ ¤«Ё­л
®ЇҐа ­¤  Ё нд䥪⨢­®Ј®  ¤аҐб . ќвЁ ЇаҐдЁЄбл ¬®Јг⠯।иҐбвў®ў вм
«оЎ®¬г Ў ©вг Є®¤  ®ЇҐа жЁЁ Ё ¤Ґ©бвўгов в®«мЄ® ­  вг Є®¬ ­¤г,
Є®в®а®© ®­Ё ЇаҐ¤иҐбвўгов. …б«Ё ­Ґ®Ўе®¤Ё¬®, ЇҐаҐ¤ Ў ©в ¬Ё Є®¤ 
®ЇҐа жЁЁ ¬®Јгв Ўлвм гбв ­®ў«Ґ­л 1 Ё«Ё 2 нвЁе ЇаҐдЁЄб . Ќ «ЁзЁҐ
ЇаҐдЁЄб®ў ¤«Ё­л ®ЇҐа ­¤  Ё ¤«Ё­л нд䥪⨢­®Ј®  ¤аҐб  ¤®«¦­®
§ ¬Ґ­Ёвм ¤«Ё­г ®ЇҐа ­¤  Ё«Ё нд䥪⨢­®Ј®  ¤аҐб  ­  Їа®вЁў®Ї®«®¦­го
⮬г, Є®в®а п гЄ § ­  гбв ­®ўЄ®© D-ЎЁв . Ќ ЇаЁ¬Ґа, Ґб«Ё гбв ­®ўЄ 
D-ЎЁв®¬ ¤«Ё­л ®ЇҐа ­¤  ᮮ⢥вбвўгҐв 32-е а §ап¤­®¬г ®ЇҐа ­¤г, в®
­ «ЁзЁҐ ЇаҐдЁЄб  ¤«Ё­л ®ЇҐа ­¤  § бв ўЁв Ё­бвагЄжЁо ўлЇ®«­пвмбп Є Є
16-Ё а §ап¤­ п. ‚ ¤агЈ®¬ ЇаЁ¬ҐаҐ, Ґб«Ё D-ЎЁв нд䥪⨢­®Ј®  ¤аҐб 
16-Ё
-174 -


а §ап¤­л©, в® ­ «ЁзЁҐ ЇаҐдЁЄб  ¤«Ё­л нд䥪⨢­®Ј®  ¤аҐб  § бв ў«пҐв
Ё­бвагЄжЁо ЁбЇ®«м§®ў вм 32-е ЎЁв­л© нд䥪⨢­л©  ¤аҐб.
ќвЁ 32-е а §ап¤­лҐ а биЁаҐ­Ёп ¤®ЇгбвЁ¬л ў® ўбҐе ўЁ¤ е 80386,
ўЄ«оз п ўЁ¤ Їап¬ле  ¤аҐб®ў Ё ўЁавг «м­ле ¤«п 8086. ‚ нвЁе ўЁ¤ е
D-ЎЁв гЄ §лў Ґв ­  16-Ё а §ап¤­лҐ д®а¬л, Ї®н⮬㠯аҐдЁЄбл ­г¦­л,
зв®Ўл ®ЇаҐ¤Ґ«Ёвм 32-е а §ап¤­лҐ ®ЇҐа ­¤л Ё«Ё  ¤аҐб .
ЌҐ§ ўЁбЁ¬® ®в ЇаҐ¤иҐбвўгойЁе ®ЇЁб ­Ё©, Ё­бвагЄжЁЁ б 8- Ё 16-Ё
а §ап¤­л¬Ё ®ЇҐа ­¤ ¬Ё ­Ґ ў«Ёпов ­  ᮤҐа¦Ё¬®Ґ бв аиЁе а §а冷ў
а биЁаҐ­­ле ॣЁбва®ў.


8.2.3 Љ®¤Ёа®ў ­ЁҐ Ї®«Ґ© Є®¬ ­¤

‚­гваЁ Є®¬ ­¤л Ё¬Ґовбп ­ҐбЄ®«мЄ® Ї®«Ґ© гЄ §лў ойЁе ўЁ¤
 ¤аҐб жЁЁ, ўлЎ®а ॣЁбва  Ё в.¤. ’ Є®Ґ Є®¤Ёа®ў ­ЁҐ нвЁе Ї®«Ґ©
ЇаЁўҐ¤Ґ­® ­Ё¦Ґ.


8.2.3.1 Љ®¤Ёа®ў ­ЁҐ ¤«Ё­л ®ЇҐа ­¤  (W) Ї®«Ґ¬

„«п «оЎ®© ¤ ­­®© Є®¬ ­¤л, ўлЇ®«­повбп ®ЇҐа жЁЁ б ¤ ­­л¬Ё,
Є®¬ ­¤  ўлЇ®«­пҐвбп Є Є ®ЇҐа жЁп 32-е а §ап¤­ п Ё«Ё 16-Ё а §ап¤­ п.
‚­гваЁ ®Ја ­ЁзҐ­Ё© а §¬Ґа  ®ЇҐа жЁЁ, Ї®«Ґ W Є®¤ЁагҐв а §¬Ґа
®ЇҐа ­¤  Є Є Ё«Ё 1 Ў ©в Ё«Ё Є Є Ї®«­л© а §¬Ґа ®ЇҐа жЁЁ ў в Ў«ЁжҐ
ЇаЁўҐ¤Ґ­­®© ­Ё¦Ґ.

-------------------------------------------------------------------
W Ї®«Ґ | ђ §¬Ґа ®ЇҐа ­¤  ЇаЁ | ђ §¬Ґа ®ЇҐа ­¤  ЇаЁ
| 16-Ё а §ап¤­ле ®ЇҐа жЁпе| 32-е а §ап¤­ле
| б ¤ ­­л¬Ё | ®ЇҐа жЁпе б ¤ ­­л¬Ё
-------------------------------------------------------------------
0 | 8 ЎЁв | 8 ЎЁв
1 | 16 ЎЁв | 16 ЎЁв
-------------------------------------------------------------------


8.2.3.2 Љ®¤Ёа®ў ­ЁҐ reg Ї®«п ॣЁбва®ў ®ЎйҐЈ® ­ §­ зҐ­Ёп
(®б­®ў­ле)

ѓ« ў­л© ॣЁбва ®ЇаҐ¤Ґ«пҐвбп б Ї®¬®ймо reg Ї®«п, Є®в®а®Ґ ¬®¦Ґв
Ї®пўЁвбп ў ЇҐаўле (®б­®ў­ле) Ў ©в е Є®¤  ®ЇҐа жЁЁ Ё«Ё Є Є Ї®«Ґ r/m
ў Ў ©вҐ "mod r/m".

Љ®¤Ёа®ў ­ЁҐ Ї®«п reg, Є®Ј¤  Ї®«Ґ W ў Є®¬ ­¤Ґ ®вбгвбвўгҐв
-------------------------------------------------------------------
reg Ї®«Ґ | ‚лЎа ­­л© ॣЁбва | ‚лЎа ­­л© ॣЁбва
| ЇаЁ ўлЇ®«­Ґ­ЁЁ | ЇаЁ ўлЇ®«­Ґ­ЁЁ
| 16-Ё а §ап¤­ле ®ЇҐа жЁ© | 32-е а §ап¤­ле ®ЇҐа жЁ©
| б ¤ ­­л¬Ё | б ¤ ­­л¬Ё
-------------------------------------------------------------------
000 | Ax | EAX
001 | CX | ECX
010 | DX | EDX
011 | BX | EBX
100 | SP | ESP
101 | BP | EBP
101 | SI | ESI
101 | DI | EDI
-------------------------------------------------------------------
.
-175 -


Љ®¤Ёа®ў ­ЁҐ reg Ї®«п, ЇаЁ ­ «ЁзЁҐ W Ї®«п
-------------------------------------------------------------------
ђҐЈЁбва ®ЇаҐ¤Ґ«пҐ¬л© reg Ї®«Ґ¬ ў® ўаҐ¬п
ўлЇ®«­Ґ­Ёп ®ЇҐа жЁ© б 16-а §ап¤­л¬Ё ¤ ­­л¬Ё
-------------------------------------------------------------------
reg | ”г­ЄжЁп W Ї®«п
|--------------------------------------------------------
| (Ґб«Ё W=0) | (Ґб«Ё W=1)
-------------------------------------------------------------------
000 | AL | AX
001 | CL | CX
010 | DL | DX
011 | BL | BX
100 | AH | SP
101 | CH | BP
110 | DH | SI
111 | BH | DI
-------------------------------------------------------------------

-------------------------------------------------------------------
ђҐЈЁбва ®ЇаҐ¤Ґ«пҐ¬л© reg Ї®«Ґ¬ ў® ўаҐ¬п
ўлЇ®«­Ґ­Ёп ®ЇҐа жЁ© б 32-е а §ап¤­л¬Ё ¤ ­­л¬Ё
-------------------------------------------------------------------
reg | ”г­ЄжЁЁ W Ї®«п
|--------------------------------------------------------
| (Ґб«Ё W=0) | (Ґб«Ё W=1)
-------------------------------------------------------------------
000 | AL | EAX
001 | CL | ECX
010 | DL | EDX
011 | BL | EBX
100 | AH | ESP
101 | CH | EBP
110 | DH | ESI
111 | BH | EDI
-------------------------------------------------------------------
.
-176 -



8.2.3.3 Љ®¤Ёа®ў ­ЁҐ ᥣ¬Ґ­в­®Ј® ॣЁбва  Ї®«Ґ¬ (sreg)

Sreg-Ї®«Ґ ў ®б­®ў­ле Є®¬ ­¤ е-нв® 2-а §ап¤­®Ґ Ї®«Ґ,
Ї®§ў®«по饥 гЄ §лў вм ®¤Ё­ Ё§ зҐвлаҐе бЁЈ¬Ґ­в­ле ॣЁбва®ў 80286.
Sreg-Ї®«Ґ ў ¤агЈЁе Є®¬ ­¤ е-нв® 3-а §ап¤­®Ґ Ї®«Ґ, Ї®§ў®«по饥
гЄ §лў вм бЁЈ¬Ґ­вл FS Ё GS ¤«п 80386.

2-а §ап¤­®Ґ sreg Ї®«Ґ
-------------------------------------------------------------------
2-а §ап¤­®Ґ sreg Ї®«Ґ | ‚лЎа ­­л© бЁЈ¬Ґ­в­л© ॣЁбва
-------------------------------------------------------------------
00 | ES
01 | CS
10 | SS
11 | DS
-------------------------------------------------------------------

3-а §ап¤­®Ґ sreg Ї®«Ґ
-------------------------------------------------------------------
3-а §ап¤­®Ґ sreg Ї®«Ґ | ‚лЎа ­­л© бЁЈ¬Ґ­в­л© ॣЁбва
-------------------------------------------------------------------
000 | ES
001 | CS
010 | SS
011 | DS
100 | FS
101 | GS
110 | ­Ґ ЁбЇ®«м§гҐвбп
111 | ­Ґ ЁбЇ®«м§гҐвбп
-------------------------------------------------------------------


8.2.3.4 Љ®¤Ёа®ў ­ЁҐ ўЁ¤®ў  ¤аҐб жЁЁ

‡  ЁбЄ«о祭ЁҐ¬ бЇҐжЁ «м­ле Є®¬ ­¤ в ЄЁе Є Є PUSH Ё«Ё POP, Ј¤Ґ
ўЁ¤ ®ЇҐа жЁЁ ЇаҐ®ЇаҐ¤Ґ«Ґ­, ўЁ¤  ¤аҐб жЁЁ ўбҐе ⥪йЁе Ё­бвагЄжЁЁ
®ЇаҐ¤Ґ«пҐвбп Ў ©в ¬Ё  ¤аҐб жЁЁ, Є®в®алҐ б«Ґ¤гов §  ®бв «м­л¬ Є®¤®¬
®ЇҐа жЁЁ. ЏҐаўл© Ў ©в  ¤аҐб жЁЁ-Ў ©в "mod r/m",   б«Ґ¤гойЁ© Ў ©в
 ¤аҐб жЁЁ Ё­д®а¬ жЁЁ, "s-i-b" (жЁЄ«л Ё­¤ЁЄ жЁЁ) Ў ©в, ¬®¦Ґв
ЇаЁбгвбвў®ў вм.
S-i-b Ў ©в-нв® (Ў ©в Ў §л-иЄ «л-Ё­¤ҐЄб®ў) бЇҐжЁ «м­л© Ў ©в
®ЇаҐ¤Ґ«пойЁ©, Є®Ј¤  ЁбЇ®«м§гҐвбп 32-е а §ап¤­л© ўЁ¤  ¤аҐб жЁЁ, Ё
Є®Ј¤  Ў ©в "mod r/m" Ё¬ҐҐв r/m=100 Ё mod=00,01\/10. …б«Ё S-i-b Ў ©в
ЇаЁбгвбвўгҐв, в® 32-е а §ап¤­л© ўЁ¤  ¤аҐб жЁЁ пў«пҐвбп дг­ЄжЁҐ©
mod, SS, "Ё­¤ҐЄб" Ё Ї®«Ґ© "Ў §л".
ЏҐаўл© Ў ©в  ¤аҐб жЁЁ, "mod r/m" Ў ©в в Є¦Ґ б®бв®Ёв Ё§ 3-е
ЎЁв®ў (Ї®Є § ­, Є Є ’’’ ­  аЁб.8-1) Ё­®Ј¤  ЁбЇ®«м§гҐвбп Є Є
а биЁаҐ­ЁҐ ЇҐаў®Ј®, ®б­®ў­®Ј® Є®¤  ®ЇҐа жЁЁ. Ћ¤­ Є®, нвЁ ваЁ ЎЁв 
¬®Јгв Ўлвм ЁбЇ®«м§®ў ­л Є Є Ї®«Ґ ॣЁбв®а .
Љ®Ј¤  ўлзЁб«пҐвбп нд䥪⨢­л©  ¤аҐб ЁбЇ®«м§гҐвбп Ё«Ё 16-Ё
а §ап¤­ п Ё«Ё 32-е а §ап¤­ п  ¤аҐб жЁп. 16-Ё а §ап¤­ п  ¤аҐб жЁп
ЁбЇ®«м§гҐв 16-Ё а §ап¤­лҐ Є®¬Ї®­Ґ­вл ¤«п ўлзЁб«Ґ­Ёп 16-Ё а §ап¤­®Ј®
 ¤аҐб , ў в® ўаҐ¬п Є Є ЇаЁ 32-е а §ап¤­®©  ¤аҐб жЁЁ ЁбЇ®«м§гҐвбп
32-е а §ап¤­лҐ Є®¬Ї®­Ґ­вл  ¤аҐб  ¤«п ўлзЁб«Ґ­Ёп 32-е а §ап¤­®Ј®
 ¤аҐб . Љ®Ј¤  ЁбЇ®«м§гҐвбп 16-Ё а §ап¤­ п  ¤аҐб жЁп, Ў ©в "mod
r/m", Ё­вҐаЇаҐвЁагҐвбп Є Є бЇҐжЁдЁЄ в®а 16-Ё а §ап¤­®©  ¤аҐб жЁЁ.
Љ®Ј¤  ЁбЇ®«м§гҐвбп 32-е а §ап¤­ п  ¤аҐб жЁп, в® Ў ©в "mod r/m"
Ё­вҐаЇаҐвЁагҐвбп Є Є бЇҐжЁдЁЄ в®а 32-е а §ап¤­®©  ¤аҐб жЁЁ.
’ Ў«Ёжл, Є®в®алҐ б«Ґ¤гов ¤ «ҐҐ ®ЇаҐ¤Ґ«по⠢ᥠЄ®¤Ёа®ўЄЁ ўбҐе

-177 -


16- Ё 32-е а §ап¤­ле ўЁ¤®ў  ¤аҐб жЁЁ.


Љ®¤Ёа®ў ­ЁҐ 16-Ё а §ап¤­®Ј® ўЁ¤   ¤аҐб жЁЁ Ў ©в®¬ "mod r/m"

-------------------------------------------------------------------
mod r/m | ќд䥪⨢­лҐ  ¤аҐб 
-------------------------------------------------------------------
00 000 | DS:[BX+SI]
00 001 | DS:[BX+DI]
00 010 | SS:[BP+SI]
00 011 | SS:[BP+DI]
00 100 | DS:[SI]
00 101 | DS:[DI]
00 110 | DS:d16
00 111 | DS:[BX]
|
01 000 | DS:[BX+SI+d8]
01 001 | DS:[BX+DI+d8]
01 010 | SS:[BP+SI+d8]
01 011 | SS:[BP+DI+d8]
01 100 | DS:[SI+d8]
01 101 | DS:[DI+d8]
01 110 | DS:[BX+d8]
01 111 | SS:[BP+d8]
|
10 000 | DS:[BX+SI+d16]
10 001 | DS:[BX+DI+d16]
10 010 | SS:[BP+SI+d16]
10 011 | SS:[BP+DI+d16]
10 100 | DS:[SI+d16]
10 101 | DS:[DI+d16]
10 110 | DS:[BX+d16]
10 111 | SS:[BP+d16]
|
11 000 | ॣЁбва-ᬮваЁ ­Ё¦Ґ
11 001 | "-"
11 010 | "-"
11 011 | "-"
11 100 | "-"
11 101 | "-"
11 110 | "-"
11 111 | "-"
-------------------------------------------------------------------
.
-178 -


-------------------------------------------------------------------
ђҐЈЁбв®а, Є®в®ал© ®ЇаҐ¤Ґ«пҐвбп r/m
б 16-Ё а §ап¤­л¬Ё ®ЇҐа жЁп¬Ё ­ ¤ ¤ ­­л¬Ё
-------------------------------------------------------------------
mod r/m | ”г­ЄжЁп W Ї®«п
|-------------------------------------------------
| (Ґб«Ё W=0) | (Ґб«Ё W=1)
-------------------------------------------------------------------
11 000 | AL | AX
11 001 | CL | CX
11 010 | DL | DX
11 011 | BL | BX
11 100 | AH | SP
11 101 | CH | BP
11 110 | DH | SI
11 111 | BH | DI
-------------------------------------------------------------------

-------------------------------------------------------------------
ђҐЈЁбва, Є®в®ал© ®ЇаҐ¤Ґ«пҐвбп r/m
б 32-е а §ап¤­л¬Ё ®ЇҐа жЁп¬Ё ­ ¤ ¤ ­­л¬Ё
-------------------------------------------------------------------
mod r/m | ”г­ЄжЁп W Ї®«п
|-------------------------------------------------
| (Ґб«Ё W=0) | (Ґб«Ё W=1)
-------------------------------------------------------------------
11 000 | AL | EAX
11 001 | CL | ECX
11 010 | DL | EDX
11 011 | BL | EBX
11 100 | AH | ESP
11 101 | CH | EBP
11 110 | DH | ESI
11 111 | BH | EDI
-------------------------------------------------------------------


Љ®¤Ёа®ў ­ЁҐ 32-е а §ап¤­ле ўЁ¤®ў  ¤аҐб®ў "mod r/m"
Ў ©в®¬ (ЇаЁ ®вбгвбвўЁЁ S-i-b)

-------------------------------------------------------------------
mod r/m | ќд䥪⨢­лҐ  ¤аҐб 
-------------------------------------------------------------------
10 000 DS:[EBX+ESI+d32]
10 001 DS:[EBX+EDI+d32]
10 010 SS:[EBP+ESI+d32]
10 011 SS:[EBP+EDI+d32]
10 100 s-i-b ЇаЁбгвбвўгҐв
10 101 DS:[EDI+d32]
10 110 DS:[EBX+d32]
10 111 SS:[EBP+d32]

11 000 ॣЁбва-ᬮваЁ ­Ё¦Ґ
11 001 "-"
11 010 "-"
11 011 "-"
11 100 "-"
11 101 "-"
11 110 "-"
11 111 "-"

-179 -



00 000 DS:[EBX+ESI]
00 001 DS:[EBX+EDI]
00 010 SS:[EBP+ESI]
00 011 SS:[EBP+EDI]
00 100 s-i-b ЇаЁбгвбвўгҐв
00 101 DS:[EDI]
00 110 DS:d32
00 111 DS:[EBX]

01 000 DS:[EBX+ESI+d8]
01 001 DS:[EBX+EDI+d8]
01 010 SS:[EBP+ESI+d8]
01 011 SS:[EBP+EDI+d8]
01 100 s-i-b ЇаЁбгвбвўгҐв
01 101 DS:[EDI+d8]
01 110 DS:[EBX+d8]
01 111 SS:[EBP+d8]
-------------------------------------------------------------------

-------------------------------------------------------------------
ђҐЈЁбва, Є®в®ал© ®ЇаҐ¤Ґ«пҐвбп r/m
б 16-Ё а §ап¤­л¬Ё ®ЇҐа жЁп¬Ё ­ ¤ ¤ ­­л¬Ё
-------------------------------------------------------------------
mod r/m | ”г­ЄжЁп W Ї®«п
|-------------------------------------------------
| (Ґб«Ё W=0) | (Ґб«Ё W=1)
-------------------------------------------------------------------
11 000 | AL | AX
11 001 | CL | CX
11 010 | DL | DX
11 011 | BL | BX
11 100 | AH | SP
11 101 | CH | BP
11 110 | DH | SI
11 111 | BH | DI
-------------------------------------------------------------------

-------------------------------------------------------------------
ђҐЈЁбва, Є®в®ал© ®ЇаҐ¤Ґ«пҐвбп r/m
б 32-е а §ап¤­л¬Ё ®ЇҐа жЁп¬Ё ­ ¤ ¤ ­­л¬Ё
-------------------------------------------------------------------
mod r/m | ”г­ЄжЁп W Ї®«п
|-------------------------------------------------
| (Ґб«Ё W=0) | (Ґб«Ё W=1)
-------------------------------------------------------------------
11 000 | AL | EAX
11 001 | CL | ECX
11 010 | DL | EDX
11 011 | BL | EBX
11 100 | AH | ESP
11 101 | CH | EBP
11 110 | DH | ESI
11 111 | BH | EDI
-------------------------------------------------------------------
.
-180 -


Љ®¤Ёа®ў ­ЁҐ 32-е а §ап¤­ле ўЁ¤®ў  ¤аҐб®ў
(ЇаЁ mod r/m Ё s-i-b Ў ©в е)

-------------------------------------------------------------------
Ѓ §  | ќд䥪⨢­лҐ  ¤аҐб 
-------------------------------------------------------------------
00 000 | DS:[EAX+(¬ бив Ў­л© Ё­¤ҐЄб)]
00 001 | DS:[ECX+("-")]
00 010 | DS:[EDX+("-")]
00 011 | DS:[EBX+("-")]
00 100 | SS:[EAX+("-")]
00 101 | DS:[d32+("-")]
00 110 | DS:[ESI+("-")]
00 111 | DS:[EDI+("-")]
|
01 000 | DS:[EAX+(¬ бив Ў­л© Ё­¤ҐЄб)+d8]
01 001 | DS:[ECX+("-")+d8]
01 010 | DS:[EDX+("-")+d8]
01 011 | DS:[EBX+("-")+d8]
01 100 | SS:[ESP+("-")+d8]
01 101 | SS:[EBP+("-")+d8]
01 110 | DS:[ESI+("-")+d8]
01 111 | DS:[EDI+("-")+d8]
|
10 000 | DS:[EAX+(¬ бив Ў­л© Ё­¤ҐЄб)+d32]
10 001 | DS:[ECX+("-")+d32]
10 010 | DS:[EDX+("-")+d32]
10 011 | DS:[EBX+("-")+d32]
10 100 | SS:[EAX+("-")+d32]
10 101 | SS:[EBP+("-")+d32]
10 110 | DS:[ESI+("-")+d32]
10 111 | DS:[EDI+("-")+d32]
-------------------------------------------------------------------

-------------------------------------------------------------------
ss | Њ бив Ў
-------------------------------------------------------------------
00 | x1
01 | x2
10 | x4
11 | x8
-------------------------------------------------------------------

-------------------------------------------------------------------
€­¤ҐЄб | €­¤ҐЄб­л© ॣЁбва
-------------------------------------------------------------------
000 | EAX
001 | ECX
010 | EDX
011 | EBX
100 | ­Ґв
101 | EBP
110 | ESI
111 | EDI
-------------------------------------------------------------------
.
-181 -



8.2.3.5 Љ®¤Ёа®ў ­ЁҐ ­ Їа ў«Ґ­Ёп ®ЇҐа жЁЁ (d) Ї®«Ґ¬

‚ Ў®«миЁ­б⢥ ¤ўге®ЇҐа жЁ®­­ле ®ЇҐа жЁ© d Ї®«Ґ ЇаЁбгвбвўгҐв
¤«п гЄ § ­Ёп в®Ј®, зв®Ўл ®ЇҐа ­¤ а бб¬ ваЁў «бп Є  Ёбв®з­ЁЄ,  
в Є¦Ґ Є Є ЇаЁҐ¬­ЁЄ १г«мв в .

-------------------------------------------------------------------
d | Ќ Їа ў«Ґ­ЁҐ ®ЇҐа жЁЁ
-------------------------------------------------------------------
0 | ђҐЈЁбва/Џ ¬пвм <-- ђҐЈЁбва
| "reg" Ї®«Ґ гЄ §лў Ґв, зв® ®ЇҐа ­¤-Ёбв®з­ЁЄ;
| "mod r/m" Ё«Ё "mod ss index base" гЄ §лў ов ®ЇҐа ­¤,
| Єг¤  § Јаг¦ Ґвбп १г«мв в
-------------|-----------------------------------------------------
1 | ђҐЈЁбва <-- ђҐЈЁбва/Џ ¬пвм
| "reg" Ї®«Ґ гЄ §лў Ґв ®ЇҐа ­¤ १г«мв в ;
| "mod r/m" Ё«Ё "mod ss index base" гЄ §лў Ґв ®ЇҐа ­¤,
| Єг¤  § Јаг¦ Ґвбп १г«мв в
-------------------------------------------------------------------


8.2.3.6 Љ®¤Ёа®ў ­ЁҐ ®¤Ё­ а­®Ј® Ё а биЁаҐ­­®Ј® (s) Ї®«п

S Ї®«Ґ б­ з «  ўбваҐз Ґвбп ў ®ЇҐа жЁпе б Ї®«п¬Ё
­ҐЇ®б।б⢥­­ле ¤ ­­ле. S Ї®«Ґ ¤Ґ©бвўгҐв в®«мЄ® Ґб«Ё а §¬Ґа
­ҐЇ®б।б⢥­­ле ¤ ­­ле-8 а §а冷ў Ё ®­Ё а §¬Ґй овбп ў 16- Ё«Ё
32-е а §ап¤­ле Ї®«пе ­ §­ зҐ­Ёп.

-------------------------------------------------------------------
s | „Ґ©бвўЁҐ ў ०Ё¬Ґ 8-Ё а §ап¤-| „Ґ©бвўЁҐ ў ०Ё¬Ґ 16/32-е
| ­®Ј® д®а¬ в  ¤ ­­ле | а §ап¤­®Ј® д®а¬ в  ¤ ­­ле
-------------------------------------------------------------------
0 | ­Ґв | ­Ґв
| |
1 | ђ биЁаҐ­­л© д®а¬ в 8 а §а冷ў| ­Ґв
| ¤«п § Ї®«­Ґ­Ёп 16-Ё«Ё 32-е |
| а §ап¤­ле Ї®«Ґ© ­ §­ зҐ­Ёп |
-------------------------------------------------------------------
.
-182 -



8.2.3.7 Љ®¤Ёа®ў ­ЁҐ Ї®«п (tttn) гб«®ў­®Ј® вҐбв 

„«п Є®¬ ­¤ гб«®ў­ле (гб«®ў­ле ЇҐаҐе®¤®ў Ё гбв ­®ўЄЁ б®бв®п­Ёп)
tttn Є®¤ЁагҐвбп Є Є n-гЄ §лў о饥 ­  ЁбЇ®«м§®ў ­ЁҐ б®бв®п­Ёп
(n=0) Ё«Ё ҐЈ® ®ваЁж ­ЁҐ (n=1), Ё ttt ¤ о饥 б®бв®п­Ёп, Є®в®алҐ
­г¦­® Їа®ўҐаЁвм.

-------------------------------------------------------------------
Њ­Ґ¬®­ЁЄ  | ‘®бв®п­ЁҐ | tttn
-------------------------------------------------------------------
O | ЏҐаҐЇ®«­Ґ­ЁҐ | 0000
NO | ЌҐв ЇҐаҐЇ®«­Ґ­Ёп | 0001
B/NAE | ЌЁ¦Ґ/ЌҐ ўлиҐ Ё«Ё а ў­® | 0010
NB/AE | ЌҐ ­Ё¦Ґ/ўлиҐ Ё«Ё а ў­® | 0011
E/Z | ђ ў­®/­г«м | 0100
NE/NZ | ЌҐ а ў­®/ЌҐ ­г«м | 0101
BE/NA | ЌЁ¦Ґ Ё«Ё а ў­®/ЌҐ ўлиҐ | 0110
NBE/A | ЌҐ ­Ё¦Ґ Ё«Ё а ў­®/ўлиҐ | 0111
S | ‡­ Є ("1") | 1000
NS | ЌҐ §­ Є ("0") | 1001
P/PE | Џ аЁвҐв/Џ аЁвҐв зҐв­®бвЁ | 1010
NP/PO | ЌҐ Ї аЁвҐв/Џ аЁвҐв ­ҐзҐв­®бвЁ | 1011
L/NGE | ЊҐ­миҐ зҐ¬/ЌҐ Ў®«миҐ Ё«Ё а ў­® | 1100
NL/GE | ЌҐ ¬Ґ­миҐ зҐ¬/Ѓ®«миҐ Ё«Ё а ў­® | 1101
LE/NG | ЊҐ­миҐ зҐ¬ Ё«Ё а ў­®/Ѓ®«миҐ зҐ¬ | 1110
NLE/G | ЌҐ ¬Ґ­миҐ Ё«Ё а ў­®/Ѓ®«миҐ зҐ¬ | 1111
-------------------------------------------------------------------


8.2.3.8 Љ®¤Ёа®ў ­ЁҐ гЇа ў«по饣® Ё«Ё ®в« ¤®з­®Ј®, Ё«Ё
вҐбв®ў®Ј® ॣЁбва  (eee) Ї®«Ґ¬

„«п § Јаг§ЄЁ Ё ®ЇЁб ­Ёп гЇа ў«по饣®, ®в« ¤®з­®Ј® Ё вҐбв®ў®Ј®
ॣЁбва®ў.

Љ®Ј¤  а бб¬ ваЁў Ґвбп гЇа ў«пойЁ© ॣЁбва
-------------------------------------------------------------------
eee Љ®¤ | €¬п ॣЁбва 
-------------------------------------------------------------------
000 | CR0
010 | CR2
011 | CR3
-------------------------------------------------------------------
‹оЎ®© ¤агЈ®© Є®¤ ­Ґ ЁбЇ®«м§гҐвбп
-------------------------------------------------------------------

Љ®Ј¤  а бб¬ ваЁў Ґвбп ®в« ¤®з­л© ॣЁбва
-------------------------------------------------------------------
eee Љ®¤ | €¬п ॣЁбва 
-------------------------------------------------------------------
000 | DR0
001 | DR1
010 | DR2
011 | DR3
110 | DR6
111 | DR7
-------------------------------------------------------------------
‹оЎ®© ¤агЈ®© Є®¤ ­Ґ ЁбЇ®«м§гҐвбп
-------------------------------------------------------------------

-183 -



Љ®Ј¤  а бб¬ ваЁў Ґвбп вҐбв®ўл© аҐЈЁбва
-------------------------------------------------------------------
eee Љ®¤ | €¬п ॣЁбва 
-------------------------------------------------------------------
110 | TR6
111 | TR7
-------------------------------------------------------------------
‹оЎ®© ¤агЈ®© Є®¤ ­Ґ ЁбЇ®«м§гҐвбп
-------------------------------------------------------------------

Соседние файлы в папке 386TECH