Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Микропроцессор 80386 / 386TECH / TECH4
.TXT .
-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
-------------------------------------------------------------------
‹оЎ®© ¤агЈ®© Є®¤ Ґ ЁбЇ®«м§гҐвбп
-------------------------------------------------------------------
-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