Добавил:
Eatmore
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
- 13 -
3. LINK: «ЁЄҐа ¬®¤г«Ґ©.
------------------------
3.1. ЋЎйЁҐ ᢥ¤ҐЁп.
ЋЎкҐЄвл© «ЁЄҐа ЇаҐ¤ § зҐ ¤«п ᮧ¤ Ёп
ЁбЇ®«ЁвҐ«мле д ©«®ў Ё§ ®ЎкҐЄвле д ©«®ў, бд®а¬Ёа®ў ле
MASM Ё«Ё Є®¬ЇЁ«пв®а ¬Ё C Ё«Ё PASCAL.
LINK д®а¬ЁагҐв ЇҐаҐ¬ҐбвЁ¬л© ЁбЇ®«ЁвҐ«мл© Є®¤,
б Ў¦Ґл© Ёд®а¬ жЁҐ© ЇҐаҐ¬ҐйҐЁп, ЁбЇ®«м§гп Є®в®аго,
MS-DOS ᬮ¦Ґв § Јаг§Ёвм ў Ї ¬пвм Ё ЁбЇ®«Ёвм ᮮ⢥вбвўгойго
Їа®Ја ¬¬г.
LINK ¬®¦Ґв д®а¬Ёа®ў вм Їа®Ја ¬¬л, ᮤҐа¦ йЁҐ бўлиҐ 1Њ
Є®¤ Ё ¤ ле.
‚®бЇаЁЁ¬ п ў Є зҐб⢥ ўе®¤ 2 д ©« , LINK ¬®¦Ґв
д®а¬Ёа®ў вм 2 ўл室ле д ©« , Є Є Ї®Є § ® аЁб.3.1.
_____________ _____________
| | | |
| Ё¬п.LIB |---------- ---->| Ё¬п.MAP |
| (ЎЁЎ«-Є ) | | | | (Ї« ) |
|___________| | | |___________|
| |
| |
| _____________ |
| | | |
| | | |
|----->| LINK |----|
| | | |
| |___________| |
| |
| |
_____________ | | _____________
| | | | | |
| Ё¬п.OBJ | | | | Ё¬п.EXE |
| (®ЎкҐЄв. |---------- ---->| (ЁбЇ®«Ёв.|
| д ©«) | | д ©«) |
|___________| |___________|
ђЁб. 3.1. ђ Ў®в LINK.
ђ биЁаҐЁп Ё¬Ґ д ©«®ў, Ї®Є § лҐ аЁбгЄҐ
ЇаЁЁ¬ овбп Ї® 㬮«з Ёо.
ЋЎкҐЄвл© д ©« ᮤҐа¦Ёв ®ЎкҐЄвлҐ ¬®¤г«Ё Їа®Ја ¬¬ле
- 14 -
ᥣ¬Ґв®ў, бд®а¬Ёа®ў лҐ MASM Ё«Ё Є®¬ЇЁ«пв®а®¬ п§лЄ
ўлб®Є®Ј® га®ўп.
ЃЁЎ«Ё®вҐЄЁ ᮤҐа¦ в Ў®ал ¬®¤г«Ґ©, Є®в®але ¬®Јгв
ббл« вмбп Їа®Ја ¬¬лҐ ᥣ¬Ґвл ў ®ЎкҐЄв®¬ д ©«Ґ.
ЃЁЎ«Ё®вҐзлҐ д ©«л д®а¬Ёаговбп ЇаЁ Ї®¬®йЁ гвЁ«Ёвл LIB.
Ћб®ўл¬ १г«мв ⮬ а Ў®вл LINK пў«пҐвбп
ЁбЇ®«ЁвҐ«мл© д ©«, ᮤҐа¦ йЁ© Їа®Ја ¬¬г ў ўЁ¤Ґ, ЇаЁЈ®¤®¬
¤«п § Јаг§ЄЁ ў Ї ¬пвм Ё ЁбЇ®«ҐЁп. ЌҐЄ®в®алҐ ®б®ЎҐ®бвЁ
д®а¬Ёа®ў Ёп ЁбЇ®«ЁвҐ«м®Ј® д ©« ®ЇЁб л ў Ї.3.4.
” ©« Ї« пў«пҐвбп Ґ®Ўп§ ⥫мл¬ Ё ᮤҐа¦Ёв, Ґб«Ё ®
д®а¬ЁагҐвбп, ҐЄ®в®аго ¤Ё Ј®бвЁзҐбЄго Ё б«г¦ҐЎго
Ёд®а¬ жЁо, Є®в®а п § ⥬ ЇаЁ Ї®б।б⢥ гвЁ«Ёвл MAPSYM
¬®¦Ґв Ўлвм ЁбЇ®«м§®ў ў Їа®жҐбᥠ®в« ¤ЄЁ Їа®Ја ¬¬л.
” ©« Ї« ᮤҐа¦Ёв Ё¬Ґ , § Ја㧮злҐ ¤аҐб Ё ¤«Ёл
ўбҐе ᥣ¬Ґв®ў Їа®Ја ¬¬л. Ља®¬Ґ в®Ј®, бо¤ ўе®¤пв Ё¬Ґ Ё
§ Ја㧮злҐ ¤аҐб ЈагЇЇ ў Їа®Ја ¬¬Ґ, ¤аҐб в®зЄЁ ўе®¤ ,
в Є¦Ґ б®®ЎйҐЁп ® ў®§¬®¦ле ®иЁЎЄ е.
…б«Ё § ¤ ®ЇжЁп /MAP, ў д ©« ўЄ«оз овбп Ё¬Ґ ®ЎйЁе
бЁ¬ў®«®ў Ё Ёе § Ја㧮злҐ ¤аҐб .
…б«Ё § ¤ л ®ЇжЁЁ /HIGH Ё«Ё /DSALLOCATE Ё ®ЎкҐ¬
Їа®Ја ¬¬л Ё ¤ ле ў б®ў®ЄгЇ®бвЁ Ґ ЇаҐўли Ґв 64Љ, Ї«
¬®¦Ґв ᮤҐа¦ вм бЁ¬ў®«л б Ґ®Ўлз® Ў®«миЁ¬Ё ¤аҐб ¬Ё
ᥣ¬Ґв®ў. ќвЁ ¤аҐб ®ва ¦ ов ЇҐаҐ¬ҐлҐ, а бЇ®«®¦ҐлҐ
Ё¦Ґ ¤Ґ©б⢨⥫쮣® з « ᥣ¬Ґв . ЏаЁ¬Ґа:
FFF0:0A20 TEMP
Ђ¤аҐб TEMP - 00:920h.
ЌҐ®Ўе®¤Ё¬® Ё¬Ґвм ўўЁ¤г, зв®, Єа®¬Ґ ¤ўге ўл室ле
д ©«®ў, LINK ¬®¦Ґв д®а¬Ёа®ў вм ўаҐ¬Ґл© д ©« б Ё¬ҐҐ¬
VM.TMP. ќв® Їа®Ёб室Ёв ў ⮬ б«гз Ґ, Є®Ј¤ «ЁЄҐаг Ґ
еў в Ґв ®ЇҐа вЁў®© Ї ¬пвЁ. ‘®н¤ ЁҐ д ©« VM.TMP
б®Їа®ў®¦¤ Ґвбп б®®ЎйҐЁҐ¬ Є®б®«Ё Ё ўбҐЈ¤ ®бгйҐбвў«пҐвбп
ў ⥪г饬 Ї®¤®Ј« ў«ҐЁЁ. ‚ н⮬ б«гз Ґ Ґ«м§п ЁбЇ®«м§®ў вм
®ЇжЁо /PAUSE Ё бЁ¬ вм ¤ЁбЄҐвг, Ґб«Ё ® 室Ёвбп
ЄвЁў®¬ ¤а ©ўҐ, ¤® в®Ј®, Є Є LINK Ґ гЁз⮦Ёв д ©« VM.TMP.
ЌҐ ४®¬Ґ¤гҐвбп ᮧ¤ ў вм ў ⥪г饬 Ї®¤®Ј« ў«ҐЁЁ д ©« б
в ЄЁ¬ Ё¬ҐҐ¬, Є®в®ал© ў н⮬ б«гз Ґ ¬®¦Ґв Ўлвм ЁбЇ®азҐ.
3.2. ‡ ЇгбЄ LINK.
‡ ЇгбЄ LINK ¬®¦Ґв Ўлвм ®бгйҐбвў«Ґ в६п бЇ®б®Ў ¬Ё:
1. ‘ ЁбЇ®«м§®ў ЁҐ¬ Ї®¤бЄ §®Є.
2. ЏаЁ Ї®¬®йЁ Є®¬ ¤®© бва®ЄЁ DOS.
3. ‘ ЁбЇ®«м§®ў ЁҐ¬ д ©« ®вўҐв .
„«п § ЇгбЄ LINK б ЁбЇ®«м§®ў ЁҐ¬ Ї®¤бЄ §®Є Ґ®Ўе®¤Ё¬®
- 15 -
ўўҐбвЁ Є®¬ ¤го бва®Єг, ᮤҐа¦ йго в®«мЄ® Ё¬п «ЁЄҐа LINK
б® бЇҐжЁдЁЄ жЁҐ© Ї®¤®Ј« ў«ҐЁп, Ґб«Ё ® вॡгҐвбп. LINK
ЇҐаҐ©¤Ґв ў ¤Ё «®Ј®ўл© ०Ё¬ Ё бҐаЁҐ© Ї®¤бЄ §®Є § Їа®бЁв г
Ї®«м§®ў вҐ«п Ёд®а¬ жЁо ® б«Ґ¤гойЁе д ©« е (®вўҐв
§ Є«оз Ґвбп ў Ў®аҐ вॡ㥬ле бЁ¬ў®«®ў Ё ¦ вЁЁ Є« ўЁиЁ
ENTER):
1. €¬п ®ЎкҐЄв®Ј® д ©« . …б«Ё ЇаЁ ®вўҐвҐ Ґ гЄ § ®
а биЁаҐЁҐ, ЇаҐ¤Ї®« Ј Ґвбп OBJ. …б«Ё 㦮
®ЇаҐ¤Ґ«Ёвм ҐбЄ®«мЄ® д ©«®ў, Ёе Ё¬Ґ а §¤Ґ«повбп
бЁ¬ў®«®¬ + . …б«Ё ўбҐ Ё¬Ґ Ґ Ї®¬Ґй овбп ®¤®©
бва®ЄҐ, ўў®¤ Ё¬Ґ ¬®¦® Їа®¤®«¦Ёвм, Ї®бв ўЁў бЁ¬ў®«
+ ў Ї®б«Ґ¤оо Ї®§ЁжЁо ⥪г饩 бва®ЄЁ. ‚ н⮬
б«гз Ґ LINK Ї®ўв®аЁв § Їа®б ¤«п ўў®¤
¤®Ї®«ЁвҐ«мле Ё¬Ґ.
2. €¬п ЁбЇ®«ЁвҐ«м®Ј® д ©« . …б«Ё ЇаЁ ®вўҐвҐ Ґ
гЄ § ® а биЁаҐЁҐ, ЇаҐ¤Ї®« Ј Ґвбп EXE. Ѓ §®ў®Ґ Ё¬п
ЁбЇ®«ЁвҐ«м®Ј® д ©« Ї® 㬮«з Ёо б®ўЇ ¤ Ґв б
Ў §®ўл¬ Ё¬ҐҐ¬ ®ЎкҐЄв®Ј® д ©« .
3. €¬п д ©« Ї« ¬®¤г«п. …б«Ё ЇаЁ ®вўҐвҐ Ґ гЄ § ®
а биЁаҐЁҐ, ЇаҐ¤Ї®« Ј Ґвбп MAP. Ѓ §®ў®Ґ Ё¬п Ї®
㬮«з Ёо NUL.
4. €¬п ЎЁЎ«Ё®вҐЄЁ. …б«Ё ЇаЁ ®вўҐвҐ Ґ гЄ § ®
а биЁаҐЁҐ, ЇаҐ¤Ї®« Ј Ґвбп LIB. Њ®¦® § ¤ ў вм
ҐбЄ®«мЄ® Ё¬Ґ ЎЁЎ«Ё®вҐЄ Ї® «®ЈЁЁ б OBJ-д ©« ¬Ё.
…б«Ё, Ґ ўў®¤п Ё¬ҐЁ, ба §г ¦ вм ENTER,
ЎЁЎ«Ё®вҐЄЁ ЁбЇ®«м§®ў вмбп Ґ Ўг¤гв.
‚ Є ¦¤®¬ ®вўҐвҐ Ї®б«Ґ бЁ¬ў®« / ¬®Јгв Ўлвм § ¤ л
®ЇжЁЁ LINK, Є®в®алҐ ®ЇЁб л ў Ї.3.3.
…б«Ё ў Є Є®¬-«ЁЎ® ®вўҐвҐ бЇҐжЁдЁжЁа®ў бЁ¬ў®« ; ,
LINK ўл©¤Ґв Ё§ ¤Ё «®Ј®ў®Ј® ०Ё¬ Ё гбв ®ўЁв ®бв ўиЁҐбп
Ё¬Ґ Ї® 㬮«з Ёо Ё§ б«Ґ¤го饣® бЇЁбЄ :
<Ё¬п ®ЎкҐЄв®Ј® д ©« >.EXE
NUL.MAP
ЃЁЎ«Ё®вҐЄЁ Ґ ЁбЇ®«м§говбп.
‚ «оЎ®¬ ®вўҐвҐ в Є¦Ґ ¬®Јгв Ўлвм § ¤ л ®вўҐвл
ҐбЄ®«мЄ® б«Ґ¤гойЁе Ї®¤бЄ §®Є. ‚ н⮬ б«гз Ґ ®¤Ё ®вўҐв ®в
¤агЈ®Ј® ®в¤Ґ«пҐвбп § Їпв®©.
„«п § ЇгбЄ LINK Ї®б।бвў®¬ Є®¬ ¤®© бва®ЄЁ,
Ґ®Ўе®¤Ё¬® ўўҐбвЁ Є®¬ ¤го бва®Єг б«Ґ¤го饣® ўЁ¤ :
LINK <Ё¬п ®ЎкҐЄв®Ј® д ©« >[,[<Ё¬п ЁбЇ®«ЁвҐ«м®Ј® д ©« >]
[,[<Ё¬п д ©« Ї« >][,[<Ё¬п ЎЁЎ«Ё®вҐЄЁ>]]]][<®ЇжЁЁ>][;]
‘Ё¬ў®« ; ¬®¦Ґв Ўлвм бЇҐжЁдЁжЁа®ў ў «оЎ®¬ ¬ҐбвҐ
Є®¬ ¤®© бва®ЄЁ ¤® в®Ј®, Є Є Ўл«Ё ®ЇаҐ¤Ґ«Ґл ўбҐ д ©«л. ‚
н⮬ б«гз Ґ Ё¬Ґ ®бв ўиЁебп Ґ®ЇаҐ¤Ґ«Ґл¬Ё д ©«®ў
ЇаЁЁ¬ овбп Ї® 㬮«з Ёо Ё§ ЇаЁўҐ¤Ґ®Ј® ўлиҐ бЇЁбЄ . €§
нв®Ј® ¦Ґ бЇЁбЄ ЇаЁЁ¬ овбп Ї® 㬮«з Ёо Ё¬Ґ д ©«®ў,
бЇҐжЁдЁЄ жЁп Є®в®але ў Є®¬ ¤®© бва®ЄҐ ®ЇгйҐ (Ї®б।бвў®¬
«ЁиҐ© § Їпв®©).
…б«Ё ў Є®¬ ¤®© бва®ЄҐ ®Ў а㦥 ®иЁЎЄ , ®Ў н⮬
б®®Ўй Ґвбп зҐаҐ§ Є®б®«м, Ё LINK ЇҐаҐе®¤Ёв ў ¤Ё «®Ј®ўл©
- 16 -
०Ё¬.
…б«Ё бЇҐжЁдЁжЁа®ў е®вп Ўл ®¤ Ё§ ®ЇжЁ© /MAP Ё«Ё
/LINENUMBERS, д ©« Ї« ᮧ¤ Ґвбп Ґ§ ўЁбЁ¬® ®в в®Ј®,
гЄ § ® «Ё ҐЈ® Ё¬п ў Є®¬ ¤®© бва®ЄҐ. ‚ н⮬ б«гз Ґ, Ґб«Ё
ҐЈ® Ё¬п Ґ бЇҐжЁдЁжЁа®ў ®, ®® ЇаЁЁ¬ Ґвбп Ї® 㬮«з Ёо -
<Ё¬п ®ЎкҐЄв®Ј® д ©« >.MAP.
ЏаЁ гЄ § ЁЁ ҐбЄ®«мЄЁе ®ЎкҐЄвле д ©«®ў Ё«Ё ЎЁЎ«Ё®вҐЄ
Ёе Ё¬Ґ а §¤Ґ«повбп бЁ¬ў®« ¬Ё + .
…б«Ё ®ЇаҐ¤Ґ«Ґл Ґ ўбҐ д ©«л (® Ґ ®ЇгйҐл
Ї®б।бвў®¬ «ЁиҐ© § Їпв®©, Ё Ґ бЇҐжЁдЁжЁа®ў гбв ®ўЄ
®бв ўиЁебп Ё¬Ґ Ї® 㬮«з Ёо гЄ § ЁҐ¬ бЁ¬ў®« ;), LINK
ўе®¤Ёв ў ¤Ё «®Ј®ўл© ०Ё¬ Ё § Їа иЁў Ґв ®бв ўиЁҐбп
Ґ®ЇаҐ¤Ґ«Ґл¬Ё Ё¬Ґ зҐаҐ§ Ї®¤бЄ §ЄЁ.
‘ЇҐжЁдЁЄ жЁЁ Ё¬Ґ д ©«®ў Ё ®ЇжЁЁ ¬®Јгв Ўлвм § а ҐҐ
§ ҐбҐл ў бЇҐжЁ «мл© д ©« ®вўҐв . €¬п нв®Ј® д ©« б
ЇаҐ¤иҐбвўгойЁ¬ бЁ¬ў®«®¬ @ Ё гЄ § ЁҐ¬ ЇгвЁ Ї®ЁбЄ , Ґб«Ё ®
㦥, ¬®¦Ґв Ўлвм Ї®¬ҐйҐ® ў «оЎ®¬ ¬Ґб⥠®вўҐв Ї®¤бЄ §Єг
Ё«Ё Є®¬ ¤®© бва®ЄЁ Ё ва ЄвгҐвбп, Є Є Ґб«Ё Ўл ᮤҐа¦Ё¬®Ґ
д ©« ®вўҐв Ўл«® ҐЇ®б।б⢥® ўбв ў«Ґ® ў нв® ¬Ґбв®.
‘«Ґ¤гҐв, ®¤ Є®, Ї®¬Ёвм, зв® Є®¬ЎЁ жЁп бЁ¬ў®«®ў
CARRIAGE-RETURN / LINE-FEED ў д ©«Ґ ®вўҐв ЁвҐаЇаҐвЁагҐвбп
Є Є ENTER ў Ї®¤бЄ §ЄҐ Ё«Ё § Їпв п ў Є®¬ ¤®¬ д ©«Ґ.
ЋЎйЁ© ўЁ¤ д ©« ®вўҐв :
<Ё¬п ®ЎкҐЄв®Ј® д ©« >
[<Ё¬п ЁбЇ®«ЁвҐ«м®Ј® д ©« >]
[<Ё¬п д ©« Ї« >]
[<Ё¬п ЎЁЎ«Ё®вҐЄЁ>]
Љ ¦¤ п ЈагЇЇ д ©«®ў ¤®«¦ § ¤ ў вмбп ®в¤Ґ«м®©
бва®ЄҐ, д ©«л ў ЈагЇЇҐ, Ґб«Ё Ёе ҐбЄ®«мЄ®, ¤®«¦л
а §¤Ґ«пвмбп бЁ¬ў®«®¬ + . …б«Ё ЈагЇЇ Ґ Ї®¬Ґй Ґвбп ®¤®©
бва®ЄҐ, ў Ї®б«Ґ¤Ґ© Ї®§ЁжЁЁ бва®ЄЁ ¤®«¦Ґ бв®пвм ЇаЁ§ Є
Їа®¤®«¦ҐЁп - бЁ¬ў®« + . ‚ «оЎ®© бва®ЄҐ д ©« ®вўҐв Ї®б«Ґ
бЁ¬ў®« / ¬®Јгв Ўлвм § ¤ л ®ЇжЁЁ LINK.
‚ д ©«Ґ ®вўҐв ¬®Јгв Ўлвм ®ЇгйҐл Є®¬Ї®Ґвл, 㦥
®ЇаҐ¤Ґ«ҐлҐ ®вўҐв ¬Ё Ї®¤бЄ §ЄЁ Ё«Ё Є®¬ ¤®© бва®Є®©.
ЏаЁ ®Ў а㦥ЁЁ ў д ©«Ґ ®вўҐв бЁ¬ў®¤ ; ®бв в®Є д ©«
ЁЈ®аЁагҐвбп, Ё ®бв ўиЁҐбп Ґ®ЇаҐ¤Ґ«Ґл¬Ё Ё¬Ґ
гбв ў«Ёў овбп Ї® 㬮«з Ёо Ё§ ЇаЁўҐ¤Ґ®Ј® ўлиҐ бЇЁбЄ .
ЏаЁ ЁбЇ®«м§®ў ЁЁ д ©« ®вўҐв ҐЈ® ᮤҐа¦Ё¬®Ґ ўл¤ Ґвбп
Є®б®«м ў д®а¬Ґ Ї®¤бЄ §®Є. …б«Ё ®ЇаҐ¤Ґ«Ґл Ґ ўбҐ Ё¬Ґ ,
LINK ЇҐаҐе®¤Ёв ў ¤Ё «®Ј®ўл© ०Ё¬.
…б«Ё д ©« ®вўҐв Ґ ᮤҐа¦Ёв Є®¬ЎЁ жЁЁ бЁ¬ў®«®ў
CARRIAGE-RETURN / LINE-FEED Ё«Ё бЁ¬ў®« ; , LINK ўл¤ Ґв
Є®б®«м Ї®б«Ґ¤оо бва®Єг д ©« Ё ®¦Ё¤ Ґв ¦ вЁп ENTER.
€¬п Є ¦¤®Ј® д ©« ¬®¦Ґв б®Їа®ў®¦¤ вмбп Ёд®а¬ жЁҐ© ®
Ї®¤®Ј« ў«ҐЁЁ, ᮤҐа¦ 饬 нв®в д ©«, Ё зҐ Ї®ЁбЄ Ёб室®Ј®
д ©« Ё«Ё ᮧ¤ ЁҐ ўл室®Ј® д ©« Ўг¤Ґв ®бгйҐбвў«пвмбп ў
⥪г饬 Ї®¤®Ј« ў«ҐЁЁ.
ђ Ў®в LINK ¬®¦Ґв Ўлвм ў «оЎ®© ¬®¬Ґв ЇаҐЄа йҐ
¦ вЁҐ¬ Є« ўЁи CONTROL-C.
- 17 -
3.3. ЋЇжЁЁ LINK.
‚ᥠ®ЇжЁЁ LINK ®Ў®§ з овбп ЇаҐ¤иҐбвўгойЁ¬ бЁ¬ў®«®¬ /
Ё ¬®Јгв Ўлвм б®Єа йҐл Їа®Ё§ў®«мл¬ ®Ўа §®¬, ® в Є, зв®Ўл
Є®¤ ®бв ў «бп гЁЄ «мл¬ б।Ё ®ЇжЁ©.
ЌЁ¦Ґ ЇаЁўҐ¤Ґл ®ЇЁб Ёп ўбҐе ®ЇжЁ© LINK (ў бЄ®ЎЄ е
гЄ § л ¬ЁЁ¬ «млҐ б®Єа 饨п):
/HELP (HE) - ‚л¤ вм бЇЁб®Є ¤Ґ©бвўгойЁе ®ЇжЁ©.
ќвг ®ЇжЁо Ґ«м§п ЁбЇ®«м§®ў вм
ў¬ҐбвҐ б Ё¬ҐҐ¬ д ©« .
/PAUSE (P) - Џ г§ ЇҐаҐ¤ § ЇЁбмо ¬®¤г«п ў
EXE-д ©« (Ё Ї®б«Ґ § ЇЁбЁ ў
MAP-д ©«, Ґб«Ё нв®
ЇаҐ¤гᬮв८). ‚® ўаҐ¬п нв®©
Ї г§л ¬®¦® ЇаЁ Ґ®Ўе®¤Ё¬®бвЁ
ЇҐаҐбв ўЁвм ¤ЁбЄҐвл. …б«Ё
ЁбЇ®«м§гҐвбп д ©« VM.TMP, ®
¤®«¦Ґ 室Ёвмбп в®© ¦Ґ
¤ЁбЄҐвҐ, зв® Ё EXE-д ©«.
/EXEPACK (E) - “бв ®ўЁвм Є®¬Ї Євго § ЇЁбм
Ї®б«Ґ¤®ў ⥫м®б⥩ ®¤Ё Є®ўле
ЎЁв. ’ Є®© EXE-д ©« Ё¬ҐҐв
¬ҐмиЁ© ®ЎкҐ¬ Ё Ўлбв॥
§ Јаг¦ Ґвбп ў Ї ¬пвм, ® ҐЈ®
Ґ«м§п ®в« ¦Ёў вм ЇаЁ Ї®¬®йЁ
SYMDEB. ЋЇжЁп ¤ Ґв нд䥪в, Ґб«Ё
Їа®Ја ¬¬ ᮤҐа¦Ёв ¤«ЁлҐ
Ї®в®ЄЁ Ё¤ҐвЁзле ЎЁв®ў Ё
вॡгҐв Ў®«ми®Ј® зЁб« (Ў®«ҐҐ
500) ЇҐаҐ¬ҐйҐЁ© ЇаЁ § Јаг§ЄҐ.
/MAP (M) - ”®а¬Ёа®ў вм MAP-д ©«. ” ©«
д®а¬ЁагҐвбп, ¤ ¦Ґ Ґб«Ё ® Ґ
бЇҐжЁдЁжЁа®ў ЇаЁ § ЇгбЄҐ LINK,
Ё Ё¬ҐҐв ў н⮬ б«гз Ґ
г¬ «зЁў Ґ¬®Ґ Ё¬п (Ї.3.2).
/LINENUMBERS (LI) - ‡ дЁЄбЁа®ў вм ў MAP-д ©«Ґ ®¬Ґа
бва®Є Ёб室®Ј® д ©« . ќв
Ёд®а¬ жЁп ¬®¦Ґв ў ¤ «мҐ©иҐ¬
ЁбЇ®«м§®ў вмбп MAPSYM Ё SYMDEB.
‡ ЇЁбм ®¬Ґа®ў бва®Є Ўг¤Ґв
Їа®Ё§ў®¤Ёвмбп, Ґб«Ё ᮧ¤ Ґвбп
MAP-д ©« Ё ®ЎкҐЄвл© ¬®¤г«м
ᮤҐа¦Ёв ¤ лҐ ® бва®Є е
Ёб室®Ј® ⥪бв . Љ®¬ЇЁ«пв®ал
FORTRAN Ё PASCAL (ўҐабЁЁ 3.0 Ё
- 18 -
ўлиҐ) Ё C (ўҐабЁЁ 2.0 Ё ўлиҐ)
в ЄЁҐ ¤ лҐ ўв®¬ вЁзҐбЄЁ
д®а¬Ёагов; ў MASM нв® Ґ
ЇаҐ¤гᬮв८. …б«Ё MAP-д ©« Ґ
бЇҐжЁдЁжЁа®ў , ҐЈ® ¬®¦®
ᮧ¤ вм ЇаЁг¤ЁвҐ«м®, гЄ § ў
®ЇЁблў Ґ¬го ®ЇжЁо ў Ї®¤бЄ §ЄҐ
нв®в д ©«.
/NOIGNORECASE (NOI) - “бв ®ўЁвм а §«ЁзЁҐ ¬Ґ¦¤г
бва®зл¬Ё Ё § Ј« ўл¬Ё ЎгЄў ¬Ё.
ђ §«ЁзЁҐ ¬®¦Ґв Ўлвм гбв ®ў«Ґ®
в Є¦Ґ ®ЇжЁп¬Ё /ML Ё /MX MASM.
/NODEFAULTLIBRARYSEARCH - €Ј®аЁа®ў вм г¬ «зЁў Ґ¬лҐ
(NOD) ЎЁЎ«Ё®вҐЄЁ, ббл«ЄЁ Є®в®алҐ
ᮤҐа¦ вбп ў ®ЎкҐЄв®¬ ¬®¤г«Ґ
(Ёе вг¤ Ї®¬Ґй ов Є®¬ЇЁ«пв®ал
п§лЄ®ў ўлб®Є®Ј® га®ўп).
€бЇ®«м§говбп в®«мЄ® ЎЁЎ«Ё®вҐЄЁ,
бЇҐжЁдЁжЁа®ў лҐ ЇаЁ § ЇгбЄҐ
LINK.
/STACK:<зЁб«®> (ST) - “бв ®ўЁвм а §¬Ґа б⥪ (ў
Ў ©в е). €д®а¬ жЁп ® а §¬ҐаҐ
б⥪ , ᮤҐа¦ й пбп ў ®ЎкҐЄв®¬
¬®¤г«Ґ, ЁЈ®аЁагҐвбп. ђ §¬Ґа
б⥪ ¬®¦Ґв Ўлвм § ¤ ў ўЁ¤Ґ
¤ҐбпвЁз®Ј®, 8-аЁз®Ј® (б
ЇаҐ¤иҐбвўгойЁ¬ 0) Ё«Ё 16-аЁз®Ј®
(б ЇаҐ¤иҐбвўгойЁ¬Ё 0 Ё x
¬ «®¬ ॣЁбваҐ) зЁб« ў ЇаҐ¤Ґ« е
®в 1 ¤® 65535. ђ §¬Ґа б⥪
¬®¦Ґв Ўлвм Ё§¬ҐҐ гвЁ«Ёв®©
EXEMOD.
/CPARMAXALLOC:<зЁб«®> - “бв ®ўЁвм ¬ ЄбЁ¬ «м®Ґ зЁб«®
(C) 16-Ў ©вле Ї а Ја д®ў,
Ґ®Ўе®¤Ё¬ле ЇаЁ § Јаг§ЄҐ
Їа®Ја ¬¬л ў Ї ¬пвм. ЋЎлз® LINK
гбв ў«Ёў Ґв ¬ ЄбЁ¬ «м®Ґ зЁб«®
Ї а Ја д®ў - 65535.
“Є § ЁҐ нв®© ®ЇжЁЁ Ї®§ў®«пҐв
Ў®«ҐҐ нд䥪⨢® ЁбЇ®«м§®ў вм
Ї ¬пвм. —Ёб«® Ї а Ја д®ў ¬®¦Ґв
Ўлвм § ¤ ® ў ўЁ¤Ґ ¤ҐбпвЁз®Ј®,
8-аЁз®Ј® (б ЇаҐ¤иҐбвўгойЁ¬ 0)
Ё«Ё 16-аЁз®Ј® (б
ЇаҐ¤иҐбвўгойЁ¬Ё 0 Ё x ¬ «®¬
ॣЁбваҐ) зЁб« ў ЇаҐ¤Ґ« е ®в 1
¤® 65535. …б«Ё зЁб«® Ї а Ја д®ў
Ґ¤®бв в®з® ¤«п а §¬ҐйҐЁп
Їа®Ја ¬¬л, LINK а йЁў Ґв ҐЈ®
¤® ¬ЁЁ¬ «м® Ї®¤е®¤п饣®. —Ёб«®
Ї а Ја д®ў ¬®¦Ґв Ўлвм Ё§¬ҐҐ®
- 19 -
гвЁ«Ёв®© EXEMOD. Ља®¬Ґ
а §¬ҐйҐЁп Їа®Ја ¬¬л, ®ЇжЁп
¬®¦Ґв Ї® ¤®ЎЁвмбп ¤«п Є®¬ ¤л !
SYMDEB.
/HIGH (H) - “бв ®ўЁвм ¤аҐб з «
Їа®Ја ¬¬л ЁўлбиЁ© ў®§¬®¦л©
¤аҐб бў®Ў®¤®© Ї ¬пвЁ. ЃҐ§ нв®©
®ЇжЁЁ гбв ®ўЄ ®бгйҐбвў«пҐвбп
¬ЁЁ¬ «мл© ў®§¬®¦л© ¤аҐб.
/DSALLOCATE (D) - ЋЎа Ў®в вм ЈагЇЇг б Ё¬ҐҐ¬
DGROUP. ЋЎлз® LINK ЇаЁбў Ёў Ґв
¬« ¤иҐ¬г Ў ©вг ЈагЇЇл ᬥ饨Ґ
0000h. ЏаЁ § ¤ ЁЁ нв®© ®ЇжЁЁ
бв а襬㠡 ©вг ЈагЇЇл б Ё¬ҐҐ¬
DGROUP ЇаЁбў Ёў Ґвбп ᬥ饨Ґ
FFFFh. ‚ १г«мв ⥠¤ лҐ Ўг¤гв
а §¬Ґй вмбп ў ®Ў« бвпе Їа®Ја ¬¬л
б ¬ ЄбЁ¬ «м® Ў®«миЁ¬Ё ¤аҐб ¬Ё.
ЋЇжЁп /D ®Ўлз® ЇаЁ¬ҐпҐвбп
ў¬ҐбвҐ б ®ЇжЁҐ© /H ¤«п Ў®«ҐҐ
нд䥪⨢®Ј® ЁбЇ®«м§®ў Ёп
Ґ§ пв®© Ї ¬пвЁ ¤® бв ав
Їа®Ја ¬¬л. LINK ЇаҐ¤Ї®« Ј Ґв,
зв® ўбҐ бў®Ў®¤лҐ Ў ©вл ў DGROUP
§ Ё¬ ов Ї ¬пвм ҐЇ®б।б⢥®
ЇҐаҐ¤ Їа®Ја ¬¬®©. „«п
ЁбЇ®«м§®ў Ёп ЈагЇЇл Ґ®Ўе®¤Ё¬®
§ Јаг§Ёвм ў ॣЁбва ᥣ¬Ґв
¤аҐб з « DGROUP.
/NOGROUPASSOCIATION - €Ј®аЁа®ў вм ЈагЇЇл ЇаЁ
(NOG) ЇаЁбў®ҐЁЁ ¤аҐб®ў н«Ґ¬Ґв ¬
¤ ле Ё Є®¤ . ЋЇжЁп ўўҐ¤Ґ ¤«п
б®ў¬ҐбвЁ¬®бвЁ б а Ё¬Ё ўҐабЁп¬Ё
Є®¬ЇЁ«пв®а®ў FORTRAN Ё PASCAL
(ўҐабЁЁ MICROSOFT 3.13 Ё а ҐҐ Ё
IBM ¤® 2.0). ЌҐ ४®¬Ґ¤гҐвбп
ЁбЇ®«м§®ў вм нвг ®ЇжЁо ў ¤агЈЁе
楫пе.
/OVERLAYINTERRUPT:<зЁб«®> - “бв ®ўЁвм ®¬Ґа ЇаҐалў Ёп ЇаЁ
(O) § Јаг§ЄҐ ®ўҐа«Ґ©®Ј® ¬®¤г«п.
“Є § ®Ґ зЁб«® § ¬Ґй Ґв ®¬Ґа
бв ¤ ав®Ј® ®ўҐа«Ґ©®Ј®
ЇаҐалў Ёп (03Fh). Ќ®¬Ґа ¬®¦Ґв
Ўлвм § ¤ ў ўЁ¤Ґ ¤ҐбпвЁз®Ј®,
8-аЁз®Ј® (б ЇаҐ¤иҐбвўгойЁ¬ 0)
Ё«Ё 16-аЁз®Ј® (б
ЇаҐ¤иҐбвўгойЁ¬Ё 0 Ё x ¬ «®¬
ॣЁбваҐ) зЁб« ў ЇаҐ¤Ґ« е ®в 0
¤® 255. MASM Ґ бЇ®б®ЎбвўгҐв
ᮧ¤ Ёо ®ўҐа«Ґ©ле Їа®Ја ¬¬.
Џ®н⮬г в®«мЄ® ЇаЁ Ї®¬®йЁ ®ЇжЁЁ
- 20 -
/O бᥬЎ«ҐалҐ ¬®¤г«Ё ¬®Јгв
Ўлвм ўЄ«озҐл ў ®ўҐа«Ґ©лҐ
Їа®Ја ¬¬л п§лЄ е ўлб®Є®Ј®
га®ўп, Є®¬ЇЁ«пв®ал Є®в®але
Ї®¤Ґа¦Ёў ов ®ўҐа«Ґ©. ЌҐ
४®¬Ґ¤гҐвбп гбв ў«Ёў вм
®¬Ґа, б®ўЇ ¤ ойЁ© б Є ЄЁ¬-«ЁЎ®
¤агЈЁ¬ ЇаҐалў ЁҐ¬.
/SEGMENTS:<зЁб«®> (SE) - “бв ®ўЁвм ¬ ЄбЁ¬ «м®Ґ зЁб«®
ᥣ¬Ґв®ў, Є®в®а®Ґ ¬®¦Ґв
®Ўа Ў®в вм LINK. —Ёб«® ¬®¦Ґв
Ўлвм § ¤ ® ў ¤ҐбпвЁз®©,
8-аЁз®© (б ЇаҐ¤иҐбвўгойЁ¬ 0)
Ё«Ё 16-аЁз®© (б ЇаҐ¤иҐбвўгойЁ¬Ё
0 Ё x ¬ «®¬ ॣЁбваҐ) д®а¬Ґ ў
ЇаҐ¤Ґ« е ®в 1 ¤® 1024. ЏаЁ
®вбгвбвўЁЁ бЇҐжЁдЁЄ жЁЁ ®ЇжЁЁ
Ї®« Ј Ґвбп 128. Џ ¬пвм
ўл¤Ґ«пҐвбп б гзҐв®¬ нв®Ј®
¬ ЄбЁ¬ «м®Ј® зЁб« ᥣ¬Ґв®ў.
/DOSSEG (DO) - “Ї®а冷зЁвм ᥣ¬Ґвл ў
EXE-д ©«Ґ. ЏаЁ бЇҐжЁдЁЄ жЁЁ нв®©
®ЇжЁЁ ᥣ¬Ґвл а бЇ®« Ј овбп ў
б«Ґ¤го饩 Ї®б«Ґ¤®ў ⥫м®бвЁ:
- ᥣ¬Ґвл б Є« бᮬ CODE;
- ¤агЈЁҐ ᥣ¬Ґвл, Ґ ўе®¤пйЁҐ
ў ЈагЇЇг DGROUP;
- ᥣ¬Ґвл, ўе®¤пйЁҐ ў DGROUP.
ЋЎлз п Ї®б«Ґ¤®ў ⥫м®бвм
ᥣ¬Ґв®ў ЇаЁ ®вбгвбвўЁЁ /DO
®ЇЁб ў Ї.3.4.3.
3.4. Ћб®ЎҐ®бвЁ а Ў®вл LINK.
LINK ᮧ¤ Ґв ЁбЇ®«ЁвҐ«мл© д ©« Їг⥬ Є®Є ⥠樨
Є®¤ Їа®Ја ¬¬л Ё ᥣ¬Ґв®ў ¤ ле, ᮮ⢥вбвўгойЁе
Є®а४вл¬ ЁбвагЄжЁп¬ Ёб室®Ј® ⥪бв . ќв б楯«Ґ п
д®а¬ ᥣ¬Ґв®ў Ё пў«пҐвбп ⥬ "ЁбЇ®«ЁвҐ«мл¬
ЇаҐ¤бв ў«ҐЁҐ¬", Є®в®а®Ґ ҐЇ®б।б⢥® Є®ЇЁагҐвбп ў Ї ¬пвм
ЇаЁ § Јаг§ЄҐ Їа®Ја ¬¬л.
— бвЁз® гЇа ў«пвм । ЄвЁа®ў ЁҐ¬ Їа®Ја ¬¬ле
ᥣ¬Ґв®ў ¬®¦® § ¤ ЁҐ¬ ваЁЎгв®ў ў ¤ЁаҐЄвЁўҐ SEGMENT Ё«Ё
ЁбЇ®«м§®ў ЁҐ¬ ¤ЁаҐЄвЁўл DGROUP ¤«п д®а¬Ёа®ў Ёп ЈагЇЇл
ᥣ¬Ґв®ў. ќвЁ ¤ЁаҐЄвЁўл ®ЇаҐ¤Ґ«пов 楫го ЈагЇЇг бб®жЁ жЁ©,
Є« бб®ў Ё вЁЇ®ў ўла ўЁў Ёп, в Є¦Ґ ®ЇаҐ¤Ґ«пов Ї®а冷Є Ё
®в®бЁвҐ«млҐ з «млҐ ¤аҐб ᥣ¬Ґв®ў Їа®Ја ¬¬л. ќв
Ёд®а¬ жЁп пў«пҐвбп ¤®Ї®«ЁвҐ«м®© Є в®©, Є®в®а п § ¤ Ґвбп
®ЇжЁп¬Ё LINK.
- 21 -
3.4.1. ‚ла ўЁў ЁҐ ᥣ¬Ґв®ў.
„«п гбв ®ўЄЁ з «м®Ј® ¤аҐб ᥣ¬Ґв LINK
ЁбЇ®«м§гҐв § ¤ ў Ґ¬л© ¤ЁаҐЄвЁў®© SEGMENT вЁЇ ўла ўЁў Ёп:
BYTE, WORD, PARA Ё«Ё PAGE. ќвЁ Є«озҐўлҐ б«®ў ®ЎҐбЇҐзЁў ов
ўла ўЁў ЁҐ з « ᥣ¬Ґв ᮮ⢥вб⢥® Ї® Ја ЁжҐ
Ў ©в , б«®ў (2 Ў ©в ), Ї а Ја д (16 Ў ©в®ў) Ё«Ё бва Ёжл
(256 Ў ©в®ў). Џ® 㬮«з Ёо ЁбЇ®«м§гҐвбп вЁЇ PARA.
Ѓ ©вл, Їа®ЇгбЄ Ґ¬лҐ Ё§-§ ўла ўЁў Ёп, § Ї®«повбп
¤ў®Ёзл¬Ё г«п¬Ё.
3.4.2. Ќ®¬Ґа Є ¤а .
‚лзЁб«пҐ¬л© LINK з «мл© ¤аҐб ᥣ¬Ґв § ўЁбЁв ®в
вЁЇ ўла ўЁў Ёп ᥣ¬Ґв Ё а §¬Ґа®ў 㦥 бЄ®ЇЁа®ў ле ў
ЁбЇ®«ЁвҐ«мл© д ©« ᥣ¬Ґв®ў.
ќв®в ¤аҐб б®бв®Ёв Ё§ б¬ҐйҐЁп Ё Є ®ЁзҐбЄ®Ј® ®¬Ґа
Є ¤а . Љ ®ЁзҐбЄЁ© ¤аҐб Є ¤а ®ЇаҐ¤Ґ«пҐв ¤аҐб ЇҐаў®Ј®
Ї а Ја д ў Ї ¬пвЁ, ᮤҐа¦ 饣® ®¤Ё Ё«Ё Ў®«ҐҐ Ў ©в®ў
ᥣ¬Ґв . Ќ®¬Ґа Є ¤а ўбҐЈ¤ Єа ⥠16. ‘¬ҐйҐЁҐ¬ пў«пҐвбп
а ббв®пЁҐ ў Ў ©в е ®в з « Ї а Ја д ¤® ЇҐаў®Ј® Ў ©в
ᥣ¬Ґв .
„«п вЁЇ®ў PAGE Ё PARA ᬥ饨Ґ ўбҐЈ¤ г«Ґў®Ґ, ¤«п
вЁЇ®ў BYTE Ё WORD ¬®¦Ґв Ўлвм Ґг«Ґўл¬.
Ќ®¬Ґа Є ¤а ¬®¦Ґв Ўлвм Ї®«гзҐ Ё§ MAP-д ©« . …Ј®
ᮤҐа¦ в ЇҐаўлҐ 5 16-аЁзле жЁда start- ¤аҐб ᥣ¬Ґв .
3.4.3. Џ®б«Ґ¤®ў ⥫м®бвм ᥣ¬Ґв®ў.
LINK Є®ЇЁагҐв ᥣ¬Ґвл ў ЁбЇ®«ЁвҐ«мл© д ©« ў в®© ¦Ґ
Ї®б«Ґ¤®ў ⥫м®бвЁ, ў Є Є®© ® Ёе бзЁвлў Ґв Ё§ ®ЎкҐЄвле
д ©«®ў.
‘ҐЈ¬Ґвл, Ё¬ҐойЁҐ Ё¤ҐвЁзлҐ Ё¬Ґ Є« бб®ў, бзЁв овбп
ЇаЁ ¤«Ґ¦ йЁ¬Ё Є ®¤®¬г вЁЇг Є« бб®ў Ё Є®ЇЁаговбп ў
ЁбЇ®«ЁвҐ«мл© д ©« Є Є ҐЇаҐалўл© Ў«®Є.
Џ®а冷Є § Јаг§ЄЁ ᥣ¬Ґв®ў Ё бЇ®б®Ўл гЇа ў«ҐЁп нвЁ¬
Ї®ап¤Є®¬ Їг⥬ ЇаЁбў Ёў Ёп вЁЇ®ў Є« бб®ў ®Ўб㦤 овбп ў
Ї.3.4.3 MICROSOFT MACRO ASSEMBLER REFERENCE MANUAL.
- 22 -
3.4.4. Љ®¬ЎЁЁа®ў лҐ бҐЈ¬Ґвл.
„«п ®ЇаҐ¤Ґ«ҐЁп в®Ј®, Ўг¤гв «Ё ¤ў Ё«Ё Ў®«ҐҐ ᥣ¬Ґв ,
Ё¬ҐойЁҐ ®¤® Ё в® ¦Ґ Ё¬п, ᮥ¤ЁҐл ў ®¤Ё Ў®«ми®© ᥣ¬Ґв,
LINK ЁбЇ®«м§гҐв Є®¬ЎЁ жЁЁ вЁЇ®ў ᥣ¬Ґв®ў. ‚ п§лЄҐ
бᥬЎ«Ґа Ё¬Ґовбп б«Ґ¤гойЁҐ вЁЇл Є®¬ЎЁ жЁ©: PUBLIC, STACK,
COMMON, MEMORY, AT Ё PRIVATE (Ї.3.4.2 MICROSOFT MACRO
ASSEMBLER REFERENCE MANUAL).
…б«Ё ᥣ¬Ґв Ё¬ҐҐв вЁЇ Є®¬ЎЁ жЁЁ PUBLIC, LINK
ўв®¬ вЁзҐбЄЁ ᮥ¤ЁпҐв ҐЈ® б ¤агЈЁ¬Ё ᥣ¬Ґв ¬Ё, Ё¬ҐойЁ¬Ё
в® ¦Ґ Ё¬п Ё ЇаЁ ¤«Ґ¦ йЁ¬Ё Є ⮬㠦Ґ Є« ббг. ЏаЁ ᮥ¤ЁҐЁЁ
ᥣ¬Ґв®ў ЇаҐ¤Ї®« Ј Ґвбп, з⮠ᥣ¬Ґвл ҐЇаҐалўл Ё ўбҐ
¤аҐб ў ᥣ¬Ґв е ¤®бвгЇл зҐаҐ§ ᬥ饨Ґ ®в®бЁвҐ«м®
¤аҐб Є ¤а . ђҐ§г«мв в Ї®«гз Ґвбп в ЄЁ¬ ¦Ґ, Є Є Ґб«Ё Ўл
Ї®«гзҐл© Ў®«ми®© ᥣ¬Ґв Ўл« ®ЇаҐ¤Ґ«Ґ ў Ёб室®¬ д ©«Ґ
бЇ«®ил¬ ЄгбЄ®¬.
LINK б®еа пҐв вЁЇ ўла ўЁў Ёп Є ¦¤®Ј® ᥣ¬Ґв . ќв®
®§ з Ґв, зв®, е®вп ᥣ¬Ґвл Ё ўЄ«озҐл ў ®¤Ё Ў®«ми®©
ᥣ¬Ґв, Є®¤ Ё ¤ лҐ бҐЈ¬Ґв®ў б®еа пов бў®Ё вЁЇл
ўла ўЁў Ёп.
…б«Ё а §¬Ґал ᮥ¤ЁпҐ¬ле ᥣ¬Ґв®ў ЇаҐўли ов 64Љ,
ўл¤ Ґвбп б®®ЎйҐЁҐ ®Ў ®иЁЎЄҐ.
…б«Ё ᥣ¬Ґв Ё¬ҐҐв вЁЇ Є®¬ЎЁ жЁЁ STACK, LINK
ўлЇ®«пҐв вг ¦Ґ ®ЇҐа жЁо, зв® Ё ў б«гз Ґ PUBLIC. ђ §«ЁзЁҐ
§ Є«оз Ґвбп ў ⮬, зв® ¤«п STACK-ᥣ¬Ґв®ў ў ЁбЇ®«ЁвҐ«мл©
д ©« § ЇЁблў Ґвбп з «м®Ґ § 票Ґ гЄ § ⥫п б⥪ ,
Є®в®а®Ґ ЇаҐ¤бв ў«пҐв б®Ў®© ᬥ饨Ґ ®в Є®ж ЇҐаў®Ј® Ї®
Ї®ап¤Єг ᥣ¬Ґв б⥪ Ё«Ё Є®¬ЎЁЁа®ў ®Ј® ᥣ¬Ґв б⥪ .
‚ н⮬ б«гз Ґ ЇаЁ ЁбЇ®«м§®ў ЁЁ вЁЇ STACK ¤«п ᥣ¬Ґв®ў
б⥪ Їа®Ја ¬¬Ёбвг Ґв Ґ®Ўе®¤Ё¬®бвЁ ЇаҐ¤гб¬ ваЁў вм ў
Їа®Ја ¬¬Ґ § Јаг§Єг ॣЁбва SS.
…б«Ё ᥣ¬Ґв Ё¬ҐҐв вЁЇ Є®¬ЎЁ жЁЁ COMMON, LINK
ўв®¬ вЁзҐбЄЁ ᮥ¤ЁпҐв ҐЈ® б ¤агЈЁ¬Ё ᥣ¬Ґв ¬Ё, Ё¬ҐойЁ¬Ё
в® ¦Ґ Ё¬п Ё ЇаЁ ¤«Ґ¦ йЁ¬Ё Є ⮬㠦Ґ Є« ббг. Ћ¤ Є®, Є®Ј¤
LINK ᮥ¤ЁпҐв ®ЎйЁҐ ᥣ¬Ґвл, з «® Є ¦¤®Ј® ᥣ¬Ґв
гбв ў«Ёў Ґвбп ®¤Ё ¤аҐб, ў १г«мв ⥠祣® ®Ўа §говбп
бҐаЁЁ ЇҐаҐЄалў ойЁебп ᥣ¬Ґв®ў. ‚ Ёв®ЈҐ Ї®«гз Ґвбп ®¤Ё
ᥣ¬Ґв, Є®в®ал© Ї® ¤«ЁҐ Ґ ЇаҐўли Ґв б ¬л© ¤«Ёл© Ё§
Є®¬ЎЁЁа㥬ле ᥣ¬Ґв®ў.
‘ҐЈ¬Ґвл б вЁЇ®¬ Є®¬ЎЁ жЁЁ MEMORY ва ЄвгҐвбп LINK ў
в®з®бвЁ в Є ¦Ґ, Є Є Ё PUBLIC-ᥣ¬Ґвл. MASM ®ЎҐбЇҐзЁў Ґв
вЁЇ MEMORY ¤«п б®ў¬ҐбвЁ¬®бвЁ б «ЁЄҐа ¬Ё, ўл¤Ґ«пойЁҐ MEMORY
Є Є ®б®Ўл© вЁЇ Є®¬ЎЁ жЁЁ.
‘ҐЈ¬Ґв Ё¬ҐҐв вЁЇ Є®¬ЎЁ жЁЁ PRIVATE ў ⮬ б«гз Ґ,
Є®Ј¤ ў Ёб室®¬ д ©«Ґ Ґв в®зле гЄ § Ё© ®в®бЁвҐ«м® ҐЈ®
вЁЇ Є®¬ЎЁ жЁЁ. LINK Ґ ®ЎкҐ¤ЁпҐв PRIVATE-ᥣ¬Ґвл.
- 23 -
3.4.5. ѓагЇЇл.
ЋЎкҐ¤ЁҐЁҐ ҐбЄ®«мЄЁе ᥣ¬Ґв®ў ў ЈагЇЇг Ї®§ў®«пҐв
¤аҐб®ў вм Ёе ®в®бЁвҐ«м® ®¤®Ј® ¤аҐб Є ¤а . ЏаЁ н⮬
Ґў ¦®, ЇаЁ ¤«Ґ¦ в «Ё н⨠ᥣ¬Ґвл Є ®¤®¬г Є« ббг. Љ®Ј¤
LINK ®Ў аг¦Ёў Ґв ЈагЇЇг, ® ᮮ⢥вбвўгойЁ¬ ®Ўа §®¬
ЇҐаҐбва Ёў Ґв ўбҐ ¤аҐблҐ ббл«ЄЁ ў Ґ©.
‘ҐЈ¬Ґвл ў ЈагЇЇҐ Ґ пў«повбп ᬥ¦л¬Ё, Ґ ЇаЁ ¤«Ґ¦ в
Є ®¤®¬г Є« ббг Ё Ё¬Ґов а §лҐ вЁЇл Є®¬ЎЁ жЁЁ. Ќ® б㬬 ал©
®ЎкҐ¬ ўбҐе ᥣ¬Ґв®ў ў ЈагЇЇҐ Ґ ¤®«¦Ґ ЇаҐўли вм 64Љ.
ѓагЇЇл Ґ ў«Ёпов Ї®а冷Є § Јаг§ЄЁ ᥣ¬Ґв®ў ў
Ї ¬пвм. „ ¦Ґ Ґб«Ё ЁбЇ®«м§говбп Ё¬Ґ Є« бб®ў Ё ®ЎкҐЄвлҐ
д ©«л ўў®¤пвбп ў ᮮ⢥вбвўго饩 Ї®б«Ґ¤®ў ⥫м®бвЁ, Ґв
Ј а вЁЁ, з⮠ᥣ¬Ґвл Ўг¤гв ᬥ¦л¬Ё. Ќ Їа ЄвЁЄҐ LINK
¬®¦Ґв Ї®¬ҐбвЁвм Ґ ЇаЁ ¤«Ґ¦ йЁ© ЈагЇЇҐ ᥣ¬Ґв ў ⥠¦Ґ 64Љ
Ї ¬пвЁ.
•®вп ў LINK Ё Ґв бва®Ј®© Їа®ўҐаЄЁ в®Ј®, Ї®¬Ґй овбп «Ё
ўбҐ ᥣ¬Ґвл ЈагЇЇл ў 64Љ Ї ¬пвЁ, ЇаЁ ®Ў а㦥ЁЁ аг襨п
нв®Ј® гб«®ўЁп Ўг¤Ґв ўл¤ ® б®®ЎйҐЁҐ ® ЇҐаҐЇ®«ҐЁЁ
б®Ј« б®ў Ёп.
3.4.6. ‘®Ј« б®ў Ёп.
Љ®Ј¤ ў Їа®жҐббҐ а Ў®вл LINK 㦥 Ё§ўҐбвл ¤аҐб ўбҐе
ᥣ¬Ґв®ў Їа®Ја ¬¬л Ё ®аЈ Ё§®ў л ўбҐ Є®¬ЎЁ жЁЁ ᥣ¬Ґв®ў
Ё ЈагЇЇл, «ЁЄҐа Ё¬ҐҐв ў®§¬®¦®бвм "б®Ј« б®ў вм" ҐЄ®в®алҐ
Ґа §аҐиҐлҐ ббл«ЄЁ Є ¬ҐвЄ ¬ Ё ЇҐаҐ¬Ґл¬. „«п нв®Ј® LINK
ўлзЁб«пҐв ᮮ⢥вбвўгойЁҐ ¤аҐб ᥣ¬Ґв Ё ᬥ饨Ґ Ё
§ ¬Ґй Ґв ўаҐ¬ҐлҐ § 票п, бЈҐҐаЁа®ў лҐ бᥬЎ«Ґа®¬,
®ўлҐ § 票п.
‚ ᮮ⢥вбвўЁЁ б вЁЇ ¬Ё ббл«®Є LINK ॠ«Ё§гҐв
б«Ґ¤гойЁҐ вЁЇл б®Ј« б®ў Ё©:
1. Љ®а®вЄЁҐ.
2. ‚гв२Ґ ®в®бЁвҐ«м® ᥡп.
3. ‚гв२Ґ ®в®бЁвҐ«м® ᥣ¬Ґв .
4. „«ЁлҐ.
ђ §¬Ґа ўлзЁб«пҐ¬®Ј® § зҐЁп § ўЁбЁв ®в вЁЇ ббл«ЄЁ.
…б«Ё LINK ®Ў аг¦Ёў Ґв ®иЁЎЄг ў ЇаҐ¤бЄ § ®¬ а §¬ҐаҐ
ббл«ЄЁ, ўл¤ Ґвбп б®®ЎйҐЁҐ ® ЇҐаҐЇ®«ҐЁЁ б®Ј« б®ў Ёп. ќв®
¬®¦Ґв Їа®Ё§®©вЁ, ЇаЁ¬Ґа, Є®Ј¤ Їа®Ја ¬¬ Їлв Ґвбп
ЁбЇ®«м§®ў вм 16-ЎЁв®ў®Ґ ᬥ饨Ґ ¤«п ¤®бвгЇ Є ЁбвагЄжЁЁ ў
ᥣ¬ҐвҐ, Ё¬Ґо饬 ¤агЈ®© ¤аҐб Є ¤а . ќв® ¦Ґ б®®ЎйҐЁҐ ¬®¦Ґв
Ўлвм ўл¤ ®, Ґб«Ё ўбҐ ᥣ¬Ґвл ў ЈагЇЇҐ Ґ Ї®¬Ґй овбп ўгваЁ
Ў«®Є Ї ¬пвЁ ў 64Љ.
Љ®а®вЄ п ббл«Є Ё¬ҐҐв ¬Ґбв® ў ЁбвагЄжЁЁ JMP,
ЇҐаҐ¤ о饩 гЇа ў«ҐЁҐ Ї®¬ҐзҐго ЁбвагЄжЁо ў ⮬ ¦Ґ
ᥣ¬ҐвҐ Ё«Ё ЈагЇЇҐ, ®вбв®пйго ®в JMP Ґ Ў®«ҐҐ, 祬 128
Ў ©в®ў. „«п в Є®© ббл«ЄЁ LINK ўла Ў влў Ґв 8-ЎЁв®ў®Ґ зЁб«®
б® § Є®¬. …б«Ё ЁбвагЄжЁп, Є®в®аго ЇҐаҐ¤ Ґвбп
- 24 -
гЇа ў«ҐЁҐ, 室Ёвбп ў ¤агЈ®¬ ᥣ¬ҐвҐ Ё«Ё ЈагЇЇҐ, в.Ґ.
Ё¬ҐҐв ¤агЈ®© ¤аҐб Є ¤а , Ё«Ё ®вбв®Ёв Ў®«ҐҐ, 祬 128
Ў ©в®ў ў «оЎ®¬ Їа ў«ҐЁЁ, д®а¬ЁагҐвбп б®®ЎйҐЁҐ ®Ў ®иЁЎЄҐ.
‚гваҐпп ®в®бЁвҐ«м® ᥡп ббл«Є Ё¬ҐҐв ¬Ґбв® ў
ЁбвагЄжЁпе, ¤аҐбгойЁе ¤ лҐ ®в®бЁвҐ«м® в®Ј® ¦Ґ ᥣ¬Ґв
Ё«Ё ЈагЇЇл. „«п в Є®© ббл«ЄЁ LINK д®а¬ЁагҐв 16-ЎЁв®ў®Ґ
ᬥ饨Ґ. …б«Ё ¤ лҐ Ґ ЇаЁ ¤«Ґ¦ в ⮬㠦Ґ ᥣ¬Ґвг Ё«Ё
ЈагЇЇҐ, ўл¤ Ґвбп б®®ЎйҐЁҐ ®Ў ®иЁЎЄҐ.
‚гваҐпп ®в®бЁвҐ«м® ᥣ¬Ґв ббл«Є Ё¬ҐҐв ¬Ґбв® ў
ЁбвагЄжЁпе, ¤аҐбгойЁе ¤ лҐ ў ®ЇаҐ¤Ґ«Ґ®¬ ᥣ¬ҐвҐ Ё«Ё
ЈагЇЇҐ Ё«Ё ®в®бЁвҐ«м® гЄ § ®Ј® ॣЁбва ᥣ¬Ґв . „«п
нв®© ббл«ЄЁ LINK ўла Ў влў Ґв 16-ЎЁв®ў®Ґ ᬥ饨Ґ. …б«Ё
н⮠ᬥ饨Ґ ўгваЁ бЇҐжЁдЁжЁа®ў ®Ј® Є ¤а ®Є §лў Ґвбп
Ў®«миҐ 64Љ Ё«Ё ¬ҐмиҐ 0 Ё«Ё Ґб«Ё з «® Є ®ЁзҐбЄ®Ј® Є ¤а ,
ᮤҐа¦ 饣® ваҐЎгҐ¬лҐ ¤ лҐ, Ґ ¤аҐб㥬®, ўл¤ Ґвбп
б®®ЎйҐЁҐ ®Ў ®йЁЎЄҐ.
„«Ё п ббл«Є Ё¬ҐҐв ¬Ґбв® ў ЁбвагЄжЁпе CALL,
ЇҐаҐ¤ ойЁе гЇа ў«ҐЁҐ ў ¤агЈ®© ᥣ¬Ґв Ё«Ё ЈагЇЇг. LINK ў
н⮬ б«гз Ґ ўла Ў влў Ґв 16-ЎЁв®ўл© ¤аҐб Є ¤а Ё 16-ЎЁв®ў®Ґ
ᬥ饨Ґ. …б«Ё ўлзЁб«Ґ®Ґ ᬥ饨Ґ Ў®«миҐ 64Љ Ё«Ё ¬ҐмиҐ 0
Ё«Ё Ґб«Ё з «® Є ®ЁзҐбЄ®Ј® Є ¤а , ў Є®в®ал© ЇҐаҐ¤ Ґвбп
гЇа ў«ҐЁҐ, Ґ ¤аҐб㥬®, д®а¬ЁагҐвбп б®®ЎйҐЁҐ ®Ў ®иЁЎЄҐ.
3.4.7. Џ®ЁбЄ ЎЁЎ«Ё®вҐЄ.
Џа®жҐ¤га Ї®ЁбЄ ЎЁЎ«Ё®вҐЄЁ, Ё®Ј¤ вॡ㥬®© ¤«п
а §аҐиҐЁп ўҐиЁе ббл«®Є, ®Ў« ¤ Ґв ҐЄ®в®ал¬Ё
®б®ЎҐ®бвп¬Ё. …б«Ё Їгвм Ї®ЁбЄ гЄ § ў¬ҐбвҐ б Ё¬ҐҐ¬
ЎЁЎ«Ё®вҐЄЁ ў Є®¬ ¤®© бва®ЄҐ, Ї®ЁбЄ ®бгйҐбвў«пҐвбп в®«мЄ®
в ¬. …б«Ё ¦Ґ Їгвм пў® Ґ гЄ § , Ї®ЁбЄ Їа®Ё§ў®¤Ёвбп ў
б«Ґ¤го饩 Ї®б«Ґ¤®ў ⥫м®бвЁ:
1. ‚ ⥪г饬 Ї®¤®Ј« ў«ҐЁЁ.
2. …б«Ё ў Є®¬ ¤®© бва®ЄҐ § ¤ л ®¤Ё Ё«Ё ҐбЄ®«мЄ®
Їг⥩ Ї®ЁбЄ ¤«п ¤агЈЁе ЎЁЎ«Ё®вҐЄ, LINK
Їа®б¬ ваЁў Ґв Ёе ў Ї®ап¤ЄҐ б«Ґ¤®ў Ёп ў бва®ЄҐ.
3. Ќ Їгвпе, ®ЇаҐ¤Ґ«Ґле ЇҐаҐ¬Ґ®© LIB Є®¬ ¤л DOS
SET. ЏаЁ Ї®¬®йЁ Є®¬ ¤л SET ¬®Јгв Ўлвм § ¤ л
ҐбЄ®«мЄ® Їг⥩ Ї®ЁбЄ , а §¤Ґ«пҐ¬ле в®зЄ®© б
б § Їпв®©. ‚Ё¤ Є®¬ ¤л SET:
SET LIB=<бЇЁб®Є Їг⥩>
Соседние файлы в папке cистема программирования на макроассемблере ms-dos, cправочное руководство