Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Микропроцессор 486 / INTEL486 / AP_G
.TXT ННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННН
`¤`¬ЏаЁ«®¦ҐЁҐ G. ЋЇвЁ¬Ё§ жЁп Є®¤ `*
---------------------------------------------------------------------------
Џа®жҐбб®а i486 б®ў¬ҐбвЁ¬ Ї® Є®¤г Ё Ї® ¤ л¬ б Їа®жҐбб®а ¬Ё 386(TM) DX Ё
SX. Ѓл«Ё ¤®Ў ў«Ґл ўбҐЈ® «Ёим ваЁ Є®¬ ¤л га®ўп ЇаЁЄ« ¤®Ј®
Їа®Ја ¬¬Ёа®ў Ёп, Є®в®алҐ Ї®«Ґ§л ў бЇҐжЁ «мле бЁвг жЁпе. ‹оЎ п
бгйҐбвўгой п ЇаЁЄ« ¤ п Їа®Ја ¬¬ ¤«п Їа®жҐбб®а 8086/8088, 80286 Ё 386
¬®¦Ґв Ўлвм ўлЇ®«Ґ Їа®жҐбб®аҐ i486 Ґ¬Ґ¤«Ґ®, ЎҐ§ ўбпЄ®©
¤®Ї®«ЁвҐ«м®© ¬®¤ЁдЁЄ жЁЁ Ё ЇҐаҐЄ®¬ЇЁ«пжЁЁ. ‹оЎ®© Є®¬ЇЁ«пв®а, Є®в®ал©
ЈҐҐаЁагҐв Є®¤ ¤«п Їа®жҐбб®а®ў ᥬҐ©бвў 386, Ўг¤Ґв в Є¦Ґ ЈҐҐаЁа®ў вм
Є®¤, Є®в®ал© Ўг¤Ґв ўлЇ®«пвмбп Їа®жҐбб®аҐ i486 ЎҐ§ Є Є®©-«ЁЎ®
¬®¤ЁдЁЄ жЁЁ.
’Ґ¬ Ґ ¬ҐҐҐ, бгиҐбвўгҐв ҐбЄ®«мЄ® бЇ®б®Ў®ў ®ЇвЁ¬Ё§ жЁЁ Є®¤ , Є®в®алҐ
ᤥ« ов ўлЇ®«ҐЁҐ ЇаЁЄ« ¤ле Їа®Ја ¬¬ Їа®жҐбб®аҐ i486 Ў®«ҐҐ Ўлбвал¬,
ЇаЁ Ї®¬®йЁ ўбҐЈ® «Ёим ¬ЁЁ¬ «мле Ё§¬ҐҐЁ© Ё«Ё ў®®ЎйҐ ЎҐ§® ўбпЄЁе
Ё§¬ҐҐЁ© Ї® ®в®иҐЁо Є Ёе ॠ«Ё§ жЁЁ ¤«п Їа®жҐбб®а®ў 386 DX Ё«Ё SX, §
ЁбЄ«о票Ґ¬, Ўлвм ¬®¦Ґв, а §«ЁзЁ© ў а §¬ҐаҐ Є®¤ . ќвЁ бЇ®б®Ўл б«Ґ¤гҐв
ЇаЁ¬Ґпвм Ї® ®в®иҐЁо Є ўлЎ®аг Ї®б«Ґ¤®ў ⥫м®бвЁ Є®¬ ¤ Ё Є®¬ ¤ ¬
гЇа ў«ҐЁп ¤«п в®Ј®, зв®Ўл Ї®«гзЁвм ЇаҐЁ¬гйҐбвў ўбв஥®Ј® ¬®¤г«п ०Ё¬
Є®ўҐ©Ґа®© ®Ўа Ў®вЄЁ Їа®жҐбб®а i486 Ё Ў®«ми®© Єни-Ї ¬пвЁ, а бЇ®«®¦Ґ®©
®¤®© ¬ЁЄа®б奬Ґ.
`Є`¤G.1 ђҐ¦Ё¬л ¤аҐб жЁЁ `*
Џ®¤®Ў® Їа®жҐбб®аг 386, Їа®жҐбб®аг i486 Ґ®Ўе®¤Ё¬ ¤®Ї®«ЁвҐ«мл© в Єв ¤«п
ЈҐҐа жЁЁ ЁбЇ®«ЁвҐ«мле ¤аҐб®ў, Є®Ј¤ ЁбЇ®«м§гҐвбп Ё¤ҐЄбл© аҐЈЁбва.
Ѓ®«ҐҐ в®Ј®, Ґб«Ё ЁбЇ®«м§гҐвбп ®¤ Ё¤ҐЄб п Є®¬Ї®Ґв (в.Ґ. ®¤®ўаҐ¬Ґ®
Ґ ЁбЇ®«м§говбп Ў §®ўл© ॣЁбва Ё Ё¤ҐЄбл© аҐЈЁбва), Ё Ґв Ґ®Ўе®¤Ё¬®бвЁ
ў ¬ бив ЎЁа®ў ЁЁ, Ў®«ҐҐ Ўлбвал¬ пў«пҐвбп ЁбЇ®«м§®ў ЁҐ ॣЁбва ў
Є зҐб⢥ Ў §®ў®Ј®, Ґ ў Є зҐб⢥ Ё¤ҐЄб®Ј®. Ќ ЇаЁ¬Ґа :
mov eax, [esi] ; ЁбЇ®«м§®ў ЁҐ esi ў Є зҐб⢥ Ў §л
mov eax, [esi*] ; ЁбЇ®«м§®ў ЁҐ esi ў Є зҐб⢥ Ё¤ҐЄб , 1
; в Єв ¤®Ї®«ЁвҐ«м®
…б«Ё ЁбЇ®«м§говбп Ё Ў § , Ё Ё¤ҐЄб, Ё«Ё ЁбЇ®«м§гҐвбп ¬ бив ЎЁа®ў ЁҐ
Ё¤ҐЄб , Ў®«ҐҐ Ўлбвал¬ бЇ®б®Ў®¬ ¤аҐб жЁЁ пў«пҐвбп ЁбЇ®«м§®ў ЁҐ
Є®¬ЎЁЁа®ў ®Ј® ¬Ґв®¤ , ¤ ¦Ґ Ґб«Ё нв® Ё § ©¬Ґв ®¤Ё ¤®Ї®«ЁвҐ«мл©
в Єв®ўл© жЁЄ« Їа®жҐбб®а ЇаЁ ўлЇ®«ҐЁЁ.
Љ®Ј¤ ॣЁбва ЁбЇ®«м§гҐвбп ў Є зҐб⢥ Ў §®ў®© Є®¬Ї®Ґвл, в®Ј¤
ЁбЇ®«м§гҐвбп ¤®Ї®«ЁвҐ«мл© в Єв®ўл© жЁЄ«, Ґб«Ё нв®в ॣЁбва пў«п«бп
ЇаЁҐ¬ЁЄ®¬ ў Є®¬ ¤Ґ, ҐЇ®б।б⢥® ўлЇ®«пўиҐ©бп ЇҐаҐ¤ ¤ ®© Є®¬ ¤®©
(ЇаҐ¤Ї®« Ј Ґвбп, зв® ўбҐ ®ЇҐа жЁЁ 㦥 室пвб ў ЇаҐ¤ў аЁвҐ«м® ᮧ¤ ®©
®зҐаҐ¤Ё). Џ®н⮬㠤«п Ї®«гзҐЁп ЁЎ®«м襣® ЎлбвதҐ©бвўЁп ¤ўҐ Є®¬ ¤л
¤®«¦л а §¤Ґ«пвмбп Ї® Єа ©Ґ© ¬ҐаҐ ҐйҐ ®¤®© Є®¬ ¤®©. Ќ ЇаЁ¬Ґа:
add esi, eax ; esi - ॣЁбва-ЇаЁҐ¬ЁЄ
mov eax, [esi] ; esi - Ў §®ўл© ॣЁбва, 1 в Єв ¤®Ї®«ЁвҐ«м®
‘гйҐбвўгов в Є¦Ґ Ё ¤агЈЁҐ ҐпўлҐ Ё«Ё Є®бўҐлҐ ¬Ґв®¤л ЁбЇ®«м§®ў Ёп
ЇаЁҐ¬ЁЄ Ё Ў §®ў®Ј® ॣЁбва , ў ЇҐаўго ®зҐаҐ¤м ॣЁбва гЄ § ⥫п б⥪
ESP. ђҐЈЁбва ESP пў«пҐвбп Ґпў®© Ў §®© ўбҐе Є®¬ ¤ вЁЇ PUSH/POP/RET Ё ®
¦Ґ пў«пҐвбп Ґпўл¬ ЇаЁҐ¬ЁЄ®¬ ў Є®¬ ¤ е CALL/ENTER/LEAVE/RET/PUSH/POP.
Ѓ®«ҐҐ в®Ј®, Є®¬ ¤ LEAVE, б«Ґ¤гой ҐЇ®б।б⢥® § Є®¬ ¤®© RET,
Ўг¤Ґв ЁбЇ®«м§®ў вм ®¤Ё ¤®Ї®«ЁвҐ«мл© жЁЄ«. Ќ® Ґб«Ё Є®¬ ¤л LEAVE Ё RET
८࣠Ё§®ў л в ЄЁ¬ ®Ўа §®¬, зв® ®¤г ®в ¤агЈ®© ®в¤Ґ«пҐв Є Є п-в® ¤агЈ п
Є®¬ ¤ , Ґ вॡгҐвбп ЁЄ ЄЁе ¤®Ї®«ЁвҐ«мле в Єв®ў. (‘¬®ваЁ в Є¦Ґ ¤агЈЁҐ
४®¬Ґ¤ жЁЁ, Є б ойЁҐбп Є®¬ ¤л LEAVE).
ЌҐв ЁЄ Є®© Ґ®Ўе®¤Ё¬®бвЁ а §¤Ґ«пвм Ї®б«Ґ¤®ў ⥫млҐ Є®¬ ¤л PUSH/POP.
Џа®жҐбб®а i486 ¤®ЇгбЄ Ґв в Єго Ї®б«Ґ¤®ў ⥫м®бвм ЎҐ§ ЁбЇ®«м§®ў Ёп
¤®Ї®«ЁвҐ«м®Ј® в Єв .
‚ᥠ⠪ЁҐ ЇаҐ®Ўа §®ў Ёп Ї®б«Ґ¤®ў ⥫м®бвЁ Є®¬ ¤ Ґ ў«Ёпов ўлЇ®«ҐЁҐ
Їа®Ја ¬¬л 386 Їа®жҐбб®аҐ.
Џа®жҐбб®а i486 в Є¦Ґ вॡгҐв ¤®Ї®«ЁвҐ«м®Ј® в Єв ¤«п ўлЇ®«ҐЁп Є®¬ ¤л,
Є®в®а п Ё¬ҐҐв ®¤®ўаҐ¬Ґ® Ё ®ЇҐа ¤ - ҐЇ®б।б⢥®Ґ § 票Ґ, Ё
®ЇҐа ¤, § ¤ л© Є Є ᬥ饨Ґ ў Ї ¬пвЁ. Ќ ЇаЁ¬Ґа :
mov гЄ § вҐ«м ¤ў®©®Ґ б«®ў® foo, 1234h ; ®¤®ўаҐ¬Ґ® Ё
ҐЇ®б।б⢥®Ґ § 票Ґ, Ё ®ЇҐа ¤ - ; ᬥ饨Ґ ў Ї ¬пвЁ.
mov гЄ § вҐ«м ¤ў®©®Ґ б«®ў® baz, 1234h
mov [ebp-200], 1234h
Љ®Ј¤ вॡгҐвбп ЁбЇ®«м§®ў вм Є®бв вл, Ў®«ҐҐ нд䥪⨢® ЁбЇ®«м§®ў вм
ҐЇ®б।бвўҐлҐ § зҐЁп Є®бв в ў¬Ґбв® ЇаҐ¤ў аЁвҐ«м®© § Јаг§ЄЁ
Є®бв в ў ॣЁбвал. Ќ® Ґб«Ё ®¤ Ё в ¦Ґ Є®бв в ЁбЇ®«м§гҐвбп Ў®«миҐ,
祬 ®¤Ё а §, в® Ўлбв॥ Ўг¤Ґв § Јаг§Ёвм § 票Ґ нв®© Є®бв вл ў ॣЁбва
Ё § ⥬ ¬®Ј® а § ЁбЇ®«м§®ў вм нв®в ॣЁбва. ќв ®ЇвЁ¬Ё§ жЁп Ґ ў«ЁпҐв
ўлЇ®«ҐЁҐ Їа®Ја ¬¬л 386 Їа®жҐбб®аҐ. ‘«Ґ¤гой п Ї®б«Ґ¤®ў ⥫м®бвм
¤Ґ©бвўЁ© ўлЇ®«пҐвбп Ўлбв॥, 祬 ЇаЁўҐ¤Ґ п ўлиҐ, Ґб«Ё ўбҐ Є®¬ ¤л
室пвбп ў ЇаҐ¤ў аЁвҐ«м® ᮧ¤ ®© ®зҐаҐ¤Ё, Ё, Ї®бЄ®«мЄг Є®¬ ¤л Є®а®зҐ,
Ёе ў ¤Ґ©б⢨⥫м®бвЁ «ҐЈзҐ ®аЈ Ё§®ў вм ў ®зҐаҐ¤м :
mov eax, 1234h
mov гЄ § вҐ«м ¤ў®©®Ґ б«®ў® foo, eax
mov гЄ § вҐ«м ¤ў®©®Ґ б«®ў® baz, eax
mov [ebp-200], eax
`Є`¤G.2 Њ®¤г«м ЇаҐ¤ў аЁвҐ«м®© ўлЎ®аЄЁ `*
Њ®¤г«м ЇаҐ¤ў аЁвҐ«м®© ўлЎ®аЄЁ Їа®жҐбб®а i486 Ї®«гз Ґв ¤®бвгЇ Є
а бЇ®«®¦Ґ®© ¬ЁЄа®б奬Ґ Єни-Ї ¬пвЁ ¤«п в®Ј®, зв®Ўл § Ї®«Ёвм
ЇаҐ¤ў аЁвҐ«мго ®зҐаҐ¤м Є®¬ ¤ ў в®в ¬®¬Ґв, Є®Ј¤ Єни-Ї ¬пвм Ґ
§ ¤Ґ©бвў®ў ¤«п а Ў®вл Ё Ё¬ҐҐвбп ¤®бв в®з® ¬Ґбв ў ®зҐаҐ¤Ё ¤«п
а §¬ҐйҐЁп ¤агЈ®© бва®ЄЁ Єни (16 Ў ©в). …б«Ё ЇаҐ¤ў аЁвҐ«м п ®зҐаҐ¤м
Є®¬ ¤ Їгбв , ¬®¦Ґв Ї®вॡ®ў вмбп ваЁ ¤®Ї®«ЁвҐ«мле в Єв ¤«п § ЇгбЄ
®ў®© Є®¬ ¤л. ЏаҐ¤ў аЁвҐ«м п ®зҐаҐ¤м Є®¬ ¤ § Ё¬ Ґв 32 Ў ©в (2 бва®ЄЁ
ў Єни-Ї ¬пвЁ).
’ Є Є Є ¤®бвгЇ Є ¤ л¬ ўбҐЈ¤ Ё¬ҐҐв ўлбиЁ© ЇаЁ®аЁвҐв Ї® ба ўҐЁо б
§ Їа®б ¬Ё ЇаҐ¤ў аЁвҐ«мго ўлЎ®аЄг, Ї®¤¤Ґа¦ ЁҐ Єни-Ї ¬пвЁ ў б®бв®пЁЁ
§ пв®бвЁ ЇаЁ Ї®¬®йЁ ¤®бвгЇ Є ¤ л¬ ¬®¦Ґв § Ў«®ЄЁа®ў вм ¬®¤г«м
ЇаҐ¤ў аЁвҐ«м®© ўлЎ®аЄЁ.
Ѓ®«ҐҐ в®Ј®, ў ¦® ®аЈ Ё§®ў вм Є®¬ ¤л в ЄЁ¬ ®Ўа §®¬, зв®Ўл Ґ
ЁбЇ®«м§®ў « бм Ї®бв®п® иЁ Ї ¬пвЁ Їг⥬ Ї®б«Ґ¤®ў ⥫м®бвЁ Є®¬ ¤
®Ўа йҐЁп Є Ї ¬пвЁ. Љ®¬ ¤л ¤®«¦л Ўлвм ८࣠Ё§®ў л в ЄЁ¬ ®Ўа §®¬,
зв®Ўл Ё¬Ґ« бм Є®¬ ¤ , Ґ ®Ўа й ой пбп Є Ї ¬пвЁ ( ЇаЁ¬Ґа, Є®¬ ¤ а Ў®вл
ॣЁбва/ॣЁбва), Ї® Єа ©Ґ© ¬ҐаҐ § ¤ў в Єв ¤® в®Ј®, Є Є ЇаҐ¤ў аЁвҐ«м®
бд®а¬Ёа®ў п ®зҐаҐ¤м Є®¬ ¤ бв Ґв ЁбзҐаЇ ®©. Ќ ЇаЁ¬Ґа :
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і Љ®¬ ¤ і „«Ё і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і mov Ї ¬пвм, 1234567h і 10 Ў ©в і
і mov Ї ¬пвм, 1234567h і 10 Ў ©в і
і mov Ї ¬пвм, 1234567h і 10 Ў ©в і
і mov Ї ¬пвм, 1234567h і 10 Ў ©в і
і add ॣЁбва, ॣЁбва і 2 Ў ©в і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
…б«Ё ЇаҐ¤ў аЁвҐ«м® бд®а¬Ёа®ў п ®зҐаҐ¤м Є®¬ ¤ Ї®« ¬®¬Ґв з «
а Ў®вл, в®Ј¤ Ї®б«Ґ ўлЇ®«ҐЁп ваҐв쥩 Є®¬ ¤л MOV Ї®пў«пҐвбп ¤®бв в®з®
Їа®бва бвў ¤«п ¤агЈ®© бва®ЄЁ Єни ў ®зҐаҐ¤Ё, ®, в Є Є Є иЁ Ї ¬пвЁ
Їа®¤®«¦ Ґв Ї®бв®п® ЁбЇ®«м§®ў вмбп, Ґв Ґ®Ўе®¤Ё¬®Ј® ўаҐ¬ҐЁ ¤«п в®Ј®,
зв®Ўл ЇҐаҐ¤ вм бва®Єг Ё§ Єни ў ЇаҐ¤ў аЁвҐ«м® д®а¬Ёа㥬го ®зҐаҐ¤м Є®¬ ¤.
…б«Ё ЇҐаҐ¤ Ё«Ё Ї®б«Ґ ваҐв쥩 Є®¬ ¤л MOV Ґ Ўг¤Ґв ўбв ў«Ґ Є®¬ ¤ , Ґ
®Ўа й ой пбп Є Ї ¬пвЁ, ®зҐаҐ¤м Ўг¤Ґв ЁбзҐаЇ зҐвўҐав®© Є®¬ ¤®© MOV. ‚
н⮬ б«гз Ґ Є®¬ ¤л ¤®«¦л Ўлвм ८࣠Ё§®ў л в ЄЁ¬ ®Ўа §®¬, зв®Ўл
Є®¬ ¤ ADD Ўл« а бЇ®«®¦Ґ ¤® Ё«Ё Ї®б«Ґ ваҐв쥩 Є®¬ ¤л MOV, ¤«п в®Ј®,
зв®Ўл а §аҐиЁвм Єни-Ї ¬пвЁ ЇҐаҐб« вм ®зҐаҐ¤го Є®¬ ¤го бва®Єг ў ¬®¤г«м
ЇаҐ¤ў аЁвҐ«м®© ўлЎ®аЄЁ.
ЌЁ ®¤ Ё§ Ї®¤®Ўле ८࣠Ё§ жЁ© Є®¬ ¤ Ґ Ўг¤Ґв ®Є §лў вм ў«ЁпЁп
бЄ®а®бвм ўлЇ®«ҐЁп Їа®Ја ¬¬л Їа®жҐбб®аҐ 386 DX.
`Є`¤G.3 ‚ла ўЁў ЁҐ Єни Ё Є®¤ . `*
ЏаЁ а Ў®вҐ Їа®жҐбб®аҐ 386 ЇаЁҐ¬ЁЄ «оЎ®© Ё§ Є®¬ ¤ JUMP/CALL/ RET
¤®«¦Ґ Ўлвм ўла®ўҐ Ї® ¤аҐбг, Єа ⮬г 4, нв® Ї®¬®Ј Ґв ¬®¤г«о
ЇаҐ¤ў аЁвҐ«м®© ўлЎ®аЄЁ Є®¬ ¤ ў д®а¬Ёа®ў ЁЁ ЇаҐ¤ў аЁвҐ«м®© ®зҐаҐ¤Ё
Є®¬ ¤ б® ўбҐ© ¤®ЇгбвЁ¬®© Ўлбва®в®©, в Є Є Є ўлЎ®аЄ ўлЇ®«пҐвбп Ї® 4
Ў ©в § ®¤® ®Ўа 饨Ґ ЇаЁ ўла®ўҐле Ја Ёж е. ’ Є Є Є Їа®жҐбб®аҐ
i486 Ё¬ҐҐвбп Єни-Ї ¬пвм ¬ЁЄа®б奬Ґ, «оЎ п ЇаҐ¤ў аЁвҐ«м п ўлЎ®аЄ
Є®¬ ¤ Ўг¤Ґв ўлЎЁа вм 16 Ў ©в ¤«п § Ї®«ҐЁп бва®ЄЁ Єни . Џ® нв®© ЇаЁзЁҐ
Ё«гз襥 ЎлбвதҐ©бвўЁҐ ¬®¦Ґв Ўлвм ¤®бвЁЈгв® Їг⥬ ўла ўЁў Ёп
®ЇҐа ¤®ў-ЇаЁҐ¬ЁЄ®ў ў Є®¬ ¤ е JUMP/CALL/RET Ї® ¤аҐб ¬, Єа вл¬ 16.
Ћ¤ Є® ўла ўЁў ЁҐ Ї® ¤аҐб ¬, Єа вл¬ 16, пў«пҐвбп ЇаЁзЁ®© 㢥«ЁзҐЁп
а §¬Ґа®ў Є®¤ , Ё Ї®н⮬㠢 ¦Ґ Є®¬Їа®¬Ёбб ¬Ґ¦¤г бЄ®а®бвмо ўлЇ®«ҐЁп Ё
а §¬Ґа ¬Ё Є®¤ .
Ѓ®«ҐҐ в®Ј®, ४®¬Ґ¤гҐвбп, зв®Ўл в®«мЄ® ўе®¤лҐ ¤аҐб дгЄжЁ© (в.Ґ.,
ЇаЁҐ¬ЁЄЁ Є®¬ ¤ CALL) Ўл«Ё ўла®ўҐл Ї® ¤аҐб ¬, Єа вл¬ 16; ў в® ўаҐ¬п
Є Є ўбҐ ¬ҐвЄЁ (в.Ґ. ЇаЁҐ¬ЁЄЁ ў Є®¬ ¤ е JUMP) Їа®¤®«¦ «Ё Ўл ®бв ў вмбп
ўла®ўҐл¬Ё Ї® ¤аҐб ¬, Єа вл¬ 4.
Ќ Їа®жҐбб®аҐ i486 вॡгҐвбп ¤®Ї®«ЁвҐ«м® ¤® ЇпвЁ в Єв®ў ¤«п з «
ўлЇ®«ҐЁп Є®¬ ¤л, Ґб«Ё ® а §ЎЁў Ґвбп Ў®«ҐҐ 祬 ¤ўҐ 16-Ў ©влҐ
бва®ЄЁ Єни . Ќ ЇаЁ¬Ґа, Ґб«Ё Є®¬ ¤ CALL § Є зЁў Ґвбп ¤аҐбҐ
0x0000000… Ё б«Ґ¤®¬ § Ґ© Ё¤Ґв Є®¬ ¤ 㬮¦ҐЁп Ў ©в®ў, в®Ј¤ Ї®
ў®§ўа 饨Ё Ё§ ўлЇ®«ҐЁп Є®¬ ¤л CALL Їа®жҐбб®а ¤®«¦Ґ ЁбЇ®«м§®ў вм
¤®Ї®«ЁвҐ«м® Їпвм в Єв®ў ¤«п в®Ј®, зв®Ўл § Ї®«Ёвм ЇаҐ¤ў аЁвҐ«м®
д®а¬Ёа㥬го ®зҐаҐ¤м Є®¬ ¤, Ґб«Ё в®«мЄ® 楫Ґў п Є®¬ ¤ 㦥 Ґ 室Ёвбп ў
ЄниҐ. „ ¦Ґ Ґб«Ё 楫Ґў п Є®¬ ¤ 㦥 室Ёвбп ў ЄниҐ, ⥬ Ґ ¬ҐҐҐ
Ї®вॡгҐвбп ¤®Ї®«ЁвҐ«млҐ 2 жЁЄ« ¤«п в®Ј®, зв®Ўл ЇҐаҐб« вм ҐҐ ў ¬®¤г«м
ЇаҐ¤ў аЁвҐ«м®© ўлЎ®аЄЁ Є®¬ ¤.
Џ®н⮬г, Ґб«Ё Є®¬ЇЁ«пв®аг Ё§ўҐбв® ўла ўЁў ЁҐ ЇаЁҐ¬ЁЄ , в®Ј¤ Ўг¤Ґв
Ўлбв॥ ўЄ«озЁвм Є®¬ ¤л § Ї®«ҐЁп в Є, зв®Ўл Є®¬ ¤ 㬮¦ҐЁп Ў ©в®ў
зЁ « бм б ўла®ўҐ®Ј® ¤аҐб . ќв® ¬®¦Ґв Ўлвм ¤®бвЁЈгв® «ЁЎ® Їг⥬
ЇҐаҐбв ®ўЄЁ Ї®б«Ґ¤®ў ⥫м®бвЁ Є®¬ ¤, «ЁЎ® ўЄ«о票Ґ¬ Є®¬ ¤л NOP.
’ Є®Ґ ўла ўЁў ЁҐ Є®¬ ¤ Ўг¤Ґв в Є¦Ґ ў«Ёпвм бЄ®а®бвм ўлЇ®«ҐЁп
Їа®жҐбб®аҐ 386.
`Є`¤G.4. Љ®¬ ¤ NOP `*
€®Ј¤ Їа®Ја ¬¬ ¬ Ґ®Ўе®¤Ё¬ § Ї®«ЁвҐ«м ¬Ґ¦¤г Є®¬ ¤ ¬Ё ¤«п в®Ј®, зв®Ўл
ўла ўЁў вм Ёе. Ќ Їа®жҐбб®а е 386 Ё i486 в Є®ўл¬ § Ї®«ЁвҐ«Ґ¬ пў«пҐвбп
®¤®Ў ©в®ў п Є®¬ ¤ NOP, Є®в®а п ў ¤Ґ©б⢨⥫м®бвЁ ®Ў¬ҐЁў Ґв ᮤҐа¦Ё¬®Ґ
ॣЁбва …Ђ• б ᮤҐа¦Ё¬л¬ ॣЁбва …Ђ• ¦Ґ.
Љ®¬ ¤л ¤агЈЁе ¤«Ё ¬®Јгв Ўлвм ўлЇ®«Ґл § ®¤Ё жЁЄ«. ’ Ў«Ёж Ё¦Ґ
ЇаЁў®¤Ёв ҐЄ®в®алҐ Ё§ Ёе.
1-Ў © п inc ॣЁбва ; ¬®¤ЁдЁжЁагҐв ॣЁбва Ё
; д« ЈЁ
2-Ў ©в п mov ॣЁбва, ॣЁбва ; ў ¤Ґ©б⢨⥫м®бвЁ NOP
3-Ў ©в п lea ॣЁбва, 0[ॣЁбва] ; ў ¤Ґ©б⢨⥫м®бвЁ NOP,
; б ЁбЇ®«м§®ў ЁҐ¬
; 8-а §а冷Ј® ᬥ饨п
5-Ў ©в п mov eax, 0 ; ¬®¤ЁдЁжЁагҐв ॣЁбва eax
5-Ў ©в п add eax, 0 ; ¬®¤ЁдЁжЁагҐв д« ЈЁ
6-Ў ©в п lea reg, 0[eax] ; ў ¤Ґ©б⢨⥫м®бвЁ NOP,
; б ЁбЇ®«м§®ў ЁҐ¬
; 32-а §а冷Ј® ᬥ饨п
‚¤®Ў ў®Є, ¬®ЈЁҐ Є®¬ ¤л Їа®жҐбб®а®ў 386/i486 Ё¬Ґов ®б®ЎлҐ д®а¬л Ё ¤«Ёл,
ЁбЇ®«м§гойЁҐ ҐЇ®б।бвўҐлҐ ¤ лҐ а §«Ёз®© ¤«Ёл Ё«Ё б¬ҐйҐЁп ў Ї ¬пвЁ
а §«Ёз®© а §¬Ґа®бвЁ. ’ Є¦Ґ ҐЄ®в®алҐ Є®¬ ¤л Ё¬Ґов гЄ®а®зҐлҐ д®а¬л,
Ґб«Ё ®ЇҐа ¤®¬-ЇаЁҐ¬ЁЄ®¬ пў«пҐвбп ॣЁбва EAX/AX/AL.
ЌҐ ўбҐ Є®¬ ¤л б а §«Ёзл¬Ё д®а¬ ¬Ё Ўг¤гв ўлЇ®«пвмбп § ®¤® Ё ⮦Ґ
ўаҐ¬п. ЏаЁ¬Ґа®¬, ў Є®в®а®¬ а §«ЁзлҐ д®а¬л Ўг¤гв ўлЇ®«пвмбп § а §«Ёз®Ґ
ўаҐ¬п, пў«повбп Є®¬ ¤л PUSH/POP/REG. …б«Ё ®Ё § Є®¤Ёа®ў л ў ®¤®Ў ©в®ўго
д®а¬г, ®Ё Ўг¤гв ўлЇ®«пвмбп § ®¤Ё жЁЄ«, ® Ґб«Ё ®Ё § Є®¤Ёа®ў л ў
2-Ў ©вго д®а¬г, ®Ё Ўг¤гв ўлЇ®«пвмбп § 4 жЁЄ« .
Љ®¬ ¤л § Ї®«ҐЁп NOP Ўг¤гв в Є¦Ґ ўлЇ®«пвмбп Ўлбв॥, 祬 Є®¬ ¤ XCHG
Їа®жҐбб®а е ᥬҐ©бвў 386. €бЇ®«м§®ў ЁҐ а §«Ёзле д®а¬ ®¤®© Ё в®© ¦Ґ
Є®¬ ¤л Ґ ў«ЁпҐв ЎлбвதҐ©бвўЁҐ ЇаЁ ўлЇ®«ҐЁҐ Їа®жҐбб®аҐ 386.
`Є`¤G.5. Љ®¬ ¤л а Ў®вл б 楫묨 зЁб« ¬Ё`*
Џа®жҐбб®а i486 ¬®¦Ґв ўлЇ®«пвм Ў®«миЁбвў® з бв® ЁбЇ®«м§гҐ¬ле Є®¬ ¤
(в ЄЁе, Є Є § Јаг§Є Ё«Ё § Ї®¬Ё ЁҐ ॣЁбва , Ђ‹“-®ЇҐа жЁЁ б ॣЁбв஬, Ё
в.¤.) § ®¤Ё в Єв. Ћ¤ Є®, ў ®в«ЁзЁҐ ®в Їа®жҐбб®а 386, ҐЄ®в®алҐ Ё§
®ЇҐа жЁ© б Ї ¬пвмо § Ё¬ ов ⥯Ґам Ў®«миҐ жЁЄ«®ў, 祬 ᮮ⢥вбвўгойЁҐ
®ЇҐа жЁЁ б ॣЁбва ¬Ё. Ќ ЇаЁ¬Ґа, Є®¬ ¤ PUSH MEM :
ЪДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДї
і Љ®¬ ¤ і ’ Євл –Џ“ 386(’Њ) DX і ’ Євл –Џ“ i486(TM) і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДґ
і mov ॣЁбва,Ї ¬пвм і 4 і 1 і
і push ॣЁбва і 2 і 1 і
і push Ї ¬пвм і 5 і 4 і
АДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДЩ
T ЄЁ¬ ®Ўа §®¬, ¤«п Їа®жҐбб®а i486, § Јаг§Є § зҐЁп Ё§ Ї ¬пвЁ ў ॣЁбва
Ё § ⥬ § ҐбҐЁҐ нв®Ј® ॣЁбва ў б⥪ ЇаЁўҐ¤Ґв Є зЁб⮬г б®еа ҐЁо 2
в Єв®ў; ® ¤«п Їа®жҐбб®а 386 DX в ¦Ґ б ¬ п Ї®б«Ґ¤®ў ⥫м®бвм Є®¬ ¤
ЇаЁўҐ¤Ґв Є зЁбв®© Ї®вҐаҐ ®¤®Ј® в Єв . Ћ¤ Є® ¤«п в®Ј®, зв®Ўл § Јаг§Ёвм
§ 票Ґ ў ॣЁбва Їа®жҐбб®аҐ i486, Ґ®Ўе®¤Ё¬® ©вЁ Їгбв®© ॣЁбва;
Ґб«Ё ¤Ґ©бвўЁҐ Ї® § Јаг§ЄҐ § 票п гЁз⮦Ёв § 票Ґ ॣЁбва , Є®в®а®Ґ
¬®Ј«® Ўлвм ЁбЇ®«м§®ў ® Ї®§¤ҐҐ, в® б®еа ҐЁҐ § зҐЁп ¬®¦Ґв ЇаЁўҐбвЁ Є
®ваЁж ⥫쮬г १г«мв вг Ї® ЇаЁзЁҐ Ї®вҐаЁ Ї®ўв®а® ЁбЇ®«м§гҐ¬®Ј®
§ 票п ॣЁбва .
„агЈЁ¬ ЇаЁ¬Ґа®¬ б«г¦Ёв Є®¬ ¤ LEAVE :
ЪДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДї
і Љ®¬ ¤ і ’ Євл –Џ“ 386(’Њ) DX і ’ Євл –Џ“ i486(TM) і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДґ
і mov esp, ebp і 2 і 1 і
і pop ebp і 4 і 1+1 (ива д § esp) і
і leave і 4 і 5 і
АДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДЩ
ЋЇпвм ¦Ґ, ¤«п Їа®жҐбб®а i486, ўлЇ®«ҐЁҐ Ї®б«Ґ¤®ў ⥫м®бвЁ Є®¬ ¤
MOV/POP ЇаЁў®¤Ёв Є зЁб⮬г б®еа ҐЁо 2 в Єв®ў Ї® ба ўҐЁо б Є®¬ ¤®©
LEAVE; ў в® ўаҐ¬п, Є Є ўлЇ®«ппбм Їа®жҐбб®аҐ 386 DX, Є®¬ ¤ LEAVE
®¤®ўаҐ¬Ґ® Ё Ўлбв॥, Ё Є®а®зҐ. Ћ¤ Є®, в Є Є Є ЇҐаў п Є®¬ ¤ MOV
ЁбЇ®«м§гҐв ॣЁбва ESP ў Є зҐб⢥ ЇаЁҐ¬ЁЄ Ё Є®¬ ¤ POP в Є¦Ґ Ґпў®
ЁбЇ®«м§гҐв ॣЁбва ESP ў Є зҐб⢥ Ў §л (Є Є 㦥 гЇ®¬Ё «®бм ўлиҐ), нв
Ї®б«Ґ¤®ў ⥫м®бвм ¤Ґ©бвўЁ© ЇаЁў®¤Ёв Є Ї®«гзҐЁо ®¤®Ј® ива д®Ј® в Єв ,
Ґб«Ё в®«мЄ® ¤ўҐ Є®¬ ¤л Ґ а §¤Ґ«Ґл ¤агЈ®© Є®¬ ¤®©. …б«Ё ў®§¬®¦® в ЄЁ¬
®Ўа §®¬ ЇҐаҐгЇ®а冷зЁвм Є®¬ ¤л, зв®Ўл Є®¬ ¤л MOV/POP Ўл«Ё Ўл а §¤Ґ«Ґл
Ї®«Ґ§®© Є®¬ ¤®©, в®Ј¤ зЁбвл© ўлЁЈали ў в Єв е Ї® ба ўҐЁо б Є®¬ ¤®©
LEAVE б®бв ўЁ« Ўл 3 в Єв Їа®жҐбб®аҐ i486.
’ Є Є Є Їа®жҐбб®а i486 ¬®¦Ґв а Ў®в вм б ®ЇҐа ¤ ¬Ё ў ॣЁбва е Ўлбв॥,
祬 б ®ЇҐа ¤ ¬Ё ў Ї ¬пвЁ (Є Є Ё Ї®звЁ Ў®«миЁбвў® ¤агЈЁе аеЁвҐЄвга),
ў ¦® Ё¬Ґвм е®а®иҐҐ а §¬ҐйҐЁҐ ॣЁбва®ў Ё ®ЇвЁ¬Ё§ жЁо в४ЁЈ § 票© ў
«оЎ®¬ Ё§ Є®¬ЇЁ«пв®а®ў. ‘ ¤агЈ®© бв®а®л, Ґв б®еа ҐЁп ЇаЁ § Јаг§ЄҐ
Є ¦¤®Ј® § зҐЁп ЇҐаҐ¤ ҐЈ® ЁбЇ®«м§®ў ЁҐ¬, Є Є н⮠ᤥ« ® ў RISC
аеЁвҐЄвгаҐ. Џа®жҐбб®а i486 ¬®¦Ґв ўлЇ®«пвм Є®¬ ¤л Ђ‹“ вЁЇ
ॣЁбва,Ї ¬пвм в Є¦Ґ Ўлбва®, Є Є Ё Ї®б«Ґ¤®ў ⥫м®бвЁ Є®¬ ¤
§ Јаг§Ёвм/®ЇҐа жЁп/§ Ї®¬Ёвм. Ќ ЇаЁ¬Ґа, ¤«п ЇаЁбў Ёў Ёп : Ї ¬пвм1 =
Ї ¬пвм1 + Ї ¬пвм2 - ¬®¦® ЁбЇ®«м§®ў вм б«Ґ¤гойЁҐ Ї®б«Ґ¤®ў ⥫м®бвЁ
Є®¬ ¤, б ў амЁа®ў ЁҐ¬ ®ЎйҐЈ® Є®«ЁзҐбвў в Єв®ў ¤«п Їа®жҐбб®а®ў 386 DX Ё
SX, ® ®¤Ё¬ Ё ⥬ ¦Ґ Є®«ЁзҐбвў®¬ в Єв®ў ¤«п Їа®жҐбб®а i486 :
ЪДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДї
і Љ®¬ ¤ і ’ Євл –Џ“ 386(’Њ) DX і ’ Євл –Џ“ i486(TM) і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДґ
і mov eax, Ї ¬пвм1 і 4 і 1 і
і mov ebx, Ї ¬пвм2 і 4 і 1 і
і add eax, ebx і 2 і 1 і
і mov Ї ¬пвм1, eax і 2 і 1 і
і і і і
і mov eax, Ї ¬пвм1 і 4 і 1 і
і add eax, Ї ¬пвм2 і 6 і 2 і
і mov Ї ¬пвм1, eax і 2 і 1 і
і і і і
і mov eax, Ї ¬пвм1 і 4 і 1 і
і add Ї ¬пвм2, eax і 7 і 3 і
АДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДЩ
Љ®¬ ¤ MOVZX пў«пҐвбп ¤агЈЁ¬ ЇаЁ¬Ґа®¬, ў Є®в®а®¬ Їа®жҐбб®а i486 ¬®¦Ґв
а Ў®в вм Ўлбв॥ б ЁбЇ®«м§®ў ЁҐ¬ Їа®бвле Є®¬ ¤, Ґб«Ё ЇаЁҐ¬ЁЄ®¬ пў«пҐвбп
ॣЁбва, Є®в®ал© ў бў®о ®зҐаҐ¤м ¬®¦Ґв Ўлвм ¤аҐб㥬 Ї®Ў ©в®. Ќ ЇаЁ¬Ґа,
§ Јаг§Є § зҐЁп Ў ©в :
ЪДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДї
і Љ®¬ ¤ і ’ Євл –Џ“ 386(’Њ) DX і ’ Євл –Џ“ i486(TM) і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДґ
і movzx eax, Ї ¬пвм1 і 6 і 3+1 (ЇаҐдЁЄб 0Fh) і
і xor eax, eax і 2 і 1 і
і movb al, Ї ¬пвм1 і 4 і 1 і
АДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДЩ
’ ЄЁ¬ ®Ўа §®¬, ¤«п Їа®жҐбб®а i486, б з « ®зЁб⪠ॣЁбва Ё § ⥬
§ Јаг§Є § 票п ॣЁбва ¬®¦Ґв ¤ вм ў Є зҐб⢥ १г«мв в зЁбвго
нЄ®®¬Ёо ¤ўге в Єв®ў (ў § ўЁбЁ¬®бвЁ ®в в®Ј®, Ј¤Ґ в Єв ¤ҐЄ®¤Ёа®ў Ёп
ЇаҐдЁЄб ¬®¦Ґв Ўлвм ЇҐаҐЄал⠯।л¤г饩 Є®¬ ¤®©, ᬮваЁ ђ §¤Ґ« G.8,
Ї®бўпйҐл© ЏаҐдЁЄбл¬ Є®¤ ¬ ®ЇҐа жЁ©), ў в® ўаҐ¬п Є Є Ґв а §Ёжл ў
ўлЇ®«ҐЁЁ Є®¬ ¤ Їа®жҐбб®аҐ 386 DX.
`Є`¤G.6. Љ®¤л гб«®ўЁп `*
‚ ҐЄ®в®але п§лЄ е Їа®Ја ¬¬Ёа®ў Ёп ўлб®Є®Ј® га®ўп Ё®Ј¤ Ґ®Ўе®¤Ё¬®
ЇаҐ®Ўа §®ў вм १г«мв в Ўг«ҐўбЄ®Ј® гб«®ўЁп ( Ё¬Ґ®, а ўҐбвў ,
Ў®«миҐ-祬 Ё«Ё ¬ҐмиҐ-祬 Ё в Є ¤ «ҐҐ) ў § 票Ґ ЁбвЁ Ё«Ё «®¦м (в.Ґ.
0/1). Џа®жҐбб®ал 386 Ё i486 ®Ўлз® Ї®¤¤Ґа¦Ёў ов १г«мв вл ба ўҐЁп ў
ॣЁбваҐ д« Ј®ў, Ї®н⮬㠤«п в®Ј®, зв®Ўл ЇаҐ®Ўа §®ў вм १г«мв в ба ўҐЁп
ў § 票Ґ ЁбвЁ / «®¦м, Ґ®Ўе®¤Ё¬® ЇаҐ®Ўа §®ў вм § 票п д« Ј®ў ў 楫лҐ
§ 票п.
Џа®жҐбб®ал 386 Ё i486 Ё¬Ґов ¬®¦Ґбвў® Є®¬ ¤ SETcc, Є®в®алҐ ўлЇ®«пов
в Є®Ґ ЇаҐ®Ўа §®ў ЁҐ, ®¤ Є® Є®¬ ¤л SETcc § Ё¬ ов 3 Ё«Ё 4 в Єв ЇаЁ
ўлЇ®«ҐЁЁ Їа®жҐбб®аҐ i486, ў § ўЁбЁ¬®бвЁ ®в в®Ј®, Є®Ј¤ гб«®ўЁҐ
Їа®ўҐапҐвбп ЁбвЁг Ё«Ё «®¦®бвм. ‘ЇҐжЁ «м® ЇаЁ ба ўҐЁЁ § 票© ЎҐ§
§ Є Ў®«миҐ зҐ¬ Ё«Ё ¬ҐмиҐ зҐ¬, Ё¬ҐҐвбп Ґ®Ўп§ ⥫м п ¤«п
ЁбЇ®«м§®ў Ёп Ї®б«Ґ¤®ў ⥫м®бвм ¤Ґ©бвўЁ©. Ќ ЇаЁ¬Ґа, Ґб«Ё "x" Ё "y"
пў«повбп § 票ﬨ ЎҐ§ § Є , Ё "x" § Ја㦥 ў ॣЁбва eax Ё "y" § Ја㦥
ў ॣЁбва ecx, в®Ј¤ Є®¤ ¤«п ба ўҐЁп "(x<y)" ¬®¦Ґв Ўлвм Ї®«гзҐ
б«Ґ¤гойЁ¬Ё бЇ®б®Ў ¬Ё :
ЪДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДї
і Љ®¬ ¤ і ’ Євл –Џ“ 386(’Њ) DX і ’ Євл –Џ“ i486(TM) і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДґ
і cmp eax, ecx і 2 і 1 і
і mov eax, 0 і 2 і 1 і
і jnb L1 і 7 + m/3 і 3/1 і
і mov eax, 1 і 2 і 1 і
і L1: і і і
і cmp eax, ecx і 2 і 1 і
і setb al і 4/5 і 4/3 і
і movsx eax, al і 3 і 3 і
і cmp eax, ecx і 2 і 1 і
і sbb eax, eax і 2 і 1 і
і neg eax і 4 і 1 і
АДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДЩ
’ ЄЁ¬ ®Ўа §®¬, ЁбЇ®«м§®ў ЁҐ Є®¬ ¤л SBB ¤«п Ї®«г票п гбв ®ў«Ґле
§ 票© д« Ј®ў ЇаЁ ба ўҐЁЁ ЎҐ§ § Є ¤ Ґв Ёўлб襥 ЎлбвதҐ©бвўЁҐ, ЎҐ§
ЇаҐалў Ёп ЇаҐ¤ў аЁвҐ«м® ўлЎа ®Ј® Є®ўҐ©Ґа®Ј® Їа®жҐбб , в Є Є Є Ґ
ЁбЇ®«м§гҐвбп ЁЄ ЄЁе ЇҐаҐ¤ з гЇа ў«ҐЁп. ЋЎа вЁвҐ ўЁ¬ ЁҐ, зв® е®вп нв® Ё
бЇҐжЁдЁзҐбЄЁ© Їа®жҐбб ¤«п Їа®ўҐаЄЁ гб«®ўЁп "(x<y)", ЇаҐ¤бв ў«пҐвбп
ў®§¬®¦л¬ ЇаҐ®Ўа §®ў вм ¤агЈЁҐ Їа®ўҐаЄЁ Є ¤ ®© д®а¬Ґ Ї®б।бвў®¬ «ЁЎ®
®ваЁж Ёп гб«®ўЁп, «ЁЎ® § ¬Ґ®© ®ЇҐа ¤®ў ¬Ґбв ¬Ё.
’ ЄЁҐ § ¬Ґл Є®¬ ¤ Є®¤ гб«®ўЁп в Є¦Ґ ®Є §лў ов ў«ЁпЁҐ ўлЇ®«ҐЁҐ
Їа®Ја ¬¬ Їа®жҐбб®аҐ 386.
`Є`¤G.7. Љ®¬ ¤л а Ў®вл б® бва®Є ¬Ё `*
’ Є ¦Ґ, Є Є Ё Їа®жҐбб®а 386 DX, Їа®жҐбб®а i486 ўлЇ®«пҐв Є®¬ ¤л а Ў®вл б®
бва®Є ¬Ё ¬Ґ¤«ҐҐҐ, 祬 Є®¬ ¤л § Јаг§ЄЁ Ё б®еа ҐЁп. Ќ ЇаЁ¬Ґа, Є®¬ ¤
LODS :
ЪДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДї
і Љ®¬ ¤ і ’ Євл –Џ“ 386(’Њ) DX і ’ Євл –Џ“ i486(TM) і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДґ
і mov eax, [esi] і 4 і 1 і
і add esi, 4 і 2 і 1 і
і і і і
і lods і 5 і 4 і
АДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДЩ
Љ®¬ ¤ LODS ўлЇ®«пҐв Ў®«миҐ ¤Ґ©бвўЁ©, 祬 ®в¤Ґ«м п Є®¬ ¤ MOV, ®
в Є¦Ґ ®Ў®ў«пҐв ॣЁбва ESI. Ћ¤ Є®, Ґб«Ё Ґв Ґ®Ўе®¤Ё¬®бвЁ ў ®Ў®ў«ҐЁЁ
ॣЁбва , в® Є®¬ ¤ MOV ЇаЁў®¤Ёв Є зЁб⮬г б®еа ҐЁо 3 в Єв®ў Ё
Їа®жҐбб®аҐ 386 DX, Ё Їа®жҐбб®аҐ i486. ЏҐз «мл¬ Є®¬Їа®¬Ёбᮬ б«г¦Ёв в®,
зв® Є®¬ ¤ LODS Є®а®зҐ Є®¬ ¤л MOV.
’ Є¦Ґ Ё ЇаЁ Ґ Ї®ўв®апо饬бп ЁбЇ®«м§®ў ЁЁ ®в¤Ґ«млҐ Є®¬ ¤л MOV ўбҐЈ¤
Ўг¤гв ўлЇ®«пвмбп Ўлбв॥, 祬 бва®з п Є®¬ ¤ MOVS. € ¤ ¦Ґ ў жЁЄ«Ґ RET,
Ґб«Ё жЁЄ« ¤®бв в®з® Є®а®вЄЁ©, Ўлбв॥ ЁбЇ®«м§®ў вм ®в¤Ґ«млҐ Є®¬ ¤л
§ Јаг§ЄЁ Ё б®еа ҐЁп, 祬 гбв ў«Ёў вм § зҐЁп ¤«п REP'MOVS.
Љ®¬Їа®¬Ёб®¬ ў®ўм пў«пҐвбп Їа®вЁў®бв®пЁҐ бЄ®а®бвЁ ўлЇ®«ҐЁп Ё а §¬Ґа®ў
Є®¤ , ЇаЁ ЁбЇ®«м§®ў ЁЁ Є®¬ ¤л REP'MOVS жЁЄ« Ўг¤Ґв Є®а®зҐ, ® ¬Ґ¤«ҐҐҐ.
Ћ¤ Є®, Є Є гЄ §лў «®бм ўлиҐ, ¤«Ё п Ї®б«Ґ¤®ў ⥫м®бвм Є®¬ ¤ § Јаг§ЄЁ Ё
б®еа ҐЁп ¬®¦Ґв § Єалвм ¤®бвгЇ ¬®¤г«о ЇаҐ¤ў аЁвҐ«м®© ўлЎ®аЄЁ Є
ЇаҐ¤ў аЁвҐ«м®¬г д®а¬Ёа®ў Ёо ®зҐаҐ¤Ё Є®¬ ¤ Ё в ЄЁ¬ ®Ўа §®¬ § в®а¬®§Ёвм
Їа®жҐбб®а, Ї®н⮬㠥 ४®¬Ґ¤гҐвбп ЇҐаҐ¬Ґй вм Ў®«ҐҐ 16 Ў ©в Є®¬ ¤ ¬Ё
§ Јаг§ЄЁ Ё б®еа ҐЁп ЎҐ§ ЁбЇ®«м§®ў Ёп ¬Ґ¦¤г Ё¬Ё Є®¬ ¤, Ґ а Ў®в ойЁе б
Ї ¬пвмо, зв®Ўл Ї®§ў®«Ёвм гбва®©бвўл ЇаҐ¤ў аЁвҐ«м®© ўлЎ®аЄЁ ®Ўа вЁвмбп Є
Єни-Ї ¬пвЁ.
Ђ «®ЈЁзлҐ ®ЇвЁ¬Ё§ жЁЁ ¬®Јгв Ўлвм Їа®ўҐ¤Ґл ¤«п Є®¬ ¤л STOS Ё ¤агЈЁе
Є®¬ ¤ а Ў®вл б® бва®Є ¬Ё. ’ ЄЁҐ § ¬Ґл Є®¬ ¤ а Ў®вл б® бва®Є ¬Ё ў«Ёпов
ўлЇ®«ҐЁҐ Їа®Ја ¬¬л 386 Їа®жҐбб®аҐ.
`Є`¤G.8. Љ®¬ ¤л а Ў®вл б зЁб« ¬Ё б Ї« ў о饩 в®зЄ®©`*
’ Є ¦Ґ, Є Є Ё Є®¬ЎЁ жЁп Їа®жҐбб®а 386 б ¬ ⥬ вЁзҐбЄЁ¬ б®Їа®жҐбб®а®¬
387, ¬®¤г«м ®Ўа Ў®вЄЁ ®ЇҐа жЁ© Ї« ў о饩 в®зЄ®© Їа®жҐбб®а i486 пў«пҐвбп
®в¤Ґ«мл¬ ўлзЁб«ЁвҐ«мл¬ гбва®©бвў®¬ Ё а Ў®в Ґв Ї а ««Ґ«м® б
楫®зЁб«Ґл¬ ¬®¤г«Ґ¬, ¤ ¦Ґ Ґб«Ё дЁ§ЁзҐбЄЁ ®Ё Ё а §¬Ґй овбп ®¤®©
¬ЁЄа®б奬Ґ. ‘«Ґ¤®ў ⥫м®, «оЎ п Ї®б«Ґ¤®ў ⥫м®бвм Є®¬ ¤, Є®в®а п
¤®ЇгбЄ Ґв Ї а ««Ґ«м®Ґ ЁбЇ®«м§®ў ЁҐ нвЁе ¤ўге Ґ§ ўЁбЁ¬ле ¬®¤г«Ґ©, Ўг¤Ґв
а Ў®в вм Ўлбв॥.
Љ®¬ ¤л а Ў®вл б зЁб« ¬Ё б Ї« ў о饩 в®зЄ®© Ґ б«Ґ¤гҐв а §¬Ґй вм ®¤г
ўб«Ґ¤ § ¤агЈ®©. ќвЁ Є®¬ ¤л б«Ґ¤гҐв гЇ®а冷зЁвм в ЄЁ¬ ®Ўа §®¬, зв®Ўл ¤ўҐ
Є®¬ ¤л ўлзЁб«ҐЁ© б Ї« ў о饩 § Їпв®© а §¤Ґ«п«Ёбм ¤агЈ®©, Ґ бўп§ ®© б
зЁб« ¬Ё б Ї« ў о饩 в®зЄ®©, Є®¬ ¤®©, зв®Ўл ¤ў ¬®¤г«п ¬®Ј«Ё а Ў®в вм
Ї а ««Ґ«м®. ЋЎа вЁвҐ ®б®Ў®Ґ ўЁ¬ ЁҐ Їа®¤®«¦ЁвҐ«м®бвм ў в Єв е
Їа®жҐбб®а ¤«п Є®¬ ¤ а Ў®вл б зЁб« ¬Ё б Ї« ў о饩 в®зЄ®©, ¤«п в®Ј®, зв®Ўл
Ї®¤е®¤п饥 Є®«ЁзҐбвў® 楫®зЁб«Ґле Є®¬ ¤ ¬®Ј«® Ўлвм ўлЇ®«Ґ® ЎҐ§ в®Ј®,
зв®Ўл Ї®бв ўЁвм ¬®¤г«м ®Ўа Ў®вЄЁ ®ЇҐа жЁ© б Ї« ў о饩 в®зЄ®© ў б®бв®пЁҐ
®¦Ё¤ Ёп ¬®¬Ґв , Є®Ј¤ ¬®¦Ґв Ўлвм ўлЇ®«Ґ б«Ґ¤гой п Є®¬ ¤ ўлзЁб«ҐЁ©
б Ї« ў о饩 в®зЄ®©. ’ Є®Ґ Ё§¬ҐҐЁҐ Ї®ап¤Є Є®¬ ¤ в Є¦Ґ ў«ЁпҐв
бЄ®а®бвм а Ў®вл ў Є®¬ЎЁ жЁЁ Їа®жҐбб®а 386/¬ ⥬ вЁзҐбЄЁ© б®Їа®жҐбб®а 387,
®¤ Є® Є®«ЁзҐбвў® в Єв®ў, ЁбЇ®«м§гҐ¬®Ґ Їа®жҐбб®а®¬, ¬®Ј® ¬ҐмиҐ, 祬
Є®«ЁзҐбвў® в Єв®ў, ЁбЇ®«м§гҐ¬®Ґ ¬ ⥬ вЁзҐбЄЁ¬ б®Їа®жҐбб®а®¬ 387 ¤«п
ўлЇ®«ҐЁп ®¤Ёе Ё вҐе ¦Ґ ¤Ґ©бвўЁ© ¤ зЁб« ¬Ё б Ї« ў о饩 в®зЄ®©.
Љ Є Ї®¬Ё ЁҐ, § Ї®¬ЁвҐ, зв® «оЎ®Ґ Їа®б⮥ ЇҐаҐ¬ҐйҐЁҐ Ё«Ё гЇ®а冷票Ґ
зЁбҐ« б Ї« ў о饩 в®зЄ®© ¤®«¦® ўлЇ®«пвмбп Ґ ЇаЁ Ї®¬®йЁ ¬®¤г«п ®Ўа Ў®вЄЁ
®ЇҐа жЁ© б Ї« ў о饩 § Їпв®©, ЇаЁ Ї®¬®йЁ 楫®зЁб«Ґ®Ј® ¬®¤г«п б
楫®зЁб«Ґл¬Ё ¦Ґ Є®¬ ¤ ¬Ё. ’ Є¦Ґ Є®¬ ¤ FWAIT ЁЄ®Ј¤ Ґ вॡгҐвбп ¤«п
ўлЇ®«ҐЁп Їа®б⥩иЁе ўлзЁб«ҐЁ© б Ї« ў о饩 в®зЄ®©.
`Є`¤G.9. ЏаҐдЁЄблҐ Є®¤л ®ЇҐа жЁ© `*
Ќ «оЎ®¬ Ёб Їа®жҐбб®а®ў ўбҐ ЇаҐдЁЄблҐ Є®¤л ®ЇҐа жЁ©, ўЄ«оз п 0Fh,
ЇҐаҐЄалвЁҐ ᥣ¬Ґв , а §¬Ґа®бвм/ ¤аҐб жЁп ®ЇҐа ¤ , Ў«®ЄЁа®ўЄ иЁ,
Ї®ўв®ал Ё в Є ¤ «ҐҐ вॡгҐв ¤®Ї®«ЁвҐ«мле в Єв®ў Їа®жҐбб®а ¤«п
¤ҐЄ®¤Ёа®ў Ёп. ќвЁ в Євл ¬®Јгв Ўлвм ЇҐаҐЄалвл § бзҐв ўлЇ®«ҐЁп
ЇаҐ¤л¤гйЁе Є®¬ ¤, Ґб«Ё ®Ё вॡгов Ў®«ҐҐ ®¤®Ј® в Єв ¤«п бў®ҐЈ®
ўлЇ®«ҐЁп.
Ѓ®«ҐҐ в®Ј®, Ўлбв॥ Ўг¤Ґв ЇаҐ®Ўа §®ў вм 16-а §ап¤л© ®ЇҐа ¤ ў
32-а §ап¤л© Ё § ⥬ а Ў®в вм б 32-а §ап¤л¬ § 票Ґ¬, ў¬Ґбв® в®Ј®, зв®Ўл
ЁбЇ®«м§®ў вм ЇаҐдЁЄб 66h ¤«п а Ў®вл б 16-а §ап¤л¬ ®ЇҐа ¤®¬.
…б«Ё ЁбЇ®«м§гҐвбп ЇаҐдЁЄбл© Є®¤ ®ЇҐа жЁЁ, Ї®Їлв ©вҐбм ЇҐаҐгЇ®а冷зЁвм
Є®¬ ¤л в ЄЁ¬ ®Ўа §®¬, зв®Ўл Є®¬ ¤ б ЇаҐдЁЄб®¬ бв®п« б«Ґ¤®¬ §
Є®¬ ¤®©, Є®в®а®© ¤«п ўлЇ®«ҐЁп вॡгҐвбп ҐбЄ®«мЄ® в Єв®ў.
„®Ї®«ЁвҐ«м®© ЇаЁзЁ®© ҐЁбЇ®«м§®ў Ёп 16-а §ап¤ле ®ЇҐа ¤®ў пў«пҐвбп
в®, зв® Ґб«Ё ЇаЁҐ¬ЁЄ®¬ Є®¬ ¤л пў«пҐвбп 16-а §ап¤л© ॣЁбва Ё
ҐЇ®б।б⢥® б«Ґ¤гой п § Ґ© Є®¬ ¤ ЁбЇ®«м§гҐв нв®в ॣЁбва ў
Є зҐб⢥ 32-а §а冷Ј® ®ЇҐа ¤ , в® Ўг¤Ґв « Ј вмбп ®¤Ё ива д®© в Єв.
Љ Є Ё а ҐҐ, нвЁ ¤ўҐ Є®¬ ¤л ¤®«¦л Ўлвм ®в¤Ґ«Ґл ¤агЈ ®в ¤агЈ Є Є®©-«ЁЎ®
Ё®© Є®¬ ¤®© ¤«п в®Ј®, зв®Ўл Ё§ЎҐ¦ вм ива д .
`Є`¤G.10. ЏҐаҐЄалў ойЁҐбп в Євл`*
Љ Є 㦥 гЇ®¬Ё «®бм ўлиҐ, Ё¬ҐҐвбп ҐбЄ®«мЄ® бЁвг жЁ© ЇаЁ Є®в®але Є®¬ ¤Ґ
вॡговбп ¤«п ўлЇ®«ҐЁп ¤®Ї®«ЁвҐ«млҐ в Євл Їа®жҐбб®а , ® ҐЄ®в®алҐ Ё§
нвЁе в Єв®ў ¬®Јгв Ўлвм ЇҐаҐЄалвл ¤агЈ § бзҐв ¤агЈ . Џ®н⮬㠪®¬ ¤л,
ЁбЇ®«м§гойЁҐ ¬®Ј®зЁб«ҐлҐ ў®§¬®¦®бвЁ, ®ЇЁб лҐ а ҐҐ, Ґ ®Ўп§ ⥫м®
Ўг¤гв Ё¬Ґвм ива 䮥 ўаҐ¬п, Є®в®а®Ґ а ўпҐвбп б㬬 ஬㠪®«ЁзҐбвўг
ива д®ў ®в¤Ґ«мле Є®¬ ¤.
‚ з бв®бвЁ, ЇҐаҐЄалў овбп б«Ґ¤гойЁҐ Є®¬ЎЁ жЁЁ :
- Ќ «ЁзЁҐ Ё¤ҐЄб®Ј® ॣЁбва Ё ҐЇ®б।б⢥®Ј® § зҐЁп ў¬Ґб⥠б®
ᬥ饨Ґ¬ ў Ї ¬пвЁ Ўг¤Ґв бв®Ёвм ўбҐЈ® ®¤Ё ива д®© в Єв Їа®жҐбб®а .
- Ќ «ЁзЁҐ ЇаҐдЁЄб®Ј® Є®¤ ®ЇҐа жЁЁ Ё ЁбЇ®«м§®ў ЁҐ ॣЁбва १г«мв в
ЇаҐ¤л¤г饩 ®ЇҐа жЁЁ ў Є зҐб⢥ Ў §®ў®Ј® ॣЁбва Ўг¤Ґв бв®Ёвм ўбҐЈ® ®¤Ё
ива д®© в Єв Їа®жҐбб®а .
- Ќ «ЁзЁҐ ЇаҐдЁЄб®Ј® Є®¤ ®ЇҐа жЁЁ б«Ґ¤®¬ § Є®¬ ¤®©, вॡго饩 ¤«п
ўлЇ®«ҐЁп ҐбЄ®«мЄ® в Єв®ў Їа®жҐбб®а , Ґ « Ј Ґв ЁЄ ЄЁе ¤®Ї®«ЁвҐ«мле
ива дле в Єв®ў Їа®жҐбб®а .
`Є`¤G.11 ђгЄ®ў®¤бвў® Ї® ЁбЇ®«м§®ў Ёо ®бв «мле Є®¬ ¤`*
Њ®¦Ґбвў® Є®¬ ¤ Їа®жҐбб®а®ў 386 ᮧ¤ ў «®бм Ёбе®¤п Ё§ ҐЄ®в®а®Ј® ®Їлв
Їа ЄвЁзҐбЄ®Ј® Їа®Ја ¬¬Ёа®ў Ёп. Њ®¦Ґбвў® нвЁе Їа ЄвЁзҐбЄЁе Ў«о¤ҐЁ©
®Є § «®бм Ї®«Ґ§л¬ ¤«п Їа®Ја ¬¬Ёа®ў Ёп п§лЄҐ бᥬЎ«Ґа Їа®жҐбб®а
i486, Ё ¬®¦Ґв ®Є § вмбп б ¬® Ї® ᥡҐ ЁвҐаҐбл¬ ЇаЁ ᮧ¤ ЁЁ Є®¬ЇЁ«пв®а®ў.
- €бЇ®«м§г©вҐ ॣЁбва EAX Ј¤Ґ в®«мЄ® ў®§¬®¦®. Њ®ЈЁҐ Є®¬ ¤л бв ®ўпвбп
®¤Ё Ў ©в Є®а®зҐ ЇаЁ ЁбЇ®«м§®ў ЁЁ ॣЁбва EAX, в ЄЁҐ, Є Є § Јаг§Є ў
Ї ¬пвм Ё б®еа ҐЁҐ Ё§ Ї ¬пвЁ ЇаЁ ЁбЇ®«м§®ў ЁЁ Ўб®«овле ¤аҐб®ў,
ЇҐаҐбл«Є § 票© ў ¤агЈЁҐ ॣЁбвал ЇаЁ Ї®¬®йЁ Є®¬ ¤л XCHG, Ё Є®¬ ¤л,
Є®в®алҐ ЁбЇ®«м§гов ҐЇ®б।бвўҐлҐ § зҐЁп ў Є зҐб⢥ ®ЇҐа ¤®ў.
- €бЇ®«м§г©вҐ Ї® ў®§¬®¦®б⨠ᥣ¬Ґв D-¤ ле. Љ®¬ ¤л, а Ў®в ойЁҐ б
D-Їа®бва бвў®¬, ®¤Ё Ў ©в Є®а®зҐ Є®¬ ¤, Є®в®алҐ ЁбЇ®«м§гов ¤агЈЁҐ
ᥣ¬Ґвл ¤ ле Ї® ЇаЁзЁҐ ®вбгвбвўЁп ЇаҐдЁЄб ЇҐаҐЄалвЁп ᥣ¬Ґв .
- ЏаЁ¤ ў ©вҐ ®б®Ў®Ґ § 票Ґ Є®а®вЄЁ¬ ®¤®-, ¤ўге- Ё ваҐеЎ ©вл¬ Є®¬ ¤ ¬.
’ Є Є Є Є®¬ ¤л Їа®жҐбб®а i486 зЁ овбп Ё § Є зЁў овбп Ја Ёж е
Ў ©в®ў, ў®§¬®¦® Ўг¤Ґв ®ЎҐбЇҐзЁвм в Є®Ґ Є®¤Ёа®ў ЁҐ Є®¬ ¤, Є®в®а®Ґ Ўг¤Ґв
Ў®«ҐҐ Є®¬Ї Євл¬ Ї® ®в®иҐЁо Є Є®¤Ёа®ў Ёо ¤«п Їа®жҐбб®а®ў, ЁбЇ®«м§гойЁе
¬®¦Ґбвў® Є®¬ ¤, ўла®ўҐле Ї® Ја Ёж ¬ б«®ў. Љ®¬ ¤ ў® ¬®¦Ґб⢥
Є®¬ ¤ б ўла ўЁў ЁҐ¬ Ї® б«®ў ¬ ¤®«¦ Ё¬Ґвм ¤«Ёг ў ¤ў Ё«Ё зҐвлॠЎ ©в
(Ё«Ё Ў®«ҐҐ). Џ®Ў ©в®Ґ ўла ўЁў ЁҐ б®Єа й Ґв а §¬Ґа®бвм Є®¤ Ё
㢥«ЁзЁў Ґв бЄ®а®бвм ўлЇ®«ҐЁп Є®¬ ¤.
- Џ®«гз ©вҐ ¤®бвгЇ Є 16-а §ап¤л¬ ¤ л¬ ЇаЁ Ї®¬®йЁ Є®¬ ¤ MOVSX Ё MOVZX.
ќвЁ Є®¬ ¤л ЁбЇ®«м§гов а биЁаҐЁҐ Ї® § Єг Ё а биЁаҐЁҐ Ї® г«о ®ЇҐа ¤®ў
¤«Ё®© ў б«®ў® ¤® ¤«Ёл ў ¤ў®©®Ґ б«®ў®. ќв® б®Єа й Ґв Ґ®Ўе®¤Ё¬®бвм ў
ЁбЇ®«м§®ў ЁЁ ¤®Ї®«ЁвҐ«мле Є®¬ ¤ ¤«п ЁЁжЁ «Ё§ жЁЁ бв а襣® б«®ў .
- „«п ᪮३襣® ®вЄ«ЁЄ ЇаҐалў ЁҐ ЁбЇ®«м§г©вҐ ЇаЁ ў®§¬®¦®бвЁ
ЇаҐалў ЁҐ MNI.
- ‚¬Ґбв® ЁбЇ®«м§®ў Ёп Є®¬ ¤л ENTER «ҐЄбЁзҐбЄ®¬ га®ўҐ 0, ЁбЇ®«м§г©вҐ
да Ј¬Ґв Є®¤ , «®ЈЁзл© б«Ґ¤го饬г :
PUSH EBP
MOV EBP, ESP
SUB ESP, BYTE_COUNT
ќв®в да Ј¬Ґв ўлЇ®«пҐвбп § ᥬм в Єв®ў, Ґ § ¤Ґбпвм.
‘«Ґ¤гойЁҐ геЁйаҐЁп ¬®¦® ЇаЁ¬Ґпвм ў Є зҐб⢥ ®ЇвЁ¬Ё§ жЁЁ бЄ®а®бвЁ а Ў®вл
бЁбвҐ¬л Ї®б«Ґ в®Ј®, Є Є ҐҐ ®б®ўлҐ Є®¬ ¤л Ўл«Ё ॠ«Ё§®ў л :
- Љ®¬ ¤л ЇҐаҐе®¤ ЁбЇ®«м§говбп ў ¤ўге ®б®ўле д®а¬ е : ®¤ Ё§ д®а¬
Ё¬ҐҐв ҐЇ®б।б⢥®Ґ ў®бм¬ЁЎЁв®ў®Ґ § 票Ґ ¤«п ўлЇ®«ҐЁп
®в®бЁвҐ«м®Ј® ЇҐаҐе®¤ ў ¤Ё Ї §®Ґ ®в 128 Ў ©в § ¤ ¤® 127 Ў ©в ўЇҐаҐ¤,
¤агЈ®© д®а¬®© пў«пҐвбп Ї®«®Ґ 32-а §а冷Ґ ᬥ饨Ґ. Њ®ЈЁҐ Їа®Ја ¬¬Ёбвл
бᥬЎ«ҐаҐ ЁбЇ®«м§гов ¤«Ёго д®а¬г ў бЁвг жЁпе, Є®Ј¤ ¬®¦Ґв Ўлвм
ЁбЇ®«м§®ў Є®а®вЄ п д®а¬ . Љ®Ј¤ б®ўҐа襮 пб®, зв® ¬®¦Ґв Ўлвм
ЁбЇ®«м§®ў Є®а®вЄ п д®а¬ , пў® гЄ ¦ЁвҐ, зв® ®ЇҐа ¤-ЇаЁҐ¬ЁЄ Ё¬ҐҐв
а §¬Ґа®бвм ў ®¤Ё Ў ©в. ќв® Ї®¤бЄ ¦Ґв бᥬЎ«Ґаг, зв® ¤® ЁбЇ®«м§®ў вм
Є®а®вЄго д®а¬г. …б«Ё бᥬЎ«Ґа Ґ Ї®¤¤Ґа¦Ёў Ґв нвг дгЄжЁо, ® ўл¤ бв
®иЁЎЄг. ЋЎа вЁвҐ ўЁ¬ ЁҐ в®, зв® ҐЄ®в®алҐ бᥬЎ«Ґал ўлЇ®«пов в Єго
®ЇвЁ¬Ё§ жЁо ўв®¬ вЁзҐбЄЁ.
- €бЇ®«м§г©вҐ ॣЁбва ESP ¤«п ббл«®Є б⥪ б ¬®¬ Ј«гЎ®Є®¬ га®ўҐ
ў«®¦Ґ®бвЁ Ї®¤Їа®Ја ¬¬. ЌҐ ЎҐбЇ®Є®©вҐбм ®в®бЁвҐ«м® § ¤ Ёп § 票п
ॣЁбва EBP Ё б⥪ ¤ ле.
- „«п Ўлбв३襣® ЇҐаҐЄ«озҐЁп § ¤ з ЁбЇ®«м§г©вҐ Їа®Ја ¬¬®Ґ ЇҐаҐЄ«о票Ґ
§ ¤ з. ќв® Ї®§ў®«пҐв § Ї®¬Ё вм Ё ў®ббв ў«Ёў вм ¬ҐмиЁҐ Ї® ®ЎкҐ¬г ¤ лҐ
® б®бв®пЁЁ Їа®жҐбб®а . ‘¬®ваЁ ѓ« ўг 7 ¤«п ®Ўб㦤ҐЁп ў®Їа®б®ў
¬®Ј®§ ¤ з®бвЁ.
- €бЇ®«м§г©вҐ Є®¬ ¤г LEA ¤«п б«®¦ҐЁп ॣЁбва®ў. Љ®Ј¤ ў Є®¬ ¤Ґ LEA
ЁбЇ®«м§говбп Ў §®ўл© ॣЁбва Ё Ё¤ҐЄбл© аҐЈЁбва, ў ®ЇҐа ¤-ЇаЁҐ¬ЁЄ
§ Јаг¦ Ґвбп Ёе б㬬 . ‘®¤Ґа¦Ё¬®Ґ Ё¤ҐЄб®Ј® ॣЁбва ¬®¦Ґв Ўлвм
¬ бив ЎЁа®ў ® Єа в® 2, 4 Ё«Ё 8.
- €бЇ®«м§г©вҐ Є®¬ ¤г LEA ¤«п ЇаЁЎ ў«ҐЁп Є®бв вл Є ॣЁбваг. Љ®Ј¤ ў
Є®¬ ¤Ґ LEA ЁбЇ®«м§говбп Ў §®ўл© ॣЁбва Ё ᬥ饨Ґ, б㬬 § Јаг¦ Ґвбп ў
ЇаЁҐ¬ЁЄ. Љ®¬ ¤ LEA ¬®¦Ґв Ўлвм ЁбЇ®«м§®ў ў¬ҐбвҐ б Ў §®ўл¬ ॣЁбв஬,
Ё¤ҐЄбл¬ аҐЈЁбв஬, д Єв®а®¬ ¬ бив ЎЁа®ў Ёп Ё ᬥ饨Ґ¬.
- €бЇ®«м§г©вҐ Є®¬ ¤л ЇҐаҐ¬ҐйҐЁп 楫ле ¤«п ЇҐаҐ¤ зЁ ¤ ле д®а¬ в б
Ї« ў о饩 в®зЄ®©.
- €бЇ®«м§г©вҐ д®а¬г Є®¬ ¤л RET б ҐЇ®б।бвўҐл¬ § 票Ґ¬ ¤« бзҐвзЁЄ
Ў ©в, Ґ Є®¬ ¤г ADD ESP. ќв® б®еа пҐв ЇаЁ ўлЇ®«ҐЁЁ ®¤Ё в Єв®ўл©
жЁЄ« Ё ваЁ Ў ©в Є ¦¤л© ўл§®ў Ї®¤Їа®Ја ¬¬л.
- Љ®Ј¤ ўлЇ®«пҐвбп ҐбЄ®«мЄ® ®Ўа 饨© Є ЇҐаҐ¬Ґ®©, ¤аҐб㥬®© б®
ᬥ饨Ґ¬, § Ја㧨⥠ᬥ饨Ґ ў ॣЁбва.
- Љ®¬ ¤л PUSH Ё POP, Є®Ј¤ ЁбЇ®«м§гобп ў¬ҐбвҐ б ®ЇҐа ¤®¬ ў Ї ¬пвЁ,
ЁбЇ®«м§гов ¤ў Ў®«миҐ в Єв®ў Їа®жҐбб®а , 祬 нЄўЁў «Ґв п
¤ўгеЄ®¬ ¤ п Ї®б«Ґ¤®ў ⥫м®бвм, Є®в®а п ЇҐаҐ¤ Ґв ®ЇҐа ¤л зҐаҐ§ ॣЁбвал
®ЎйҐЈ® § зҐЁп ЇҐаҐ¤ § ҐбҐЁҐ¬ Ёе ў б⥪ Ё ў®ббв ®ў«ҐЁҐ¬ Ё§ б⥪ .
- Љ®¬ ¤ LOOP ЁбЇ®«м§гҐв ЇаЁ ўлЇ®«ҐЁЁ ¤ў в Єв®ўле жЁЄ« Ў®«миҐ, 祬
нЄўЁў «Ґв®Ґ 㬥м襨Ґ бзҐвзЁЄ Ё Є®¬ ¤ гб«®ў®Ј® ЇҐаҐе®¤ .
- Љ®¬ ¤ JECXZ ЁбЇ®«м§гҐв ЇаЁ ўлЇ®«ҐЁЁ ®¤Ё в Єв®ўл© жЁЄ« Ў®«миҐ,
祬 нЄўЁў «Ґв®Ґ ба ўҐЁҐ Ё Є®¬ ¤ гб«®ў®Ј® ЇҐаҐе®¤ .
`¤`¬ЏаЁ«®¦ҐЁҐ G. ЋЇвЁ¬Ё§ жЁп Є®¤ `*
---------------------------------------------------------------------------
Џа®жҐбб®а i486 б®ў¬ҐбвЁ¬ Ї® Є®¤г Ё Ї® ¤ л¬ б Їа®жҐбб®а ¬Ё 386(TM) DX Ё
SX. Ѓл«Ё ¤®Ў ў«Ґл ўбҐЈ® «Ёим ваЁ Є®¬ ¤л га®ўп ЇаЁЄ« ¤®Ј®
Їа®Ја ¬¬Ёа®ў Ёп, Є®в®алҐ Ї®«Ґ§л ў бЇҐжЁ «мле бЁвг жЁпе. ‹оЎ п
бгйҐбвўгой п ЇаЁЄ« ¤ п Їа®Ја ¬¬ ¤«п Їа®жҐбб®а 8086/8088, 80286 Ё 386
¬®¦Ґв Ўлвм ўлЇ®«Ґ Їа®жҐбб®аҐ i486 Ґ¬Ґ¤«Ґ®, ЎҐ§ ўбпЄ®©
¤®Ї®«ЁвҐ«м®© ¬®¤ЁдЁЄ жЁЁ Ё ЇҐаҐЄ®¬ЇЁ«пжЁЁ. ‹оЎ®© Є®¬ЇЁ«пв®а, Є®в®ал©
ЈҐҐаЁагҐв Є®¤ ¤«п Їа®жҐбб®а®ў ᥬҐ©бвў 386, Ўг¤Ґв в Є¦Ґ ЈҐҐаЁа®ў вм
Є®¤, Є®в®ал© Ўг¤Ґв ўлЇ®«пвмбп Їа®жҐбб®аҐ i486 ЎҐ§ Є Є®©-«ЁЎ®
¬®¤ЁдЁЄ жЁЁ.
’Ґ¬ Ґ ¬ҐҐҐ, бгиҐбвўгҐв ҐбЄ®«мЄ® бЇ®б®Ў®ў ®ЇвЁ¬Ё§ жЁЁ Є®¤ , Є®в®алҐ
ᤥ« ов ўлЇ®«ҐЁҐ ЇаЁЄ« ¤ле Їа®Ја ¬¬ Їа®жҐбб®аҐ i486 Ў®«ҐҐ Ўлбвал¬,
ЇаЁ Ї®¬®йЁ ўбҐЈ® «Ёим ¬ЁЁ¬ «мле Ё§¬ҐҐЁ© Ё«Ё ў®®ЎйҐ ЎҐ§® ўбпЄЁе
Ё§¬ҐҐЁ© Ї® ®в®иҐЁо Є Ёе ॠ«Ё§ жЁЁ ¤«п Їа®жҐбб®а®ў 386 DX Ё«Ё SX, §
ЁбЄ«о票Ґ¬, Ўлвм ¬®¦Ґв, а §«ЁзЁ© ў а §¬ҐаҐ Є®¤ . ќвЁ бЇ®б®Ўл б«Ґ¤гҐв
ЇаЁ¬Ґпвм Ї® ®в®иҐЁо Є ўлЎ®аг Ї®б«Ґ¤®ў ⥫м®бвЁ Є®¬ ¤ Ё Є®¬ ¤ ¬
гЇа ў«ҐЁп ¤«п в®Ј®, зв®Ўл Ї®«гзЁвм ЇаҐЁ¬гйҐбвў ўбв஥®Ј® ¬®¤г«п ०Ё¬
Є®ўҐ©Ґа®© ®Ўа Ў®вЄЁ Їа®жҐбб®а i486 Ё Ў®«ми®© Єни-Ї ¬пвЁ, а бЇ®«®¦Ґ®©
®¤®© ¬ЁЄа®б奬Ґ.
`Є`¤G.1 ђҐ¦Ё¬л ¤аҐб жЁЁ `*
Џ®¤®Ў® Їа®жҐбб®аг 386, Їа®жҐбб®аг i486 Ґ®Ўе®¤Ё¬ ¤®Ї®«ЁвҐ«мл© в Єв ¤«п
ЈҐҐа жЁЁ ЁбЇ®«ЁвҐ«мле ¤аҐб®ў, Є®Ј¤ ЁбЇ®«м§гҐвбп Ё¤ҐЄбл© аҐЈЁбва.
Ѓ®«ҐҐ в®Ј®, Ґб«Ё ЁбЇ®«м§гҐвбп ®¤ Ё¤ҐЄб п Є®¬Ї®Ґв (в.Ґ. ®¤®ўаҐ¬Ґ®
Ґ ЁбЇ®«м§говбп Ў §®ўл© ॣЁбва Ё Ё¤ҐЄбл© аҐЈЁбва), Ё Ґв Ґ®Ўе®¤Ё¬®бвЁ
ў ¬ бив ЎЁа®ў ЁЁ, Ў®«ҐҐ Ўлбвал¬ пў«пҐвбп ЁбЇ®«м§®ў ЁҐ ॣЁбва ў
Є зҐб⢥ Ў §®ў®Ј®, Ґ ў Є зҐб⢥ Ё¤ҐЄб®Ј®. Ќ ЇаЁ¬Ґа :
mov eax, [esi] ; ЁбЇ®«м§®ў ЁҐ esi ў Є зҐб⢥ Ў §л
mov eax, [esi*] ; ЁбЇ®«м§®ў ЁҐ esi ў Є зҐб⢥ Ё¤ҐЄб , 1
; в Єв ¤®Ї®«ЁвҐ«м®
…б«Ё ЁбЇ®«м§говбп Ё Ў § , Ё Ё¤ҐЄб, Ё«Ё ЁбЇ®«м§гҐвбп ¬ бив ЎЁа®ў ЁҐ
Ё¤ҐЄб , Ў®«ҐҐ Ўлбвал¬ бЇ®б®Ў®¬ ¤аҐб жЁЁ пў«пҐвбп ЁбЇ®«м§®ў ЁҐ
Є®¬ЎЁЁа®ў ®Ј® ¬Ґв®¤ , ¤ ¦Ґ Ґб«Ё нв® Ё § ©¬Ґв ®¤Ё ¤®Ї®«ЁвҐ«мл©
в Єв®ўл© жЁЄ« Їа®жҐбб®а ЇаЁ ўлЇ®«ҐЁЁ.
Љ®Ј¤ ॣЁбва ЁбЇ®«м§гҐвбп ў Є зҐб⢥ Ў §®ў®© Є®¬Ї®Ґвл, в®Ј¤
ЁбЇ®«м§гҐвбп ¤®Ї®«ЁвҐ«мл© в Єв®ўл© жЁЄ«, Ґб«Ё нв®в ॣЁбва пў«п«бп
ЇаЁҐ¬ЁЄ®¬ ў Є®¬ ¤Ґ, ҐЇ®б।б⢥® ўлЇ®«пўиҐ©бп ЇҐаҐ¤ ¤ ®© Є®¬ ¤®©
(ЇаҐ¤Ї®« Ј Ґвбп, зв® ўбҐ ®ЇҐа жЁЁ 㦥 室пвб ў ЇаҐ¤ў аЁвҐ«м® ᮧ¤ ®©
®зҐаҐ¤Ё). Џ®н⮬㠤«п Ї®«гзҐЁп ЁЎ®«м襣® ЎлбвதҐ©бвўЁп ¤ўҐ Є®¬ ¤л
¤®«¦л а §¤Ґ«пвмбп Ї® Єа ©Ґ© ¬ҐаҐ ҐйҐ ®¤®© Є®¬ ¤®©. Ќ ЇаЁ¬Ґа:
add esi, eax ; esi - ॣЁбва-ЇаЁҐ¬ЁЄ
mov eax, [esi] ; esi - Ў §®ўл© ॣЁбва, 1 в Єв ¤®Ї®«ЁвҐ«м®
‘гйҐбвўгов в Є¦Ґ Ё ¤агЈЁҐ ҐпўлҐ Ё«Ё Є®бўҐлҐ ¬Ґв®¤л ЁбЇ®«м§®ў Ёп
ЇаЁҐ¬ЁЄ Ё Ў §®ў®Ј® ॣЁбва , ў ЇҐаўго ®зҐаҐ¤м ॣЁбва гЄ § ⥫п б⥪
ESP. ђҐЈЁбва ESP пў«пҐвбп Ґпў®© Ў §®© ўбҐе Є®¬ ¤ вЁЇ PUSH/POP/RET Ё ®
¦Ґ пў«пҐвбп Ґпўл¬ ЇаЁҐ¬ЁЄ®¬ ў Є®¬ ¤ е CALL/ENTER/LEAVE/RET/PUSH/POP.
Ѓ®«ҐҐ в®Ј®, Є®¬ ¤ LEAVE, б«Ґ¤гой ҐЇ®б।б⢥® § Є®¬ ¤®© RET,
Ўг¤Ґв ЁбЇ®«м§®ў вм ®¤Ё ¤®Ї®«ЁвҐ«мл© жЁЄ«. Ќ® Ґб«Ё Є®¬ ¤л LEAVE Ё RET
८࣠Ё§®ў л в ЄЁ¬ ®Ўа §®¬, зв® ®¤г ®в ¤агЈ®© ®в¤Ґ«пҐв Є Є п-в® ¤агЈ п
Є®¬ ¤ , Ґ вॡгҐвбп ЁЄ ЄЁе ¤®Ї®«ЁвҐ«мле в Єв®ў. (‘¬®ваЁ в Є¦Ґ ¤агЈЁҐ
४®¬Ґ¤ жЁЁ, Є б ойЁҐбп Є®¬ ¤л LEAVE).
ЌҐв ЁЄ Є®© Ґ®Ўе®¤Ё¬®бвЁ а §¤Ґ«пвм Ї®б«Ґ¤®ў ⥫млҐ Є®¬ ¤л PUSH/POP.
Џа®жҐбб®а i486 ¤®ЇгбЄ Ґв в Єго Ї®б«Ґ¤®ў ⥫м®бвм ЎҐ§ ЁбЇ®«м§®ў Ёп
¤®Ї®«ЁвҐ«м®Ј® в Єв .
‚ᥠ⠪ЁҐ ЇаҐ®Ўа §®ў Ёп Ї®б«Ґ¤®ў ⥫м®бвЁ Є®¬ ¤ Ґ ў«Ёпов ўлЇ®«ҐЁҐ
Їа®Ја ¬¬л 386 Їа®жҐбб®аҐ.
Џа®жҐбб®а i486 в Є¦Ґ вॡгҐв ¤®Ї®«ЁвҐ«м®Ј® в Єв ¤«п ўлЇ®«ҐЁп Є®¬ ¤л,
Є®в®а п Ё¬ҐҐв ®¤®ўаҐ¬Ґ® Ё ®ЇҐа ¤ - ҐЇ®б।б⢥®Ґ § 票Ґ, Ё
®ЇҐа ¤, § ¤ л© Є Є ᬥ饨Ґ ў Ї ¬пвЁ. Ќ ЇаЁ¬Ґа :
mov гЄ § вҐ«м ¤ў®©®Ґ б«®ў® foo, 1234h ; ®¤®ўаҐ¬Ґ® Ё
ҐЇ®б।б⢥®Ґ § 票Ґ, Ё ®ЇҐа ¤ - ; ᬥ饨Ґ ў Ї ¬пвЁ.
mov гЄ § вҐ«м ¤ў®©®Ґ б«®ў® baz, 1234h
mov [ebp-200], 1234h
Љ®Ј¤ вॡгҐвбп ЁбЇ®«м§®ў вм Є®бв вл, Ў®«ҐҐ нд䥪⨢® ЁбЇ®«м§®ў вм
ҐЇ®б।бвўҐлҐ § зҐЁп Є®бв в ў¬Ґбв® ЇаҐ¤ў аЁвҐ«м®© § Јаг§ЄЁ
Є®бв в ў ॣЁбвал. Ќ® Ґб«Ё ®¤ Ё в ¦Ґ Є®бв в ЁбЇ®«м§гҐвбп Ў®«миҐ,
祬 ®¤Ё а §, в® Ўлбв॥ Ўг¤Ґв § Јаг§Ёвм § 票Ґ нв®© Є®бв вл ў ॣЁбва
Ё § ⥬ ¬®Ј® а § ЁбЇ®«м§®ў вм нв®в ॣЁбва. ќв ®ЇвЁ¬Ё§ жЁп Ґ ў«ЁпҐв
ўлЇ®«ҐЁҐ Їа®Ја ¬¬л 386 Їа®жҐбб®аҐ. ‘«Ґ¤гой п Ї®б«Ґ¤®ў ⥫м®бвм
¤Ґ©бвўЁ© ўлЇ®«пҐвбп Ўлбв॥, 祬 ЇаЁўҐ¤Ґ п ўлиҐ, Ґб«Ё ўбҐ Є®¬ ¤л
室пвбп ў ЇаҐ¤ў аЁвҐ«м® ᮧ¤ ®© ®зҐаҐ¤Ё, Ё, Ї®бЄ®«мЄг Є®¬ ¤л Є®а®зҐ,
Ёе ў ¤Ґ©б⢨⥫м®бвЁ «ҐЈзҐ ®аЈ Ё§®ў вм ў ®зҐаҐ¤м :
mov eax, 1234h
mov гЄ § вҐ«м ¤ў®©®Ґ б«®ў® foo, eax
mov гЄ § вҐ«м ¤ў®©®Ґ б«®ў® baz, eax
mov [ebp-200], eax
`Є`¤G.2 Њ®¤г«м ЇаҐ¤ў аЁвҐ«м®© ўлЎ®аЄЁ `*
Њ®¤г«м ЇаҐ¤ў аЁвҐ«м®© ўлЎ®аЄЁ Їа®жҐбб®а i486 Ї®«гз Ґв ¤®бвгЇ Є
а бЇ®«®¦Ґ®© ¬ЁЄа®б奬Ґ Єни-Ї ¬пвЁ ¤«п в®Ј®, зв®Ўл § Ї®«Ёвм
ЇаҐ¤ў аЁвҐ«мго ®зҐаҐ¤м Є®¬ ¤ ў в®в ¬®¬Ґв, Є®Ј¤ Єни-Ї ¬пвм Ґ
§ ¤Ґ©бвў®ў ¤«п а Ў®вл Ё Ё¬ҐҐвбп ¤®бв в®з® ¬Ґбв ў ®зҐаҐ¤Ё ¤«п
а §¬ҐйҐЁп ¤агЈ®© бва®ЄЁ Єни (16 Ў ©в). …б«Ё ЇаҐ¤ў аЁвҐ«м п ®зҐаҐ¤м
Є®¬ ¤ Їгбв , ¬®¦Ґв Ї®вॡ®ў вмбп ваЁ ¤®Ї®«ЁвҐ«мле в Єв ¤«п § ЇгбЄ
®ў®© Є®¬ ¤л. ЏаҐ¤ў аЁвҐ«м п ®зҐаҐ¤м Є®¬ ¤ § Ё¬ Ґв 32 Ў ©в (2 бва®ЄЁ
ў Єни-Ї ¬пвЁ).
’ Є Є Є ¤®бвгЇ Є ¤ л¬ ўбҐЈ¤ Ё¬ҐҐв ўлбиЁ© ЇаЁ®аЁвҐв Ї® ба ўҐЁо б
§ Їа®б ¬Ё ЇаҐ¤ў аЁвҐ«мго ўлЎ®аЄг, Ї®¤¤Ґа¦ ЁҐ Єни-Ї ¬пвЁ ў б®бв®пЁЁ
§ пв®бвЁ ЇаЁ Ї®¬®йЁ ¤®бвгЇ Є ¤ л¬ ¬®¦Ґв § Ў«®ЄЁа®ў вм ¬®¤г«м
ЇаҐ¤ў аЁвҐ«м®© ўлЎ®аЄЁ.
Ѓ®«ҐҐ в®Ј®, ў ¦® ®аЈ Ё§®ў вм Є®¬ ¤л в ЄЁ¬ ®Ўа §®¬, зв®Ўл Ґ
ЁбЇ®«м§®ў « бм Ї®бв®п® иЁ Ї ¬пвЁ Їг⥬ Ї®б«Ґ¤®ў ⥫м®бвЁ Є®¬ ¤
®Ўа йҐЁп Є Ї ¬пвЁ. Љ®¬ ¤л ¤®«¦л Ўлвм ८࣠Ё§®ў л в ЄЁ¬ ®Ўа §®¬,
зв®Ўл Ё¬Ґ« бм Є®¬ ¤ , Ґ ®Ўа й ой пбп Є Ї ¬пвЁ ( ЇаЁ¬Ґа, Є®¬ ¤ а Ў®вл
ॣЁбва/ॣЁбва), Ї® Єа ©Ґ© ¬ҐаҐ § ¤ў в Єв ¤® в®Ј®, Є Є ЇаҐ¤ў аЁвҐ«м®
бд®а¬Ёа®ў п ®зҐаҐ¤м Є®¬ ¤ бв Ґв ЁбзҐаЇ ®©. Ќ ЇаЁ¬Ґа :
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і Љ®¬ ¤ і „«Ё і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і mov Ї ¬пвм, 1234567h і 10 Ў ©в і
і mov Ї ¬пвм, 1234567h і 10 Ў ©в і
і mov Ї ¬пвм, 1234567h і 10 Ў ©в і
і mov Ї ¬пвм, 1234567h і 10 Ў ©в і
і add ॣЁбва, ॣЁбва і 2 Ў ©в і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
…б«Ё ЇаҐ¤ў аЁвҐ«м® бд®а¬Ёа®ў п ®зҐаҐ¤м Є®¬ ¤ Ї®« ¬®¬Ґв з «
а Ў®вл, в®Ј¤ Ї®б«Ґ ўлЇ®«ҐЁп ваҐв쥩 Є®¬ ¤л MOV Ї®пў«пҐвбп ¤®бв в®з®
Їа®бва бвў ¤«п ¤агЈ®© бва®ЄЁ Єни ў ®зҐаҐ¤Ё, ®, в Є Є Є иЁ Ї ¬пвЁ
Їа®¤®«¦ Ґв Ї®бв®п® ЁбЇ®«м§®ў вмбп, Ґв Ґ®Ўе®¤Ё¬®Ј® ўаҐ¬ҐЁ ¤«п в®Ј®,
зв®Ўл ЇҐаҐ¤ вм бва®Єг Ё§ Єни ў ЇаҐ¤ў аЁвҐ«м® д®а¬Ёа㥬го ®зҐаҐ¤м Є®¬ ¤.
…б«Ё ЇҐаҐ¤ Ё«Ё Ї®б«Ґ ваҐв쥩 Є®¬ ¤л MOV Ґ Ўг¤Ґв ўбв ў«Ґ Є®¬ ¤ , Ґ
®Ўа й ой пбп Є Ї ¬пвЁ, ®зҐаҐ¤м Ўг¤Ґв ЁбзҐаЇ зҐвўҐав®© Є®¬ ¤®© MOV. ‚
н⮬ б«гз Ґ Є®¬ ¤л ¤®«¦л Ўлвм ८࣠Ё§®ў л в ЄЁ¬ ®Ўа §®¬, зв®Ўл
Є®¬ ¤ ADD Ўл« а бЇ®«®¦Ґ ¤® Ё«Ё Ї®б«Ґ ваҐв쥩 Є®¬ ¤л MOV, ¤«п в®Ј®,
зв®Ўл а §аҐиЁвм Єни-Ї ¬пвЁ ЇҐаҐб« вм ®зҐаҐ¤го Є®¬ ¤го бва®Єг ў ¬®¤г«м
ЇаҐ¤ў аЁвҐ«м®© ўлЎ®аЄЁ.
ЌЁ ®¤ Ё§ Ї®¤®Ўле ८࣠Ё§ жЁ© Є®¬ ¤ Ґ Ўг¤Ґв ®Є §лў вм ў«ЁпЁп
бЄ®а®бвм ўлЇ®«ҐЁп Їа®Ја ¬¬л Їа®жҐбб®аҐ 386 DX.
`Є`¤G.3 ‚ла ўЁў ЁҐ Єни Ё Є®¤ . `*
ЏаЁ а Ў®вҐ Їа®жҐбб®аҐ 386 ЇаЁҐ¬ЁЄ «оЎ®© Ё§ Є®¬ ¤ JUMP/CALL/ RET
¤®«¦Ґ Ўлвм ўла®ўҐ Ї® ¤аҐбг, Єа ⮬г 4, нв® Ї®¬®Ј Ґв ¬®¤г«о
ЇаҐ¤ў аЁвҐ«м®© ўлЎ®аЄЁ Є®¬ ¤ ў д®а¬Ёа®ў ЁЁ ЇаҐ¤ў аЁвҐ«м®© ®зҐаҐ¤Ё
Є®¬ ¤ б® ўбҐ© ¤®ЇгбвЁ¬®© Ўлбва®в®©, в Є Є Є ўлЎ®аЄ ўлЇ®«пҐвбп Ї® 4
Ў ©в § ®¤® ®Ўа 饨Ґ ЇаЁ ўла®ўҐле Ја Ёж е. ’ Є Є Є Їа®жҐбб®аҐ
i486 Ё¬ҐҐвбп Єни-Ї ¬пвм ¬ЁЄа®б奬Ґ, «оЎ п ЇаҐ¤ў аЁвҐ«м п ўлЎ®аЄ
Є®¬ ¤ Ўг¤Ґв ўлЎЁа вм 16 Ў ©в ¤«п § Ї®«ҐЁп бва®ЄЁ Єни . Џ® нв®© ЇаЁзЁҐ
Ё«гз襥 ЎлбвதҐ©бвўЁҐ ¬®¦Ґв Ўлвм ¤®бвЁЈгв® Їг⥬ ўла ўЁў Ёп
®ЇҐа ¤®ў-ЇаЁҐ¬ЁЄ®ў ў Є®¬ ¤ е JUMP/CALL/RET Ї® ¤аҐб ¬, Єа вл¬ 16.
Ћ¤ Є® ўла ўЁў ЁҐ Ї® ¤аҐб ¬, Єа вл¬ 16, пў«пҐвбп ЇаЁзЁ®© 㢥«ЁзҐЁп
а §¬Ґа®ў Є®¤ , Ё Ї®н⮬㠢 ¦Ґ Є®¬Їа®¬Ёбб ¬Ґ¦¤г бЄ®а®бвмо ўлЇ®«ҐЁп Ё
а §¬Ґа ¬Ё Є®¤ .
Ѓ®«ҐҐ в®Ј®, ४®¬Ґ¤гҐвбп, зв®Ўл в®«мЄ® ўе®¤лҐ ¤аҐб дгЄжЁ© (в.Ґ.,
ЇаЁҐ¬ЁЄЁ Є®¬ ¤ CALL) Ўл«Ё ўла®ўҐл Ї® ¤аҐб ¬, Єа вл¬ 16; ў в® ўаҐ¬п
Є Є ўбҐ ¬ҐвЄЁ (в.Ґ. ЇаЁҐ¬ЁЄЁ ў Є®¬ ¤ е JUMP) Їа®¤®«¦ «Ё Ўл ®бв ў вмбп
ўла®ўҐл¬Ё Ї® ¤аҐб ¬, Єа вл¬ 4.
Ќ Їа®жҐбб®аҐ i486 вॡгҐвбп ¤®Ї®«ЁвҐ«м® ¤® ЇпвЁ в Єв®ў ¤«п з «
ўлЇ®«ҐЁп Є®¬ ¤л, Ґб«Ё ® а §ЎЁў Ґвбп Ў®«ҐҐ 祬 ¤ўҐ 16-Ў ©влҐ
бва®ЄЁ Єни . Ќ ЇаЁ¬Ґа, Ґб«Ё Є®¬ ¤ CALL § Є зЁў Ґвбп ¤аҐбҐ
0x0000000… Ё б«Ґ¤®¬ § Ґ© Ё¤Ґв Є®¬ ¤ 㬮¦ҐЁп Ў ©в®ў, в®Ј¤ Ї®
ў®§ўа 饨Ё Ё§ ўлЇ®«ҐЁп Є®¬ ¤л CALL Їа®жҐбб®а ¤®«¦Ґ ЁбЇ®«м§®ў вм
¤®Ї®«ЁвҐ«м® Їпвм в Єв®ў ¤«п в®Ј®, зв®Ўл § Ї®«Ёвм ЇаҐ¤ў аЁвҐ«м®
д®а¬Ёа㥬го ®зҐаҐ¤м Є®¬ ¤, Ґб«Ё в®«мЄ® 楫Ґў п Є®¬ ¤ 㦥 Ґ 室Ёвбп ў
ЄниҐ. „ ¦Ґ Ґб«Ё 楫Ґў п Є®¬ ¤ 㦥 室Ёвбп ў ЄниҐ, ⥬ Ґ ¬ҐҐҐ
Ї®вॡгҐвбп ¤®Ї®«ЁвҐ«млҐ 2 жЁЄ« ¤«п в®Ј®, зв®Ўл ЇҐаҐб« вм ҐҐ ў ¬®¤г«м
ЇаҐ¤ў аЁвҐ«м®© ўлЎ®аЄЁ Є®¬ ¤.
Џ®н⮬г, Ґб«Ё Є®¬ЇЁ«пв®аг Ё§ўҐбв® ўла ўЁў ЁҐ ЇаЁҐ¬ЁЄ , в®Ј¤ Ўг¤Ґв
Ўлбв॥ ўЄ«озЁвм Є®¬ ¤л § Ї®«ҐЁп в Є, зв®Ўл Є®¬ ¤ 㬮¦ҐЁп Ў ©в®ў
зЁ « бм б ўла®ўҐ®Ј® ¤аҐб . ќв® ¬®¦Ґв Ўлвм ¤®бвЁЈгв® «ЁЎ® Їг⥬
ЇҐаҐбв ®ўЄЁ Ї®б«Ґ¤®ў ⥫м®бвЁ Є®¬ ¤, «ЁЎ® ўЄ«о票Ґ¬ Є®¬ ¤л NOP.
’ Є®Ґ ўла ўЁў ЁҐ Є®¬ ¤ Ўг¤Ґв в Є¦Ґ ў«Ёпвм бЄ®а®бвм ўлЇ®«ҐЁп
Їа®жҐбб®аҐ 386.
`Є`¤G.4. Љ®¬ ¤ NOP `*
€®Ј¤ Їа®Ја ¬¬ ¬ Ґ®Ўе®¤Ё¬ § Ї®«ЁвҐ«м ¬Ґ¦¤г Є®¬ ¤ ¬Ё ¤«п в®Ј®, зв®Ўл
ўла ўЁў вм Ёе. Ќ Їа®жҐбб®а е 386 Ё i486 в Є®ўл¬ § Ї®«ЁвҐ«Ґ¬ пў«пҐвбп
®¤®Ў ©в®ў п Є®¬ ¤ NOP, Є®в®а п ў ¤Ґ©б⢨⥫м®бвЁ ®Ў¬ҐЁў Ґв ᮤҐа¦Ё¬®Ґ
ॣЁбва …Ђ• б ᮤҐа¦Ё¬л¬ ॣЁбва …Ђ• ¦Ґ.
Љ®¬ ¤л ¤агЈЁе ¤«Ё ¬®Јгв Ўлвм ўлЇ®«Ґл § ®¤Ё жЁЄ«. ’ Ў«Ёж Ё¦Ґ
ЇаЁў®¤Ёв ҐЄ®в®алҐ Ё§ Ёе.
1-Ў © п inc ॣЁбва ; ¬®¤ЁдЁжЁагҐв ॣЁбва Ё
; д« ЈЁ
2-Ў ©в п mov ॣЁбва, ॣЁбва ; ў ¤Ґ©б⢨⥫м®бвЁ NOP
3-Ў ©в п lea ॣЁбва, 0[ॣЁбва] ; ў ¤Ґ©б⢨⥫м®бвЁ NOP,
; б ЁбЇ®«м§®ў ЁҐ¬
; 8-а §а冷Ј® ᬥ饨п
5-Ў ©в п mov eax, 0 ; ¬®¤ЁдЁжЁагҐв ॣЁбва eax
5-Ў ©в п add eax, 0 ; ¬®¤ЁдЁжЁагҐв д« ЈЁ
6-Ў ©в п lea reg, 0[eax] ; ў ¤Ґ©б⢨⥫м®бвЁ NOP,
; б ЁбЇ®«м§®ў ЁҐ¬
; 32-а §а冷Ј® ᬥ饨п
‚¤®Ў ў®Є, ¬®ЈЁҐ Є®¬ ¤л Їа®жҐбб®а®ў 386/i486 Ё¬Ґов ®б®ЎлҐ д®а¬л Ё ¤«Ёл,
ЁбЇ®«м§гойЁҐ ҐЇ®б।бвўҐлҐ ¤ лҐ а §«Ёз®© ¤«Ёл Ё«Ё б¬ҐйҐЁп ў Ї ¬пвЁ
а §«Ёз®© а §¬Ґа®бвЁ. ’ Є¦Ґ ҐЄ®в®алҐ Є®¬ ¤л Ё¬Ґов гЄ®а®зҐлҐ д®а¬л,
Ґб«Ё ®ЇҐа ¤®¬-ЇаЁҐ¬ЁЄ®¬ пў«пҐвбп ॣЁбва EAX/AX/AL.
ЌҐ ўбҐ Є®¬ ¤л б а §«Ёзл¬Ё д®а¬ ¬Ё Ўг¤гв ўлЇ®«пвмбп § ®¤® Ё ⮦Ґ
ўаҐ¬п. ЏаЁ¬Ґа®¬, ў Є®в®а®¬ а §«ЁзлҐ д®а¬л Ўг¤гв ўлЇ®«пвмбп § а §«Ёз®Ґ
ўаҐ¬п, пў«повбп Є®¬ ¤л PUSH/POP/REG. …б«Ё ®Ё § Є®¤Ёа®ў л ў ®¤®Ў ©в®ўго
д®а¬г, ®Ё Ўг¤гв ўлЇ®«пвмбп § ®¤Ё жЁЄ«, ® Ґб«Ё ®Ё § Є®¤Ёа®ў л ў
2-Ў ©вго д®а¬г, ®Ё Ўг¤гв ўлЇ®«пвмбп § 4 жЁЄ« .
Љ®¬ ¤л § Ї®«ҐЁп NOP Ўг¤гв в Є¦Ґ ўлЇ®«пвмбп Ўлбв॥, 祬 Є®¬ ¤ XCHG
Їа®жҐбб®а е ᥬҐ©бвў 386. €бЇ®«м§®ў ЁҐ а §«Ёзле д®а¬ ®¤®© Ё в®© ¦Ґ
Є®¬ ¤л Ґ ў«ЁпҐв ЎлбвதҐ©бвўЁҐ ЇаЁ ўлЇ®«ҐЁҐ Їа®жҐбб®аҐ 386.
`Є`¤G.5. Љ®¬ ¤л а Ў®вл б 楫묨 зЁб« ¬Ё`*
Џа®жҐбб®а i486 ¬®¦Ґв ўлЇ®«пвм Ў®«миЁбвў® з бв® ЁбЇ®«м§гҐ¬ле Є®¬ ¤
(в ЄЁе, Є Є § Јаг§Є Ё«Ё § Ї®¬Ё ЁҐ ॣЁбва , Ђ‹“-®ЇҐа жЁЁ б ॣЁбв஬, Ё
в.¤.) § ®¤Ё в Єв. Ћ¤ Є®, ў ®в«ЁзЁҐ ®в Їа®жҐбб®а 386, ҐЄ®в®алҐ Ё§
®ЇҐа жЁ© б Ї ¬пвмо § Ё¬ ов ⥯Ґам Ў®«миҐ жЁЄ«®ў, 祬 ᮮ⢥вбвўгойЁҐ
®ЇҐа жЁЁ б ॣЁбва ¬Ё. Ќ ЇаЁ¬Ґа, Є®¬ ¤ PUSH MEM :
ЪДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДї
і Љ®¬ ¤ і ’ Євл –Џ“ 386(’Њ) DX і ’ Євл –Џ“ i486(TM) і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДґ
і mov ॣЁбва,Ї ¬пвм і 4 і 1 і
і push ॣЁбва і 2 і 1 і
і push Ї ¬пвм і 5 і 4 і
АДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДЩ
T ЄЁ¬ ®Ўа §®¬, ¤«п Їа®жҐбб®а i486, § Јаг§Є § зҐЁп Ё§ Ї ¬пвЁ ў ॣЁбва
Ё § ⥬ § ҐбҐЁҐ нв®Ј® ॣЁбва ў б⥪ ЇаЁўҐ¤Ґв Є зЁб⮬г б®еа ҐЁо 2
в Єв®ў; ® ¤«п Їа®жҐбб®а 386 DX в ¦Ґ б ¬ п Ї®б«Ґ¤®ў ⥫м®бвм Є®¬ ¤
ЇаЁўҐ¤Ґв Є зЁбв®© Ї®вҐаҐ ®¤®Ј® в Єв . Ћ¤ Є® ¤«п в®Ј®, зв®Ўл § Јаг§Ёвм
§ 票Ґ ў ॣЁбва Їа®жҐбб®аҐ i486, Ґ®Ўе®¤Ё¬® ©вЁ Їгбв®© ॣЁбва;
Ґб«Ё ¤Ґ©бвўЁҐ Ї® § Јаг§ЄҐ § 票п гЁз⮦Ёв § 票Ґ ॣЁбва , Є®в®а®Ґ
¬®Ј«® Ўлвм ЁбЇ®«м§®ў ® Ї®§¤ҐҐ, в® б®еа ҐЁҐ § зҐЁп ¬®¦Ґв ЇаЁўҐбвЁ Є
®ваЁж ⥫쮬г १г«мв вг Ї® ЇаЁзЁҐ Ї®вҐаЁ Ї®ўв®а® ЁбЇ®«м§гҐ¬®Ј®
§ 票п ॣЁбва .
„агЈЁ¬ ЇаЁ¬Ґа®¬ б«г¦Ёв Є®¬ ¤ LEAVE :
ЪДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДї
і Љ®¬ ¤ і ’ Євл –Џ“ 386(’Њ) DX і ’ Євл –Џ“ i486(TM) і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДґ
і mov esp, ebp і 2 і 1 і
і pop ebp і 4 і 1+1 (ива д § esp) і
і leave і 4 і 5 і
АДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДЩ
ЋЇпвм ¦Ґ, ¤«п Їа®жҐбб®а i486, ўлЇ®«ҐЁҐ Ї®б«Ґ¤®ў ⥫м®бвЁ Є®¬ ¤
MOV/POP ЇаЁў®¤Ёв Є зЁб⮬г б®еа ҐЁо 2 в Єв®ў Ї® ба ўҐЁо б Є®¬ ¤®©
LEAVE; ў в® ўаҐ¬п, Є Є ўлЇ®«ппбм Їа®жҐбб®аҐ 386 DX, Є®¬ ¤ LEAVE
®¤®ўаҐ¬Ґ® Ё Ўлбв॥, Ё Є®а®зҐ. Ћ¤ Є®, в Є Є Є ЇҐаў п Є®¬ ¤ MOV
ЁбЇ®«м§гҐв ॣЁбва ESP ў Є зҐб⢥ ЇаЁҐ¬ЁЄ Ё Є®¬ ¤ POP в Є¦Ґ Ґпў®
ЁбЇ®«м§гҐв ॣЁбва ESP ў Є зҐб⢥ Ў §л (Є Є 㦥 гЇ®¬Ё «®бм ўлиҐ), нв
Ї®б«Ґ¤®ў ⥫м®бвм ¤Ґ©бвўЁ© ЇаЁў®¤Ёв Є Ї®«гзҐЁо ®¤®Ј® ива д®Ј® в Єв ,
Ґб«Ё в®«мЄ® ¤ўҐ Є®¬ ¤л Ґ а §¤Ґ«Ґл ¤агЈ®© Є®¬ ¤®©. …б«Ё ў®§¬®¦® в ЄЁ¬
®Ўа §®¬ ЇҐаҐгЇ®а冷зЁвм Є®¬ ¤л, зв®Ўл Є®¬ ¤л MOV/POP Ўл«Ё Ўл а §¤Ґ«Ґл
Ї®«Ґ§®© Є®¬ ¤®©, в®Ј¤ зЁбвл© ўлЁЈали ў в Єв е Ї® ба ўҐЁо б Є®¬ ¤®©
LEAVE б®бв ўЁ« Ўл 3 в Єв Їа®жҐбб®аҐ i486.
’ Є Є Є Їа®жҐбб®а i486 ¬®¦Ґв а Ў®в вм б ®ЇҐа ¤ ¬Ё ў ॣЁбва е Ўлбв॥,
祬 б ®ЇҐа ¤ ¬Ё ў Ї ¬пвЁ (Є Є Ё Ї®звЁ Ў®«миЁбвў® ¤агЈЁе аеЁвҐЄвга),
ў ¦® Ё¬Ґвм е®а®иҐҐ а §¬ҐйҐЁҐ ॣЁбва®ў Ё ®ЇвЁ¬Ё§ жЁо в४ЁЈ § 票© ў
«оЎ®¬ Ё§ Є®¬ЇЁ«пв®а®ў. ‘ ¤агЈ®© бв®а®л, Ґв б®еа ҐЁп ЇаЁ § Јаг§ЄҐ
Є ¦¤®Ј® § зҐЁп ЇҐаҐ¤ ҐЈ® ЁбЇ®«м§®ў ЁҐ¬, Є Є н⮠ᤥ« ® ў RISC
аеЁвҐЄвгаҐ. Џа®жҐбб®а i486 ¬®¦Ґв ўлЇ®«пвм Є®¬ ¤л Ђ‹“ вЁЇ
ॣЁбва,Ї ¬пвм в Є¦Ґ Ўлбва®, Є Є Ё Ї®б«Ґ¤®ў ⥫м®бвЁ Є®¬ ¤
§ Јаг§Ёвм/®ЇҐа жЁп/§ Ї®¬Ёвм. Ќ ЇаЁ¬Ґа, ¤«п ЇаЁбў Ёў Ёп : Ї ¬пвм1 =
Ї ¬пвм1 + Ї ¬пвм2 - ¬®¦® ЁбЇ®«м§®ў вм б«Ґ¤гойЁҐ Ї®б«Ґ¤®ў ⥫м®бвЁ
Є®¬ ¤, б ў амЁа®ў ЁҐ¬ ®ЎйҐЈ® Є®«ЁзҐбвў в Єв®ў ¤«п Їа®жҐбб®а®ў 386 DX Ё
SX, ® ®¤Ё¬ Ё ⥬ ¦Ґ Є®«ЁзҐбвў®¬ в Єв®ў ¤«п Їа®жҐбб®а i486 :
ЪДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДї
і Љ®¬ ¤ і ’ Євл –Џ“ 386(’Њ) DX і ’ Євл –Џ“ i486(TM) і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДґ
і mov eax, Ї ¬пвм1 і 4 і 1 і
і mov ebx, Ї ¬пвм2 і 4 і 1 і
і add eax, ebx і 2 і 1 і
і mov Ї ¬пвм1, eax і 2 і 1 і
і і і і
і mov eax, Ї ¬пвм1 і 4 і 1 і
і add eax, Ї ¬пвм2 і 6 і 2 і
і mov Ї ¬пвм1, eax і 2 і 1 і
і і і і
і mov eax, Ї ¬пвм1 і 4 і 1 і
і add Ї ¬пвм2, eax і 7 і 3 і
АДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДЩ
Љ®¬ ¤ MOVZX пў«пҐвбп ¤агЈЁ¬ ЇаЁ¬Ґа®¬, ў Є®в®а®¬ Їа®жҐбб®а i486 ¬®¦Ґв
а Ў®в вм Ўлбв॥ б ЁбЇ®«м§®ў ЁҐ¬ Їа®бвле Є®¬ ¤, Ґб«Ё ЇаЁҐ¬ЁЄ®¬ пў«пҐвбп
ॣЁбва, Є®в®ал© ў бў®о ®зҐаҐ¤м ¬®¦Ґв Ўлвм ¤аҐб㥬 Ї®Ў ©в®. Ќ ЇаЁ¬Ґа,
§ Јаг§Є § зҐЁп Ў ©в :
ЪДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДї
і Љ®¬ ¤ і ’ Євл –Џ“ 386(’Њ) DX і ’ Євл –Џ“ i486(TM) і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДґ
і movzx eax, Ї ¬пвм1 і 6 і 3+1 (ЇаҐдЁЄб 0Fh) і
і xor eax, eax і 2 і 1 і
і movb al, Ї ¬пвм1 і 4 і 1 і
АДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДЩ
’ ЄЁ¬ ®Ўа §®¬, ¤«п Їа®жҐбб®а i486, б з « ®зЁб⪠ॣЁбва Ё § ⥬
§ Јаг§Є § 票п ॣЁбва ¬®¦Ґв ¤ вм ў Є зҐб⢥ १г«мв в зЁбвго
нЄ®®¬Ёо ¤ўге в Єв®ў (ў § ўЁбЁ¬®бвЁ ®в в®Ј®, Ј¤Ґ в Єв ¤ҐЄ®¤Ёа®ў Ёп
ЇаҐдЁЄб ¬®¦Ґв Ўлвм ЇҐаҐЄал⠯।л¤г饩 Є®¬ ¤®©, ᬮваЁ ђ §¤Ґ« G.8,
Ї®бўпйҐл© ЏаҐдЁЄбл¬ Є®¤ ¬ ®ЇҐа жЁ©), ў в® ўаҐ¬п Є Є Ґв а §Ёжл ў
ўлЇ®«ҐЁЁ Є®¬ ¤ Їа®жҐбб®аҐ 386 DX.
`Є`¤G.6. Љ®¤л гб«®ўЁп `*
‚ ҐЄ®в®але п§лЄ е Їа®Ја ¬¬Ёа®ў Ёп ўлб®Є®Ј® га®ўп Ё®Ј¤ Ґ®Ўе®¤Ё¬®
ЇаҐ®Ўа §®ў вм १г«мв в Ўг«ҐўбЄ®Ј® гб«®ўЁп ( Ё¬Ґ®, а ўҐбвў ,
Ў®«миҐ-祬 Ё«Ё ¬ҐмиҐ-祬 Ё в Є ¤ «ҐҐ) ў § 票Ґ ЁбвЁ Ё«Ё «®¦м (в.Ґ.
0/1). Џа®жҐбб®ал 386 Ё i486 ®Ўлз® Ї®¤¤Ґа¦Ёў ов १г«мв вл ба ўҐЁп ў
ॣЁбваҐ д« Ј®ў, Ї®н⮬㠤«п в®Ј®, зв®Ўл ЇаҐ®Ўа §®ў вм १г«мв в ба ўҐЁп
ў § 票Ґ ЁбвЁ / «®¦м, Ґ®Ўе®¤Ё¬® ЇаҐ®Ўа §®ў вм § 票п д« Ј®ў ў 楫лҐ
§ 票п.
Џа®жҐбб®ал 386 Ё i486 Ё¬Ґов ¬®¦Ґбвў® Є®¬ ¤ SETcc, Є®в®алҐ ўлЇ®«пов
в Є®Ґ ЇаҐ®Ўа §®ў ЁҐ, ®¤ Є® Є®¬ ¤л SETcc § Ё¬ ов 3 Ё«Ё 4 в Єв ЇаЁ
ўлЇ®«ҐЁЁ Їа®жҐбб®аҐ i486, ў § ўЁбЁ¬®бвЁ ®в в®Ј®, Є®Ј¤ гб«®ўЁҐ
Їа®ўҐапҐвбп ЁбвЁг Ё«Ё «®¦®бвм. ‘ЇҐжЁ «м® ЇаЁ ба ўҐЁЁ § 票© ЎҐ§
§ Є Ў®«миҐ зҐ¬ Ё«Ё ¬ҐмиҐ зҐ¬, Ё¬ҐҐвбп Ґ®Ўп§ ⥫м п ¤«п
ЁбЇ®«м§®ў Ёп Ї®б«Ґ¤®ў ⥫м®бвм ¤Ґ©бвўЁ©. Ќ ЇаЁ¬Ґа, Ґб«Ё "x" Ё "y"
пў«повбп § 票ﬨ ЎҐ§ § Є , Ё "x" § Ја㦥 ў ॣЁбва eax Ё "y" § Ја㦥
ў ॣЁбва ecx, в®Ј¤ Є®¤ ¤«п ба ўҐЁп "(x<y)" ¬®¦Ґв Ўлвм Ї®«гзҐ
б«Ґ¤гойЁ¬Ё бЇ®б®Ў ¬Ё :
ЪДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДї
і Љ®¬ ¤ і ’ Євл –Џ“ 386(’Њ) DX і ’ Євл –Џ“ i486(TM) і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДґ
і cmp eax, ecx і 2 і 1 і
і mov eax, 0 і 2 і 1 і
і jnb L1 і 7 + m/3 і 3/1 і
і mov eax, 1 і 2 і 1 і
і L1: і і і
і cmp eax, ecx і 2 і 1 і
і setb al і 4/5 і 4/3 і
і movsx eax, al і 3 і 3 і
і cmp eax, ecx і 2 і 1 і
і sbb eax, eax і 2 і 1 і
і neg eax і 4 і 1 і
АДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДЩ
’ ЄЁ¬ ®Ўа §®¬, ЁбЇ®«м§®ў ЁҐ Є®¬ ¤л SBB ¤«п Ї®«г票п гбв ®ў«Ґле
§ 票© д« Ј®ў ЇаЁ ба ўҐЁЁ ЎҐ§ § Є ¤ Ґв Ёўлб襥 ЎлбвதҐ©бвўЁҐ, ЎҐ§
ЇаҐалў Ёп ЇаҐ¤ў аЁвҐ«м® ўлЎа ®Ј® Є®ўҐ©Ґа®Ј® Їа®жҐбб , в Є Є Є Ґ
ЁбЇ®«м§гҐвбп ЁЄ ЄЁе ЇҐаҐ¤ з гЇа ў«ҐЁп. ЋЎа вЁвҐ ўЁ¬ ЁҐ, зв® е®вп нв® Ё
бЇҐжЁдЁзҐбЄЁ© Їа®жҐбб ¤«п Їа®ўҐаЄЁ гб«®ўЁп "(x<y)", ЇаҐ¤бв ў«пҐвбп
ў®§¬®¦л¬ ЇаҐ®Ўа §®ў вм ¤агЈЁҐ Їа®ўҐаЄЁ Є ¤ ®© д®а¬Ґ Ї®б।бвў®¬ «ЁЎ®
®ваЁж Ёп гб«®ўЁп, «ЁЎ® § ¬Ґ®© ®ЇҐа ¤®ў ¬Ґбв ¬Ё.
’ ЄЁҐ § ¬Ґл Є®¬ ¤ Є®¤ гб«®ўЁп в Є¦Ґ ®Є §лў ов ў«ЁпЁҐ ўлЇ®«ҐЁҐ
Їа®Ја ¬¬ Їа®жҐбб®аҐ 386.
`Є`¤G.7. Љ®¬ ¤л а Ў®вл б® бва®Є ¬Ё `*
’ Є ¦Ґ, Є Є Ё Їа®жҐбб®а 386 DX, Їа®жҐбб®а i486 ўлЇ®«пҐв Є®¬ ¤л а Ў®вл б®
бва®Є ¬Ё ¬Ґ¤«ҐҐҐ, 祬 Є®¬ ¤л § Јаг§ЄЁ Ё б®еа ҐЁп. Ќ ЇаЁ¬Ґа, Є®¬ ¤
LODS :
ЪДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДї
і Љ®¬ ¤ і ’ Євл –Џ“ 386(’Њ) DX і ’ Євл –Џ“ i486(TM) і
ГДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДґ
і mov eax, [esi] і 4 і 1 і
і add esi, 4 і 2 і 1 і
і і і і
і lods і 5 і 4 і
АДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДЩ
Љ®¬ ¤ LODS ўлЇ®«пҐв Ў®«миҐ ¤Ґ©бвўЁ©, 祬 ®в¤Ґ«м п Є®¬ ¤ MOV, ®
в Є¦Ґ ®Ў®ў«пҐв ॣЁбва ESI. Ћ¤ Є®, Ґб«Ё Ґв Ґ®Ўе®¤Ё¬®бвЁ ў ®Ў®ў«ҐЁЁ
ॣЁбва , в® Є®¬ ¤ MOV ЇаЁў®¤Ёв Є зЁб⮬г б®еа ҐЁо 3 в Єв®ў Ё
Їа®жҐбб®аҐ 386 DX, Ё Їа®жҐбб®аҐ i486. ЏҐз «мл¬ Є®¬Їа®¬Ёбᮬ б«г¦Ёв в®,
зв® Є®¬ ¤ LODS Є®а®зҐ Є®¬ ¤л MOV.
’ Є¦Ґ Ё ЇаЁ Ґ Ї®ўв®апо饬бп ЁбЇ®«м§®ў ЁЁ ®в¤Ґ«млҐ Є®¬ ¤л MOV ўбҐЈ¤
Ўг¤гв ўлЇ®«пвмбп Ўлбв॥, 祬 бва®з п Є®¬ ¤ MOVS. € ¤ ¦Ґ ў жЁЄ«Ґ RET,
Ґб«Ё жЁЄ« ¤®бв в®з® Є®а®вЄЁ©, Ўлбв॥ ЁбЇ®«м§®ў вм ®в¤Ґ«млҐ Є®¬ ¤л
§ Јаг§ЄЁ Ё б®еа ҐЁп, 祬 гбв ў«Ёў вм § зҐЁп ¤«п REP'MOVS.
Љ®¬Їа®¬Ёб®¬ ў®ўм пў«пҐвбп Їа®вЁў®бв®пЁҐ бЄ®а®бвЁ ўлЇ®«ҐЁп Ё а §¬Ґа®ў
Є®¤ , ЇаЁ ЁбЇ®«м§®ў ЁЁ Є®¬ ¤л REP'MOVS жЁЄ« Ўг¤Ґв Є®а®зҐ, ® ¬Ґ¤«ҐҐҐ.
Ћ¤ Є®, Є Є гЄ §лў «®бм ўлиҐ, ¤«Ё п Ї®б«Ґ¤®ў ⥫м®бвм Є®¬ ¤ § Јаг§ЄЁ Ё
б®еа ҐЁп ¬®¦Ґв § Єалвм ¤®бвгЇ ¬®¤г«о ЇаҐ¤ў аЁвҐ«м®© ўлЎ®аЄЁ Є
ЇаҐ¤ў аЁвҐ«м®¬г д®а¬Ёа®ў Ёо ®зҐаҐ¤Ё Є®¬ ¤ Ё в ЄЁ¬ ®Ўа §®¬ § в®а¬®§Ёвм
Їа®жҐбб®а, Ї®н⮬㠥 ४®¬Ґ¤гҐвбп ЇҐаҐ¬Ґй вм Ў®«ҐҐ 16 Ў ©в Є®¬ ¤ ¬Ё
§ Јаг§ЄЁ Ё б®еа ҐЁп ЎҐ§ ЁбЇ®«м§®ў Ёп ¬Ґ¦¤г Ё¬Ё Є®¬ ¤, Ґ а Ў®в ойЁе б
Ї ¬пвмо, зв®Ўл Ї®§ў®«Ёвм гбва®©бвўл ЇаҐ¤ў аЁвҐ«м®© ўлЎ®аЄЁ ®Ўа вЁвмбп Є
Єни-Ї ¬пвЁ.
Ђ «®ЈЁзлҐ ®ЇвЁ¬Ё§ жЁЁ ¬®Јгв Ўлвм Їа®ўҐ¤Ґл ¤«п Є®¬ ¤л STOS Ё ¤агЈЁе
Є®¬ ¤ а Ў®вл б® бва®Є ¬Ё. ’ ЄЁҐ § ¬Ґл Є®¬ ¤ а Ў®вл б® бва®Є ¬Ё ў«Ёпов
ўлЇ®«ҐЁҐ Їа®Ја ¬¬л 386 Їа®жҐбб®аҐ.
`Є`¤G.8. Љ®¬ ¤л а Ў®вл б зЁб« ¬Ё б Ї« ў о饩 в®зЄ®©`*
’ Є ¦Ґ, Є Є Ё Є®¬ЎЁ жЁп Їа®жҐбб®а 386 б ¬ ⥬ вЁзҐбЄЁ¬ б®Їа®жҐбб®а®¬
387, ¬®¤г«м ®Ўа Ў®вЄЁ ®ЇҐа жЁ© Ї« ў о饩 в®зЄ®© Їа®жҐбб®а i486 пў«пҐвбп
®в¤Ґ«мл¬ ўлзЁб«ЁвҐ«мл¬ гбва®©бвў®¬ Ё а Ў®в Ґв Ї а ««Ґ«м® б
楫®зЁб«Ґл¬ ¬®¤г«Ґ¬, ¤ ¦Ґ Ґб«Ё дЁ§ЁзҐбЄЁ ®Ё Ё а §¬Ґй овбп ®¤®©
¬ЁЄа®б奬Ґ. ‘«Ґ¤®ў ⥫м®, «оЎ п Ї®б«Ґ¤®ў ⥫м®бвм Є®¬ ¤, Є®в®а п
¤®ЇгбЄ Ґв Ї а ««Ґ«м®Ґ ЁбЇ®«м§®ў ЁҐ нвЁе ¤ўге Ґ§ ўЁбЁ¬ле ¬®¤г«Ґ©, Ўг¤Ґв
а Ў®в вм Ўлбв॥.
Љ®¬ ¤л а Ў®вл б зЁб« ¬Ё б Ї« ў о饩 в®зЄ®© Ґ б«Ґ¤гҐв а §¬Ґй вм ®¤г
ўб«Ґ¤ § ¤агЈ®©. ќвЁ Є®¬ ¤л б«Ґ¤гҐв гЇ®а冷зЁвм в ЄЁ¬ ®Ўа §®¬, зв®Ўл ¤ўҐ
Є®¬ ¤л ўлзЁб«ҐЁ© б Ї« ў о饩 § Їпв®© а §¤Ґ«п«Ёбм ¤агЈ®©, Ґ бўп§ ®© б
зЁб« ¬Ё б Ї« ў о饩 в®зЄ®©, Є®¬ ¤®©, зв®Ўл ¤ў ¬®¤г«п ¬®Ј«Ё а Ў®в вм
Ї а ««Ґ«м®. ЋЎа вЁвҐ ®б®Ў®Ґ ўЁ¬ ЁҐ Їа®¤®«¦ЁвҐ«м®бвм ў в Єв е
Їа®жҐбб®а ¤«п Є®¬ ¤ а Ў®вл б зЁб« ¬Ё б Ї« ў о饩 в®зЄ®©, ¤«п в®Ј®, зв®Ўл
Ї®¤е®¤п饥 Є®«ЁзҐбвў® 楫®зЁб«Ґле Є®¬ ¤ ¬®Ј«® Ўлвм ўлЇ®«Ґ® ЎҐ§ в®Ј®,
зв®Ўл Ї®бв ўЁвм ¬®¤г«м ®Ўа Ў®вЄЁ ®ЇҐа жЁ© б Ї« ў о饩 в®зЄ®© ў б®бв®пЁҐ
®¦Ё¤ Ёп ¬®¬Ґв , Є®Ј¤ ¬®¦Ґв Ўлвм ўлЇ®«Ґ б«Ґ¤гой п Є®¬ ¤ ўлзЁб«ҐЁ©
б Ї« ў о饩 в®зЄ®©. ’ Є®Ґ Ё§¬ҐҐЁҐ Ї®ап¤Є Є®¬ ¤ в Є¦Ґ ў«ЁпҐв
бЄ®а®бвм а Ў®вл ў Є®¬ЎЁ жЁЁ Їа®жҐбб®а 386/¬ ⥬ вЁзҐбЄЁ© б®Їа®жҐбб®а 387,
®¤ Є® Є®«ЁзҐбвў® в Єв®ў, ЁбЇ®«м§гҐ¬®Ґ Їа®жҐбб®а®¬, ¬®Ј® ¬ҐмиҐ, 祬
Є®«ЁзҐбвў® в Єв®ў, ЁбЇ®«м§гҐ¬®Ґ ¬ ⥬ вЁзҐбЄЁ¬ б®Їа®жҐбб®а®¬ 387 ¤«п
ўлЇ®«ҐЁп ®¤Ёе Ё вҐе ¦Ґ ¤Ґ©бвўЁ© ¤ зЁб« ¬Ё б Ї« ў о饩 в®зЄ®©.
Љ Є Ї®¬Ё ЁҐ, § Ї®¬ЁвҐ, зв® «оЎ®Ґ Їа®б⮥ ЇҐаҐ¬ҐйҐЁҐ Ё«Ё гЇ®а冷票Ґ
зЁбҐ« б Ї« ў о饩 в®зЄ®© ¤®«¦® ўлЇ®«пвмбп Ґ ЇаЁ Ї®¬®йЁ ¬®¤г«п ®Ўа Ў®вЄЁ
®ЇҐа жЁ© б Ї« ў о饩 § Їпв®©, ЇаЁ Ї®¬®йЁ 楫®зЁб«Ґ®Ј® ¬®¤г«п б
楫®зЁб«Ґл¬Ё ¦Ґ Є®¬ ¤ ¬Ё. ’ Є¦Ґ Є®¬ ¤ FWAIT ЁЄ®Ј¤ Ґ вॡгҐвбп ¤«п
ўлЇ®«ҐЁп Їа®б⥩иЁе ўлзЁб«ҐЁ© б Ї« ў о饩 в®зЄ®©.
`Є`¤G.9. ЏаҐдЁЄблҐ Є®¤л ®ЇҐа жЁ© `*
Ќ «оЎ®¬ Ёб Їа®жҐбб®а®ў ўбҐ ЇаҐдЁЄблҐ Є®¤л ®ЇҐа жЁ©, ўЄ«оз п 0Fh,
ЇҐаҐЄалвЁҐ ᥣ¬Ґв , а §¬Ґа®бвм/ ¤аҐб жЁп ®ЇҐа ¤ , Ў«®ЄЁа®ўЄ иЁ,
Ї®ўв®ал Ё в Є ¤ «ҐҐ вॡгҐв ¤®Ї®«ЁвҐ«мле в Єв®ў Їа®жҐбб®а ¤«п
¤ҐЄ®¤Ёа®ў Ёп. ќвЁ в Євл ¬®Јгв Ўлвм ЇҐаҐЄалвл § бзҐв ўлЇ®«ҐЁп
ЇаҐ¤л¤гйЁе Є®¬ ¤, Ґб«Ё ®Ё вॡгов Ў®«ҐҐ ®¤®Ј® в Єв ¤«п бў®ҐЈ®
ўлЇ®«ҐЁп.
Ѓ®«ҐҐ в®Ј®, Ўлбв॥ Ўг¤Ґв ЇаҐ®Ўа §®ў вм 16-а §ап¤л© ®ЇҐа ¤ ў
32-а §ап¤л© Ё § ⥬ а Ў®в вм б 32-а §ап¤л¬ § 票Ґ¬, ў¬Ґбв® в®Ј®, зв®Ўл
ЁбЇ®«м§®ў вм ЇаҐдЁЄб 66h ¤«п а Ў®вл б 16-а §ап¤л¬ ®ЇҐа ¤®¬.
…б«Ё ЁбЇ®«м§гҐвбп ЇаҐдЁЄбл© Є®¤ ®ЇҐа жЁЁ, Ї®Їлв ©вҐбм ЇҐаҐгЇ®а冷зЁвм
Є®¬ ¤л в ЄЁ¬ ®Ўа §®¬, зв®Ўл Є®¬ ¤ б ЇаҐдЁЄб®¬ бв®п« б«Ґ¤®¬ §
Є®¬ ¤®©, Є®в®а®© ¤«п ўлЇ®«ҐЁп вॡгҐвбп ҐбЄ®«мЄ® в Єв®ў.
„®Ї®«ЁвҐ«м®© ЇаЁзЁ®© ҐЁбЇ®«м§®ў Ёп 16-а §ап¤ле ®ЇҐа ¤®ў пў«пҐвбп
в®, зв® Ґб«Ё ЇаЁҐ¬ЁЄ®¬ Є®¬ ¤л пў«пҐвбп 16-а §ап¤л© ॣЁбва Ё
ҐЇ®б।б⢥® б«Ґ¤гой п § Ґ© Є®¬ ¤ ЁбЇ®«м§гҐв нв®в ॣЁбва ў
Є зҐб⢥ 32-а §а冷Ј® ®ЇҐа ¤ , в® Ўг¤Ґв « Ј вмбп ®¤Ё ива д®© в Єв.
Љ Є Ё а ҐҐ, нвЁ ¤ўҐ Є®¬ ¤л ¤®«¦л Ўлвм ®в¤Ґ«Ґл ¤агЈ ®в ¤агЈ Є Є®©-«ЁЎ®
Ё®© Є®¬ ¤®© ¤«п в®Ј®, зв®Ўл Ё§ЎҐ¦ вм ива д .
`Є`¤G.10. ЏҐаҐЄалў ойЁҐбп в Євл`*
Љ Є 㦥 гЇ®¬Ё «®бм ўлиҐ, Ё¬ҐҐвбп ҐбЄ®«мЄ® бЁвг жЁ© ЇаЁ Є®в®але Є®¬ ¤Ґ
вॡговбп ¤«п ўлЇ®«ҐЁп ¤®Ї®«ЁвҐ«млҐ в Євл Їа®жҐбб®а , ® ҐЄ®в®алҐ Ё§
нвЁе в Єв®ў ¬®Јгв Ўлвм ЇҐаҐЄалвл ¤агЈ § бзҐв ¤агЈ . Џ®н⮬㠪®¬ ¤л,
ЁбЇ®«м§гойЁҐ ¬®Ј®зЁб«ҐлҐ ў®§¬®¦®бвЁ, ®ЇЁб лҐ а ҐҐ, Ґ ®Ўп§ ⥫м®
Ўг¤гв Ё¬Ґвм ива 䮥 ўаҐ¬п, Є®в®а®Ґ а ўпҐвбп б㬬 ஬㠪®«ЁзҐбвўг
ива д®ў ®в¤Ґ«мле Є®¬ ¤.
‚ з бв®бвЁ, ЇҐаҐЄалў овбп б«Ґ¤гойЁҐ Є®¬ЎЁ жЁЁ :
- Ќ «ЁзЁҐ Ё¤ҐЄб®Ј® ॣЁбва Ё ҐЇ®б।б⢥®Ј® § зҐЁп ў¬Ґб⥠б®
ᬥ饨Ґ¬ ў Ї ¬пвЁ Ўг¤Ґв бв®Ёвм ўбҐЈ® ®¤Ё ива д®© в Єв Їа®жҐбб®а .
- Ќ «ЁзЁҐ ЇаҐдЁЄб®Ј® Є®¤ ®ЇҐа жЁЁ Ё ЁбЇ®«м§®ў ЁҐ ॣЁбва १г«мв в
ЇаҐ¤л¤г饩 ®ЇҐа жЁЁ ў Є зҐб⢥ Ў §®ў®Ј® ॣЁбва Ўг¤Ґв бв®Ёвм ўбҐЈ® ®¤Ё
ива д®© в Єв Їа®жҐбб®а .
- Ќ «ЁзЁҐ ЇаҐдЁЄб®Ј® Є®¤ ®ЇҐа жЁЁ б«Ґ¤®¬ § Є®¬ ¤®©, вॡго饩 ¤«п
ўлЇ®«ҐЁп ҐбЄ®«мЄ® в Єв®ў Їа®жҐбб®а , Ґ « Ј Ґв ЁЄ ЄЁе ¤®Ї®«ЁвҐ«мле
ива дле в Єв®ў Їа®жҐбб®а .
`Є`¤G.11 ђгЄ®ў®¤бвў® Ї® ЁбЇ®«м§®ў Ёо ®бв «мле Є®¬ ¤`*
Њ®¦Ґбвў® Є®¬ ¤ Їа®жҐбб®а®ў 386 ᮧ¤ ў «®бм Ёбе®¤п Ё§ ҐЄ®в®а®Ј® ®Їлв
Їа ЄвЁзҐбЄ®Ј® Їа®Ја ¬¬Ёа®ў Ёп. Њ®¦Ґбвў® нвЁе Їа ЄвЁзҐбЄЁе Ў«о¤ҐЁ©
®Є § «®бм Ї®«Ґ§л¬ ¤«п Їа®Ја ¬¬Ёа®ў Ёп п§лЄҐ бᥬЎ«Ґа Їа®жҐбб®а
i486, Ё ¬®¦Ґв ®Є § вмбп б ¬® Ї® ᥡҐ ЁвҐаҐбл¬ ЇаЁ ᮧ¤ ЁЁ Є®¬ЇЁ«пв®а®ў.
- €бЇ®«м§г©вҐ ॣЁбва EAX Ј¤Ґ в®«мЄ® ў®§¬®¦®. Њ®ЈЁҐ Є®¬ ¤л бв ®ўпвбп
®¤Ё Ў ©в Є®а®зҐ ЇаЁ ЁбЇ®«м§®ў ЁЁ ॣЁбва EAX, в ЄЁҐ, Є Є § Јаг§Є ў
Ї ¬пвм Ё б®еа ҐЁҐ Ё§ Ї ¬пвЁ ЇаЁ ЁбЇ®«м§®ў ЁЁ Ўб®«овле ¤аҐб®ў,
ЇҐаҐбл«Є § 票© ў ¤агЈЁҐ ॣЁбвал ЇаЁ Ї®¬®йЁ Є®¬ ¤л XCHG, Ё Є®¬ ¤л,
Є®в®алҐ ЁбЇ®«м§гов ҐЇ®б।бвўҐлҐ § зҐЁп ў Є зҐб⢥ ®ЇҐа ¤®ў.
- €бЇ®«м§г©вҐ Ї® ў®§¬®¦®б⨠ᥣ¬Ґв D-¤ ле. Љ®¬ ¤л, а Ў®в ойЁҐ б
D-Їа®бва бвў®¬, ®¤Ё Ў ©в Є®а®зҐ Є®¬ ¤, Є®в®алҐ ЁбЇ®«м§гов ¤агЈЁҐ
ᥣ¬Ґвл ¤ ле Ї® ЇаЁзЁҐ ®вбгвбвўЁп ЇаҐдЁЄб ЇҐаҐЄалвЁп ᥣ¬Ґв .
- ЏаЁ¤ ў ©вҐ ®б®Ў®Ґ § 票Ґ Є®а®вЄЁ¬ ®¤®-, ¤ўге- Ё ваҐеЎ ©вл¬ Є®¬ ¤ ¬.
’ Є Є Є Є®¬ ¤л Їа®жҐбб®а i486 зЁ овбп Ё § Є зЁў овбп Ја Ёж е
Ў ©в®ў, ў®§¬®¦® Ўг¤Ґв ®ЎҐбЇҐзЁвм в Є®Ґ Є®¤Ёа®ў ЁҐ Є®¬ ¤, Є®в®а®Ґ Ўг¤Ґв
Ў®«ҐҐ Є®¬Ї Євл¬ Ї® ®в®иҐЁо Є Є®¤Ёа®ў Ёо ¤«п Їа®жҐбб®а®ў, ЁбЇ®«м§гойЁе
¬®¦Ґбвў® Є®¬ ¤, ўла®ўҐле Ї® Ја Ёж ¬ б«®ў. Љ®¬ ¤ ў® ¬®¦Ґб⢥
Є®¬ ¤ б ўла ўЁў ЁҐ¬ Ї® б«®ў ¬ ¤®«¦ Ё¬Ґвм ¤«Ёг ў ¤ў Ё«Ё зҐвлॠЎ ©в
(Ё«Ё Ў®«ҐҐ). Џ®Ў ©в®Ґ ўла ўЁў ЁҐ б®Єа й Ґв а §¬Ґа®бвм Є®¤ Ё
㢥«ЁзЁў Ґв бЄ®а®бвм ўлЇ®«ҐЁп Є®¬ ¤.
- Џ®«гз ©вҐ ¤®бвгЇ Є 16-а §ап¤л¬ ¤ л¬ ЇаЁ Ї®¬®йЁ Є®¬ ¤ MOVSX Ё MOVZX.
ќвЁ Є®¬ ¤л ЁбЇ®«м§гов а биЁаҐЁҐ Ї® § Єг Ё а биЁаҐЁҐ Ї® г«о ®ЇҐа ¤®ў
¤«Ё®© ў б«®ў® ¤® ¤«Ёл ў ¤ў®©®Ґ б«®ў®. ќв® б®Єа й Ґв Ґ®Ўе®¤Ё¬®бвм ў
ЁбЇ®«м§®ў ЁЁ ¤®Ї®«ЁвҐ«мле Є®¬ ¤ ¤«п ЁЁжЁ «Ё§ жЁЁ бв а襣® б«®ў .
- „«п ᪮३襣® ®вЄ«ЁЄ ЇаҐалў ЁҐ ЁбЇ®«м§г©вҐ ЇаЁ ў®§¬®¦®бвЁ
ЇаҐалў ЁҐ MNI.
- ‚¬Ґбв® ЁбЇ®«м§®ў Ёп Є®¬ ¤л ENTER «ҐЄбЁзҐбЄ®¬ га®ўҐ 0, ЁбЇ®«м§г©вҐ
да Ј¬Ґв Є®¤ , «®ЈЁзл© б«Ґ¤го饬г :
PUSH EBP
MOV EBP, ESP
SUB ESP, BYTE_COUNT
ќв®в да Ј¬Ґв ўлЇ®«пҐвбп § ᥬм в Єв®ў, Ґ § ¤Ґбпвм.
‘«Ґ¤гойЁҐ геЁйаҐЁп ¬®¦® ЇаЁ¬Ґпвм ў Є зҐб⢥ ®ЇвЁ¬Ё§ жЁЁ бЄ®а®бвЁ а Ў®вл
бЁбвҐ¬л Ї®б«Ґ в®Ј®, Є Є ҐҐ ®б®ўлҐ Є®¬ ¤л Ўл«Ё ॠ«Ё§®ў л :
- Љ®¬ ¤л ЇҐаҐе®¤ ЁбЇ®«м§говбп ў ¤ўге ®б®ўле д®а¬ е : ®¤ Ё§ д®а¬
Ё¬ҐҐв ҐЇ®б।б⢥®Ґ ў®бм¬ЁЎЁв®ў®Ґ § 票Ґ ¤«п ўлЇ®«ҐЁп
®в®бЁвҐ«м®Ј® ЇҐаҐе®¤ ў ¤Ё Ї §®Ґ ®в 128 Ў ©в § ¤ ¤® 127 Ў ©в ўЇҐаҐ¤,
¤агЈ®© д®а¬®© пў«пҐвбп Ї®«®Ґ 32-а §а冷Ґ ᬥ饨Ґ. Њ®ЈЁҐ Їа®Ја ¬¬Ёбвл
бᥬЎ«ҐаҐ ЁбЇ®«м§гов ¤«Ёго д®а¬г ў бЁвг жЁпе, Є®Ј¤ ¬®¦Ґв Ўлвм
ЁбЇ®«м§®ў Є®а®вЄ п д®а¬ . Љ®Ј¤ б®ўҐа襮 пб®, зв® ¬®¦Ґв Ўлвм
ЁбЇ®«м§®ў Є®а®вЄ п д®а¬ , пў® гЄ ¦ЁвҐ, зв® ®ЇҐа ¤-ЇаЁҐ¬ЁЄ Ё¬ҐҐв
а §¬Ґа®бвм ў ®¤Ё Ў ©в. ќв® Ї®¤бЄ ¦Ґв бᥬЎ«Ґаг, зв® ¤® ЁбЇ®«м§®ў вм
Є®а®вЄго д®а¬г. …б«Ё бᥬЎ«Ґа Ґ Ї®¤¤Ґа¦Ёў Ґв нвг дгЄжЁо, ® ўл¤ бв
®иЁЎЄг. ЋЎа вЁвҐ ўЁ¬ ЁҐ в®, зв® ҐЄ®в®алҐ бᥬЎ«Ґал ўлЇ®«пов в Єго
®ЇвЁ¬Ё§ жЁо ўв®¬ вЁзҐбЄЁ.
- €бЇ®«м§г©вҐ ॣЁбва ESP ¤«п ббл«®Є б⥪ б ¬®¬ Ј«гЎ®Є®¬ га®ўҐ
ў«®¦Ґ®бвЁ Ї®¤Їа®Ја ¬¬. ЌҐ ЎҐбЇ®Є®©вҐбм ®в®бЁвҐ«м® § ¤ Ёп § 票п
ॣЁбва EBP Ё б⥪ ¤ ле.
- „«п Ўлбв३襣® ЇҐаҐЄ«озҐЁп § ¤ з ЁбЇ®«м§г©вҐ Їа®Ја ¬¬®Ґ ЇҐаҐЄ«о票Ґ
§ ¤ з. ќв® Ї®§ў®«пҐв § Ї®¬Ё вм Ё ў®ббв ў«Ёў вм ¬ҐмиЁҐ Ї® ®ЎкҐ¬г ¤ лҐ
® б®бв®пЁЁ Їа®жҐбб®а . ‘¬®ваЁ ѓ« ўг 7 ¤«п ®Ўб㦤ҐЁп ў®Їа®б®ў
¬®Ј®§ ¤ з®бвЁ.
- €бЇ®«м§г©вҐ Є®¬ ¤г LEA ¤«п б«®¦ҐЁп ॣЁбва®ў. Љ®Ј¤ ў Є®¬ ¤Ґ LEA
ЁбЇ®«м§говбп Ў §®ўл© ॣЁбва Ё Ё¤ҐЄбл© аҐЈЁбва, ў ®ЇҐа ¤-ЇаЁҐ¬ЁЄ
§ Јаг¦ Ґвбп Ёе б㬬 . ‘®¤Ґа¦Ё¬®Ґ Ё¤ҐЄб®Ј® ॣЁбва ¬®¦Ґв Ўлвм
¬ бив ЎЁа®ў ® Єа в® 2, 4 Ё«Ё 8.
- €бЇ®«м§г©вҐ Є®¬ ¤г LEA ¤«п ЇаЁЎ ў«ҐЁп Є®бв вл Є ॣЁбваг. Љ®Ј¤ ў
Є®¬ ¤Ґ LEA ЁбЇ®«м§говбп Ў §®ўл© ॣЁбва Ё ᬥ饨Ґ, б㬬 § Јаг¦ Ґвбп ў
ЇаЁҐ¬ЁЄ. Љ®¬ ¤ LEA ¬®¦Ґв Ўлвм ЁбЇ®«м§®ў ў¬ҐбвҐ б Ў §®ўл¬ ॣЁбв஬,
Ё¤ҐЄбл¬ аҐЈЁбв஬, д Єв®а®¬ ¬ бив ЎЁа®ў Ёп Ё ᬥ饨Ґ¬.
- €бЇ®«м§г©вҐ Є®¬ ¤л ЇҐаҐ¬ҐйҐЁп 楫ле ¤«п ЇҐаҐ¤ зЁ ¤ ле д®а¬ в б
Ї« ў о饩 в®зЄ®©.
- €бЇ®«м§г©вҐ д®а¬г Є®¬ ¤л RET б ҐЇ®б।бвўҐл¬ § 票Ґ¬ ¤« бзҐвзЁЄ
Ў ©в, Ґ Є®¬ ¤г ADD ESP. ќв® б®еа пҐв ЇаЁ ўлЇ®«ҐЁЁ ®¤Ё в Єв®ўл©
жЁЄ« Ё ваЁ Ў ©в Є ¦¤л© ўл§®ў Ї®¤Їа®Ја ¬¬л.
- Љ®Ј¤ ўлЇ®«пҐвбп ҐбЄ®«мЄ® ®Ўа 饨© Є ЇҐаҐ¬Ґ®©, ¤аҐб㥬®© б®
ᬥ饨Ґ¬, § Ја㧨⥠ᬥ饨Ґ ў ॣЁбва.
- Љ®¬ ¤л PUSH Ё POP, Є®Ј¤ ЁбЇ®«м§гобп ў¬ҐбвҐ б ®ЇҐа ¤®¬ ў Ї ¬пвЁ,
ЁбЇ®«м§гов ¤ў Ў®«миҐ в Єв®ў Їа®жҐбб®а , 祬 нЄўЁў «Ґв п
¤ўгеЄ®¬ ¤ п Ї®б«Ґ¤®ў ⥫м®бвм, Є®в®а п ЇҐаҐ¤ Ґв ®ЇҐа ¤л зҐаҐ§ ॣЁбвал
®ЎйҐЈ® § зҐЁп ЇҐаҐ¤ § ҐбҐЁҐ¬ Ёе ў б⥪ Ё ў®ббв ®ў«ҐЁҐ¬ Ё§ б⥪ .
- Љ®¬ ¤ LOOP ЁбЇ®«м§гҐв ЇаЁ ўлЇ®«ҐЁЁ ¤ў в Єв®ўле жЁЄ« Ў®«миҐ, 祬
нЄўЁў «Ґв®Ґ 㬥м襨Ґ бзҐвзЁЄ Ё Є®¬ ¤ гб«®ў®Ј® ЇҐаҐе®¤ .
- Љ®¬ ¤ JECXZ ЁбЇ®«м§гҐв ЇаЁ ўлЇ®«ҐЁЁ ®¤Ё в Єв®ўл© жЁЄ« Ў®«миҐ,
祬 нЄўЁў «Ґв®Ґ ба ўҐЁҐ Ё Є®¬ ¤ гб«®ў®Ј® ЇҐаҐе®¤ .
Соседние файлы в папке INTEL486