- 8 -





3. ‘ҐЈ¬Ґ­в жЁп Їа®Ја ¬¬л.


Џа®Ја ¬¬  ­  п§лЄҐ  бᥬЎ«Ґа  б®бв®Ёв Ё§
Ї®б«Ґ¤®ў вҐ«м­®бвЁ Їа®Ја ¬¬­ле ᥣ¬Ґ­в®ў, § Є ­зЁў о饩бп
¤ЁаҐЄвЁў®© END. Ќ з «® Є ¦¤®Ј® ᥣ¬Ґ­в  ®Ў®§­ з Ґвбп
¤ЁаҐЄвЁў®© SEGMENT, Є®­Ґж - ¤ЁаҐЄвЁў®© ENDS.
‚ Є ¦¤®¬ ᥣ¬Ґ­вҐ ЇаЁ Ї®¬®йЁ ¤ЁаҐЄвЁўл ASSUME ¬®Јгв
Ўлвм ®ЇаҐ¤Ґ«Ґ­л ЁбЇ®«м§гҐ¬лҐ Ї® 㬮«з ­Ёо ¤«п  ¤аҐб жЁЁ
н«Ґ¬Ґ­в®ў Їа®Ја ¬¬л ॣЁбвал ᥣ¬Ґ­в .
‚ Є ¦¤®¬ ᥣ¬Ґ­вҐ ¬®Јгв Ўлвм ўл¤Ґ«Ґ­л бЇҐжЁ «м­лҐ
Їа®Ја ¬¬­лҐ Ґ¤Ё­Ёжл (Їа®жҐ¤гал), Ї®§ў®«пойЁҐ ЁбЇ®«м§®ў вм
з бвм Їа®Ја ¬¬­®Ј® Є®¤  ¬­®Ј®Єа в­® ЎҐ§ ҐЈ® ¤гЎ«Ёа®ў ­Ёп ў
а §­ле з бвпе Їа®Ја ¬¬л. Џа®жҐ¤гал ®Ўлз­® ўЄ«озҐ­л ў бЁб⥬г
 ¤аҐб жЁЁ ᥣ¬Ґ­в . Ќ з «® Ё Є®­Ґж Їа®жҐ¤гал ®ЇаҐ¤Ґ«повбп
¤ЁаҐЄвЁў ¬Ё PROC Ё ENDP ᮮ⢥вб⢥­­®.
‘ҐЈ¬Ґ­вл ¬®Јгв Ўлвм ®ЎкҐ¤Ё­Ґ­л ў ЈагЇЇг ЇаЁ Ї®¬®йЁ
¤ЁаҐЄвЁўл GROUP.
„ЁаҐЄвЁўл ORG Ё EVEN Ї®§ў®«пов гЇа ў«пвм  ¤аҐб ¬Ё
а §¬ҐйҐ­Ёп Ё­бвагЄжЁ© Їа®жҐбб®а .
ќвЁ ¤ЁаҐЄвЁўл Ї®¤а®Ў­ҐҐ ®ЇЁб ­л ў б«Ґ¤гойЁе а §¤Ґ« е.





3.1. „ЁаҐЄвЁўл SEGMENT Ё ENDS.


‘Ё­в ЄбЁб:

Ё¬п SEGMENT [[ўла ў­Ёў ­ЁҐ]] [[Є®¬ЎЁ­ жЁп]] [['Є« бб']]

Ё¬п ENDS

„ЁаҐЄвЁўл SEGMENT Ё ENDS ®в¬Ґз ов ᮮ⢥вб⢥­­®
­ з «® Ё Є®­Ґж Їа®Ја ¬¬­®Ј® ᥣ¬Ґ­в  Ё ¤®«¦­л Ўлвм Ї®¬ҐзҐ­л
®¤­Ё¬ Ё ⥬ ¦Ґ Ё¬Ґ­Ґ¬, Є®в®а®Ґ Ё бзЁв Ґвбп Ё¬Ґ­Ґ¬ ᥣ¬Ґ­в .
Џа®Ја ¬¬­л© ᥣ¬Ґ­в ЇаҐ¤бв ў«пҐв б®Ў®© Ї®б«Ґ¤®ў вҐ«м­®бвм
Ё­бвагЄжЁ© Ё/Ё«Ё Ї®«Ґ© ¤ ­­ле,  ¤аҐб㥬ле ®в­®бЁвҐ«м­®
®¤­®Ј® ॣЁбва  бҐЈ¬Ґ­в . €¬п ᥣ¬Ґ­в  ¤®«¦­® Ўлвм
г­ЁЄ «м­л¬ Ё ¬®¦Ґв Ї®пў«пвмбп ў Ї®«Ґ ¬ҐвЄЁ в®«мЄ® «Ёим ў
¤агЈ®¬ ЇаҐ¤«®¦Ґ­ЁЁ SEGMENT. ‚ᥠ¤ЁаҐЄвЁўл SEGMENT б ®¤­Ё¬ Ё
⥬ ¦Ґ Ё¬Ґ­Ґ¬ ®Ў®§­ з о⠯த®«¦Ґ­ЁҐ ®¤­®Ј® Ё в®Ј® ¦Ґ
ᥣ¬Ґ­в . ЏаЁ н⮬ б«Ґ¤гҐв Ї®¬­Ёвм, зв® Ї а ¬Ґвал ўбҐе
¤ЁаҐЄвЁў SEGMENT, ®ЇаҐ¤Ґ«пойЁе ®¤Ё­ Ё в®в ¦Ґ Їа®Ја ¬¬­л©
ᥣ¬Ґ­в, ­Ґ ¤®«¦­л Їа®вЁў®аҐзЁвм ¤агЈ ¤агЈг.
Џ а ¬Ґвал ўла ў­Ёў ­ЁҐ, Є®¬ЎЁ­ жЁп Ё Є« бб ¤ЁаҐЄвЁўл

- 9 -


SEGMENT § ¤ ов Ё­д®а¬ жЁо ¤«п «Ё­ЄҐа . Ћ­Ё ¤®«¦­л
Є®¤Ёа®ў вмбп ў гЄ § ­­®© Ї®б«Ґ¤®ў вҐ«м­®бвЁ, ­® ¬®Јгв Ўлвм
®ЇгйҐ­л ў Їа®Ё§ў®«м­®© Є®¬ЎЁ­ жЁЁ.

‚ла ў­Ёў ­ЁҐ ®ЇаҐ¤Ґ«пҐв Ја ­Ёжг  ¤аҐб , ­ зЁ­ п
б Є®в®а®© ᥣ¬Ґ­в Ўг¤Ґв § Јаг¦ вмбп ў Ї ¬пвм. Њ®Јгв Ўлвм
§ ¤ ­л б«Ґ¤гойЁҐ §­ зҐ­Ёп:
BYTE - ЁбЇ®«м§®ў вм «оЎго Ја ­Ёжг
WORD - Ја ­Ёж  б«®ў  (2 Ў ©в )
PARA - Ја ­Ёж  Ї а Ја д  (16 Ў ©в®ў)
PAGE - Ја ­Ёж  бва ­Ёжл (256 Ў ©в®ў)
…б«Ё ўла ў­Ёў ­ЁҐ ­Ґ гЄ § ­®, ЇаҐ¤Ї®« Ј Ґвбп PARA.
‘«Ґ¤гҐв Ї®¬­Ёвм, зв® в®з­л©  ¤аҐб ­ з «  ᥣ¬Ґ­в  ¤®
ҐЈ® § Јаг§ЄЁ ў Ї ¬пвм ­ҐЁ§ўҐб⥭. ’ЁЇ ўла ў­Ёў ­Ёп в®«мЄ®
­ Є« ¤лў Ґв ­  ­ҐЈ® ®Ја ­ЁзҐ­ЁҐ.

’ЁЇ Є®¬ЎЁ­ жЁЁ ®ЇаҐ¤Ґ«пҐв ў®§¬®¦­®бвм Ё бЇ®б®Ўл
®ЎкҐ¤Ё­Ґ­Ёп Їа®Ја ¬¬­ле ᥣ¬Ґ­в®ў, Ё¬ҐойЁе ®¤­® Ё¬п. Њ®Јгв
Ўлвм гЄ § ­л б«Ґ¤гойЁҐ §­ зҐ­Ёп:

PUBLIC - ‚ᥠᥣ¬Ґ­вл б ®¤­Ё¬ Ё ⥬ ¦Ґ Ё¬Ґ­Ґ¬ ®ЎкҐ¤Ё­повбп
ў ®¤Ё­ ­ҐЇаҐалў­л© бҐЈ¬Ґ­в. ‚ᥠЁ­бвагЄжЁЁ Ё Ї®«п
¤ ­­ле ­®ў®Ј® ᥣ¬Ґ­в  Ўг¤гв  ¤аҐб®ў вмбп
®в­®бЁвҐ«м­® ®¤­®Ј® ॣЁбва  бҐЈ¬Ґ­в ,   ўбҐ
ᬥ饭Ёп Ўг¤гв ўлзЁб«пвмбп ®в­®бЁвҐ«м­® ­ з « 
нв®Ј® ᥣ¬Ґ­в .
STACK - ‚ᥠᥣ¬Ґ­вл б ®¤­Ё¬ Ё ⥬ ¦Ґ Ё¬Ґ­Ґ¬ ®ЎкҐ¤Ё­повбп
ў ®¤Ё­ ­ҐЇаҐалў­л© бҐЈ¬Ґ­в. ќв®в вЁЇ Є®¬ЎЁ­ жЁЁ
®в«Ёз Ґвбп ®в PUBLIC «Ёим ⥬, зв®  ¤аҐб жЁп ў
­®ў®¬ ᥣ¬Ґ­вҐ Ўг¤Ґв ўҐбвЁбм ®в­®бЁвҐ«м­®
ॣЁбва  SS; ॣЁбва SP ЇаЁ н⮬ гбв ­ ў«Ёў Ґвбп
­  Є®­Ґж ᥣ¬Ґ­в . ’ Є®© вЁЇ Є®¬ЎЁ­ жЁЁ ®Ўлз­®
Ё¬Ґов ᥣ¬Ґ­вл б⥪ . ’ЁЇ Є®¬ЎЁ­ ©ЁЁ STACK
 ўв®¬ вЁзҐбЄЁ ®ЎҐбЇҐзЁў Ґв Ё­ЁжЁ «Ё§ жЁо
ॣЁбва®ў SS Ё SP, Ё Ї®«м§®ў вҐ«о ­Ґ®Ўп§ вҐ«м­®
ўЄ«оз вм ў бў®о Їа®Ја ¬¬г Ё­бвагЄжЁЁ ¤«п
гбв ­®ўЄЁ нвЁе ॣЁбва®ў.
COMMON - ‚ᥠ®¤­®Ё¬Ґ­­лҐ ᥣ¬Ґ­вл нв®Ј® Є« бб  Ўг¤гв
§ Јаг¦ вмбп ў Ї ¬пвм, ­ зЁ­ п б ®¤­®Ј®  ¤аҐб .
’ ЄЁ¬ бЇ®б®Ў®¬ ¬®¦­® д®а¬Ёа®ў вм ®ўҐа«Ґ©­лҐ
Їа®Ја ¬¬л. „«Ё­  ®Ў« бвЁ § Јаг§ЄЁ а ў­  ¤«Ё­Ґ
¬ ЄбЁ¬ «м­®Ј® Ї® ®ЎкҐ¬г ᥣ¬Ґ­в . ‚ᥠ ¤аҐб  ў
нвЁе ᥣ¬Ґ­в е ўлзЁб«повбп ®в­®бЁвҐ«м­® ®¤­®Ј®
Ў §®ў®Ј®  ¤аҐб . …б«Ё ­ҐЄ®в®алҐ ¤ ­­лҐ ®Ўкпў«Ґ­л
ў Ў®«ҐҐ, 祬 ®¤­®¬, ᥣ¬Ґ­вҐ б Є®­ЄаҐв­л¬ Ё¬Ґ­Ґ¬
Ё вЁЇ®¬ Є®¬ЎЁ­ жЁЁ COMMON, ¤ ­­лҐ, ®Ўкпў«Ґ­­лҐ
Ї®б«Ґ¤­Ё¬Ё, § ¬Ґй о⠢ᥠЇаҐ¤л¤гйЁҐ.
MEMORY - „«п Microsoft 8086 Object Linker (LINK) Ї®«­®бвмо
б®ўЇ ¤ Ґв б вЁЇ®¬ PUBLIC. MASM ®ЎҐбЇҐзЁў Ґв
®в¤Ґ«м­л© вЁЇ Є®¬ЎЁ­ жЁЁ MEMORY ¤«п б®ў¬ҐбвЁ¬®бвЁ
б Їа®Ја ¬¬ ¬Ё LINK, а §«Ёз ойЁ¬Ё нвЁ вЁЇл
Є®¬ЎЁ­ жЁЁ.
AT  ¤аҐб - ‚ᥠ¬ҐвЄЁ Ё  ¤аҐб­лҐ ЇҐаҐ¬Ґ­­лҐ ᥣ¬Ґ­в  ¤®«¦­л
Ўлвм ўлзЁб«Ґ­л ®в­®бЁвҐ«м­® гЄ § ­­®Ј®  ¤аҐб .
Ђ¤аҐб ¬®¦Ґв Ўлвм ЇаҐ¤бв ў«Ґ­ «оЎл¬ ¤®ЇгбвЁ¬л¬

- 10 -


ўла ¦Ґ­ЁҐ¬, ­Ґ ᮤҐа¦ йЁ¬ ббл«®Є ўЇҐаҐ¤. ‘ҐЈ¬Ґ­в
б нвЁ¬ вЁЇ®¬ Є®¬ЎЁ­ жЁЁ ®Ўлз­® ­Ґ ᮤҐа¦Ёв
Їа®Ја ¬¬­®Ј® Є®¤  Ё«Ё Ё­ЁжЁ «Ё§Ёа㥬ле ¤ ­­ле,  
ўЄ«оз Ґв ў бҐЎп  ¤аҐб­лҐ §­ зҐ­Ёп, дЁЄбЁа®ў ­­лҐ
¤«п ўлзЁб«ЁвҐ«м­®© ¬ иЁ­л (­ ЇаЁ¬Ґа,  ¤аҐб ЎгдҐа 
нЄа ­ ).

…б«Ё вЁЇ Є®¬ЎЁ­ жЁЁ ­Ґ гЄ § ­, ᥣ¬Ґ­в ­Ё б 祬 ­Ґ
®ЎкҐ¤Ё­пҐвбп Ё а бб¬ ваЁў Ґвбп Є Є ®в¤Ґ«м­ п Їа®Ја ¬¬­ п
Ґ¤Ё­Ёж .

Љ« бб ᥣ¬Ґ­в  ®ЇаҐ¤Ґ«пҐв Ї®а冷Є б«Ґ¤®ў ­Ёп ᥣ¬Ґ­в®ў
ў Ї ¬пвЁ. ‘ҐЈ¬Ґ­вл ®¤­®Ј® Є« бб  § Јаг¦ овбп ў Ї ¬пвм ®¤Ё­
Ї®б«Ґ ¤агЈ®Ј® ¤® в®Ј®, Є Є ­ з­гв § Јаг¦ вмбп ᥣ¬Ґ­вл
¤агЈ®Ј® Є« бб .
‚ Є зҐб⢥ Є« бб  бҐЈ¬Ґ­в  ¬®¦Ґв Ўлвм гЄ § ­ «оЎ®©
Ё¤Ґ­вЁдЁЄ в®а, ­  Є®в®ал© а бЇа®бва ­повбп ўбҐ вॡ®ў ­Ёп Ё
®Ја ­ЁзҐ­Ёп п§лЄ   бᥬЎ«Ґа  (ў ⮬ зЁб«Ґ гб«®ўЁп
згўб⢨⥫쭮бвЁ Є ॣЁбваг). Џ®бЄ®«мЄг Є« бб ᥣ¬Ґ­в 
а бб¬ ваЁў Ґвбп Є Є Ё¤Ґ­вЁдЁЄ в®а, ®­ ­Ґ ¬®¦Ґв Ўлвм
®ЇаҐ¤Ґ«Ґ­ Ј¤Ґ-«ЁЎ® ҐйҐ ў Їа®Ја ¬¬Ґ.
…б«Ё Є« бб ­Ґ гЄ § ­, LINK Є®ЇЁагҐв ᥣ¬Ґ­вл ў
ЁбЇ®«­ЁвҐ«м­л© д ©« ў в®© Ї®б«Ґ¤®ў вҐ«м­®бвЁ, ў Є®в®а®© ®­Ё
а бЇ®«®¦Ґ­л ў ®ЎкҐЄв­®¬ д ©«Ґ. ќв  Ї®б«Ґ¤®ў вҐ«м­®бвм
б®еа ­пҐвбп ¤® вҐе Ї®а, Ї®Є  LINK ­Ґ ®Ў­ аг¦Ёв 2 Ё«Ё Ў®«ҐҐ
ᥣ¬Ґ­в  ®¤­®Ј® Є« бб , Ї®б«Ґ 祣® LINK ­ зЁ­ Ґв ®ЎкҐ¤Ё­Ґ­ЁҐ
ᥣ¬Ґ­в®ў. ‘ҐЈ¬Ґ­вл ®¤­®Ј® Є« бб  Є®ЇЁаговбп ў
Ї®б«Ґ¤®ў вҐ«м­лҐ Ў«®ЄЁ ЁбЇ®«­ЁвҐ«м­®Ј® д ©« .
‚ᥠᥣ¬Ґ­вл Ё¬Ґов Є« бб. ‘ҐЈ¬Ґ­вл, ¤«п Є®в®але Є« бб
­Ґ гЄ § ­, бзЁв овбп ЇаЁ­ ¤«Ґ¦ йЁ¬Ё Є Є« ббг б Їгбвл¬ Ё¬Ґ­Ґ¬
Ё Є®ЇЁаговбп ў Ї®б«Ґ¤®ў вҐ«м­лҐ Ў«®ЄЁ Ї ¬пвЁ ў¬Ґб⥠б в ЄЁ¬Ё
¦Ґ ᥣ¬Ґ­в ¬Ё.
—Ёб«® ᥣ¬Ґ­в®ў, ЇаЁ­ ¤«Ґ¦ йЁе Є ®¤­®¬г Є« ббг,
­Ґ®Ја ­ЁзҐ­®, ­® Ёе б㬬 а­л© ®ЎкҐ¬ ­Ґ ¤®«¦Ґ­ ЇаҐўли вм 64Љ.
…б«Ё ­  ўе®¤ Їа®Ја ¬¬л LINK Ї®¤ Ґвбп ­ҐбЄ®«мЄ®
®ЎкҐЄв­ле д ©«®ў, Їа ўЁ«м­®Ґ Є®¤Ёа®ў ­ЁҐ Є« бб®ў ᥣ¬Ґ­в®ў
ў®®ЎйҐ Ј®ў®ап ­Ґ ®ЎҐбЇҐзЁў Ґв Їа ўЁ«м­го Ї®б«Ґ¤®ў вҐ«м­®бвм
ᥣ¬Ґ­в®ў ў ЁбЇ®«­ЁвҐ«м­®¬ д ©«Ґ, в.Є. нв 
Ї®б«Ґ¤®ў вҐ«м­®бвм ў н⮬ б«гз Ґ § ўЁбЁв ҐйҐ Ё ®в
Ї®б«Ґ¤®ў вҐ«м­®бвЁ ®ЎкҐЄв­ле д ©«®ў ў Є®¬ ­¤­®© бва®ЄҐ.
Џгбвм, ­ ЇаЁ¬Ґа, LINK ®Ўа Ў влў Ґв 2 ®ЎкҐЄв­ле д ©« , 1-© Ё§
Є®в®але ᮤҐа¦Ёв 2 ᥣ¬Ґ­в  б Є« бб ¬Ё CODE Ё STACK,   2-© -
®¤Ё­ ᥣ¬Ґ­в Є« бб  DATA. ‚ ЁбЇ®«­ЁвҐ«м­®¬ д ©«Ґ ᥣ¬Ґ­вл
ўбҐЈ¤  Ўг¤гв а бЇ®«®¦Ґ­л ў Ї®б«Ґ¤®ў вҐ«м­®бвЁ CODE, STACK,
DATA. …б«Ё, ­ ЇаЁ¬Ґа, Їа®Ја ¬¬Ёбвг ­Ґ®Ўе®¤Ё¬®, зв®Ўл
ᥣ¬Ґ­вл а бЇ®« Ј «Ёбм ў Ї®б«Ґ¤®ў вҐ«м­®бвЁ CODE, DATA,
STACK, Ґ¬г б«Ґ¤гҐв ᮧ¤ вм ®ЎкҐЄв­л© д ©«, ᮤҐа¦ йЁ©
дЁЄвЁў­лҐ ᥣ¬Ґ­вл б ⥬Ё ¦Ґ Ё¬Ґ­ ¬Ё Ё ⥬Ё ¦Ґ Є« бб ¬Ё, ­®
а бЇ®«®¦Ґ­­лҐ ў ­г¦­®¬ Ґ¬г Ї®ап¤ЄҐ, Ё ў Є®¬ ­¤­®© бва®ЄҐ
§ ЇгбЄ  LINK гЄ § вм ҐЈ® ЇҐаўл¬. €б室­ п Їа®Ја ¬¬ ,
ᮮ⢥вбвўгой п в Є®¬г ®ЎкҐЄв­®¬г д ©«г ¬®¦Ґв Ё¬Ґвм
б«Ґ¤гойЁ© ўЁ¤:

code SEGMENT PARA PUBLIC 'CODE'
code ENDS

- 11 -


data SEGMENT PARA PUBLIC 'DATA'
data ENDS
stack SEGMENT PARA STACK 'STACK'
stack ENDS

ќв®в ЇаЁҐ¬ ­Ґ ¬®¦Ґв Ўлвм ЁбЇ®«м§®ў ­ ¤«п Їа®Ја ¬¬ ­ 
п§лЄ е C, FORTRAN, PASCAL Ё BASIC, в.Є. Є®¬ЇЁ«пв®ал нвЁе
п§лЄ®ў б«Ґ¤гов ®ЇаҐ¤Ґ«Ґ­­л¬ б®Ј« иҐ­Ёп¬ ® Ї®ап¤ЄҐ ᥣ¬Ґ­в®ў,
Є®в®ал© ­Ґ б«Ґ¤гҐв ­ аги вм.
„агЈЁ¬ бЇ®б®Ў®¬ гЇа ў«Ґ­Ёп Ї®б«Ґ¤®ў вҐ«м­®бвмо
ᥣ¬Ґ­в®ў пў«пҐвбп Є®¤Ёа®ў ­ЁҐ ®ЇжЁЁ /A MASM, Є®в®а п
ЇаҐ¤ЇЁблў Ґв MASM а бЇ®« Ј вм ᥣ¬Ґ­вл ў ®ЎкҐЄв­®¬ д ©«Ґ ў
 «д ўЁв­®¬ Ї®ап¤ЄҐ. ‘®зҐв ­ЁҐ ®ЇжЁЁ /A б д®а¬Ёа®ў ­ЁҐ¬
Ї®б«Ґ¤®ў вҐм­®бвЁ дЁЄвЁў­ле ᥣ¬Ґ­в®ў Ї®§ў®«пҐв
ॠ«Ё§®ўлў вм ¤®ў®«м­® б«®¦­лҐ бва вҐЈЁЁ гЇа ў«Ґ­Ёп
бвагЄвга®© ЁбЇ®«­ЁвҐ«м­®Ј® д ©« .
‚ ­ҐЄ®в®але а ­­Ёе ўҐабЁпе MASM ®ЇжЁп /A ўЄ«о祭  Ї®
㬮«з ­Ёо.
„®Ї®«­ЁвҐ«м­ п Ё­д®а¬ жЁп ® ўла ў­Ёў ­ЁЁ Ё ®ЎкҐ¤Ё­Ґ­ЁЁ
ᥣ¬Ґ­в®ў Їа®Ја ¬¬®© LINK ᮤҐа¦Ёвбп ў агЄ®ў®¤б⢥ "‘Ёб⥬ 
Їа®Ја ¬Ёа®ў ­Ёп ­  ¬ Єа® бᥬЎ«ҐаҐ MS-DOS. — бвм 1. Џ ЄҐв
¬ Єа® бᥬЎ«Ґа  MS-DOS", Ї.Ї. 3.4.1 Ё 3.4.3.






3.2. „ЁаҐЄвЁўл PROC Ё ENDP.


„ЁаҐЄвЁўл PROC Ё ENDP б«г¦ в ¤«п ®ЇаҐ¤Ґ«Ґ­Ёп
Їа®жҐ¤гал. Џа®жҐ¤га  ЇаҐ¤бв ў«пҐв б®Ў®© ­ Ў®а Ё­бвагЄжЁ© Ё
¤ЁаҐЄвЁў, ®Ўа §гойЁе ­ҐЄ®в®аго Ї®¤Їа®Ја ¬¬г ў а ¬Є е
Є Є®Ј®-«ЁЎ® ᥣ¬Ґ­в .
Џа®жҐ¤га  Ё¬ҐҐв б«Ґ¤гойЁ© ўЁ¤:

Ё¬п PROC [[а ббв®п­ЁҐ]]
...
ЇаҐ¤«®¦Ґ­Ёп
...
Ё¬п ENDP

„ЁаҐЄвЁўл PROC Ё ENDP ®Ў®§­ з ов ᮮ⢥вб⢥­­® ­ з «®
Ё Є®­Ґж Їа®жҐ¤гал Ё ¤®«¦­л Ўлвм Ї®¬ҐзҐ­л ®¤­Ё¬ Ё ⥬ ¦Ґ
Ё¬Ґ­Ґ¬, Є®в®а®Ґ бзЁв Ґвбп Ё¬Ґ­Ґ¬ Їа®жҐ¤гал.
ЌҐ®Ўп§ вҐ«м­®Ґ а ббв®п­ЁҐ ¬®¦Ґв ЇаЁ­Ё¬ вм §­ зҐ­Ёп FAR
Ё NEAR. …б«Ё нв®в Ї а ¬Ґва ®Їг饭, ЇаҐ¤Ї®« Ј Ґвбп NEAR.
€¬п Їа®жҐ¤гал Ё¬ҐҐв  ваЁЎгвл ¬ҐвЄЁ Ё ¬®¦Ґв Ўлвм
ЁбЇ®«м§®ў ­® Є Є ®ЇҐа ­¤ ў Ё­бвагЄжЁпе ЇҐаҐе®¤ , ўл§®ў е Ё«Ё
жЁЄ« е.
‚®§ўа в Ё§ Їа®жҐ¤гал ¤®«¦Ґ­ Ўлвм ўлЇ®«­Ґ­ Ё­бвагЄжЁҐ©
RET. ЏаЁ н⮬ б«Ґ¤гҐв Ї®¬­Ёвм, зв®  ¤аҐб ў®§ўа в  ўлЎЁа Ґвбп
Ё§ б⥪  (ў ᮮ⢥вбвўЁЁ б® §­ зҐ­Ёп¬Ё ॣЁбва®ў SS Ё SP).
„«п Їа®жҐ¤га б а ббв®п­ЁҐ¬ NEAR  ¤аҐб ў®§ўа в  б®бв®Ёв

- 12 -


в®«мЄ® Ё§ ᬥ饭Ёп Ё § ­Ё¬ Ґв ў б⥪Ґ 2 Ў ©в . „«п
FAR-Їа®жҐ¤га ®­ § ­Ё¬ Ґв 4 Ў ©в  б⥪ , ўЄ«оз п ў ᥡп
Ў §®ўл©  ¤аҐб (ᮤҐа¦Ё¬®Ґ ॣЁбва  бҐЈ¬Ґ­в ) Ё ᬥ饭ЁҐ.
„®ЇгбЄ Ґвбп ў«®¦Ґ­­®бвм Їа®жҐ¤га.
Џа®жҐ¤гॠ¬®Јгв Ўлвм ЇҐаҐ¤ ­л Ї а ¬Ґвал. ‚®®ЎйҐ
Ј®ў®ап, ЇҐаҐ¤ з  Ї а ¬Ґва®ў Ё Ёе а бЇ®§­ ў ­ЁҐ ў Їа®жҐ¤гаҐ
ў®§« Ј Ґвбп ­  Їа®Ја ¬¬Ёбв . Ќ® ЇаЁ б®Ў«о¤Ґ­ЁЁ бв ­¤ ав­ле
б®Ј« иҐ­Ё©, ЇаЁ­пвле ў п§лЄ е ўлб®Є®Ј® га®ў­п, Ї а ¬Ґвал
Їа®жҐ¤гал ¬®Јгв Ўлвм ®вб«Ґ¦Ґ­л Є®¬ ­¤®© ва ббЁа®ўЄЁ б⥪  K
SYMDEB ("‘Ёб⥬  Їа®Ја ¬¬Ёа®ў ­Ёп ­  ¬ Єа® бᥬЎ«ҐаҐ MS-DOS.
— бвм 1. Џ ЄҐв ¬ Єа® бᥬЎ«Ґа ", Ї.4.5.28).
‘®Ј« б­® бв ­¤ ав­л¬ б®Ј« иҐ­Ёп¬ Ї а ¬Ґвал а §¬Ґй овбп
ў б⥪Ґ, ўҐае Є®в®а®Ј® ®ЇаҐ¤Ґ«пҐвбп ᮤҐа¦Ё¬л¬ ॣЁбва®ў SP
Ё SS.
ЏаЁ¬Ґа ЇҐаҐ¤ зЁ Ї а ¬Ґва®ў:
...
PUSH AX ; 2-© Ї а ¬Ґва
PUSH BX ; 1-© Ї а ¬Ґва
CALL addup
ADD SP,4 ; г­Ёз⮦Ґ­ЁҐ Ї а ¬Ґва®ў
...
addup PROC NEAR ;  ¤аҐб ў®§ўа в  ¤«п NEAR - 2 Ў ©в 
PUSH BP ; б®еа ­Ґ­ЁҐ Ў §®ў®Ј® гЄ § вҐ«п
MOV BP,SP ; § Јаг§Є  Ў §®ў®Ј® ॣЁбва 
MOV BX,[BP+4] ;  ¤аҐб 1-Ј® Ї а ¬Ґва 
MOV AX,[BP+6] ;  ¤аҐб 2-Ј® Ї а ¬Ґва 
...
POP BP
RET
addup ENDP

€§ нв®Ј® ЇаЁ¬Ґа  пб­®, зв®  ¤аҐб ў®§ўа в  § Ї®¬Ё­ Ґвбп
ў ўҐаегиЄҐ б⥪  ЇҐаҐ¤ Ї а ¬Ґва ¬Ё (б⥪ "а бвҐв" ®в Ў®«миЁе
 ¤аҐб®ў Є ¬ «л¬).
…б«Ё Ўл Їа®жҐ¤га  бЇҐжЁдЁжЁа®ў «  а ббв®п­ЁҐ FAR,
 ¤аҐб ў®§ўа в  § ­п« Ўл 4 Ў ©в ,   ᬥ饭ЁҐ ¤«п 1-Ј®
Ї а ¬Ґва  б®бв ўЁ«® Ўл 6 Ў ©в®ў.






3.3. „ЁаҐЄвЁў  ASSUME.


‘Ё­в ЄбЁб:

ASSUME ॣЁбва-ᥣ¬Ґ­в :Ё¬п-ᥣ¬Ґ­в ...
ASSUME NOTHING

„ЁаҐЄвЁў  ASSUME гбв ­ ў«Ёў Ґв ॣЁбва ᥣ¬Ґ­в  ў
Є зҐб⢥ г¬ «зЁў Ґ¬®Ј® ॣЁбва  бҐЈ¬Ґ­в  ¤«п  ¤аҐб жЁЁ ¬Ґв®Є
Ё ЇҐаҐ¬Ґ­­ле ў гЄ § ­­®¬ ᥣ¬Ґ­вҐ Ё«Ё ЈагЇЇҐ. Џ®б«Ґ¤гойЁҐ
ббл«ЄЁ Є ¬ҐвЄҐ Ё«Ё ЇҐаҐ¬Ґ­­®© ЇаЁ ®вбгвбвўЁЁ пў­ле гЄ § ­Ё©

- 13 -


а §аҐи овбп ®в­®бЁвҐ«м­® ¤ ­­®Ј® ॣЁбва  бҐЈ¬Ґ­в .
‚ Є зҐб⢥ ॣЁбва  бҐЈ¬Ґ­в  ¬®Јгв Ўлвм гЄ § ­л CS,
DS, SS Ё«Ё ES.
‚ Є зҐб⢥ Ё¬Ґ­Ё ᥣ¬Ґ­в  ¬®¦Ґв Ўлвм бЇҐжЁдЁжЁа®ў ­®:
1. €¬п ᥣ¬Ґ­в , ЇаҐ¤ў аЁвҐ«м­® ®ЇаҐ¤Ґ«Ґ­­®Ґ
¤ЁаҐЄвЁў®© SEGMENT.
2. €¬п ЈагЇЇл, ЇаҐ¤ў аЁвҐ«м­® ®ЇаҐ¤Ґ«Ґ­­®Ґ ¤ЁаҐЄвЁў®©
GROUP.
3. Љ«о祢®Ґ б«®ў® NOTHING.

Ќ «ЁзЁҐ Є«о祢®Ј® б«®ў  NOTHING ®в¬Ґ­пҐв ⥪гйЁ© ўлЎ®а
Є®­ЄаҐв­®Ј® ॣЁбва  бҐЈ¬Ґ­в  Ё«Ё ⥪гйЁ© ўлЎ®а ўбҐе
ॣЁбва®ў ᥣ¬Ґ­в  (¤«п ўв®а®© д®а¬л ¤ЁаҐЄвЁўл).
‚лЎ®а ॣЁбва  бҐЈ¬Ґ­в  Ї® 㬮«з ­Ёо ў ®в¤Ґ«м­®¬
ЇаҐ¤«®¦Ґ­ЁЁ п§лЄ   бᥬЎ«Ґа  ¬®¦Ґв Ўлвм ®в¬Ґ­Ґ­ ЇаЁ Ї®¬®йЁ
®ЇҐа в®а  ЇҐаҐЄ«о祭Ёп ᥣ¬Ґ­в  (:) ("‘Ёб⥬ 
Їа®Ја ¬¬Ёа®ў ­Ёп ­  ¬ Єа® бᥬЎ«ҐаҐ MS-DOS. — бвм 2.
‚ўҐ¤Ґ­ЁҐ ў п§лЄ  бᥬЎ«Ґа ", Ї.4.2).





3.4. „ЁаҐЄвЁў  GROUP.


‘Ё­в ЄбЁб:

Ё¬п GROUP Ё¬п-ᥣ¬Ґ­в ,...

„ЁаҐЄвЁў  GROUP ®Ў®§­ з Ґв, зв® ®¤Ё­ Ё«Ё ­ҐбЄ®«мЄ®
ᥣ¬Ґ­в®ў б гЄ § ­­л¬Ё Ё¬Ґ­ ¬Ё «®ЈЁзҐбЄЁ ®ЎкҐ¤Ё­повбп ў
ЈагЇЇг б ¤ ­­л¬ Ё¬Ґ­Ґ¬, зв® Ї®§ў®«пҐв  ¤аҐб®ў вм ўбҐ ¬ҐвЄЁ Ё
ЇҐаҐ¬Ґ­­лҐ ў нвЁе ᥣ¬Ґ­в е ®в­®бЁвҐ«м­® ­ з «  ЈагЇЇл,   ­Ґ
­ з «  ᮤҐа¦ йҐЈ® Ёе ᥣ¬Ґ­в . €¬п-ᥣ¬Ґ­в  ¤®«¦­® Ўлвм
Ё¬Ґ­Ґ¬ ᥣ¬Ґ­в , ®ЇаҐ¤Ґ«Ґ­­®Ј® ¤ЁаҐЄвЁў®© SEGMENT, Ё«Ё
SEG-ўла ¦Ґ­ЁҐ¬ ("‘Ёб⥬  Їа®Ја ¬¬Ёа®ў ­Ёп ­  ¬ Єа® бᥬЎ«ҐаҐ
MS-DOS. — бвм 2. ‚ўҐ¤Ґ­ЁҐ ў п§лЄ  бᥬЎ«Ґа ", Ї.4.2). Ћ­®
¤®«¦­® Ўлвм г­ЁЄ «м­л¬.
„ЁаҐЄвЁў  GROUP ­Ґ ў«ЁпҐв ­  Ї®а冷Є § Јаг§ЄЁ
ᥣ¬Ґ­в®ў, Є®в®ал© § ўЁбЁв ®в Є« бб®ў ᥣ¬Ґ­в®ў Ё Ёе
а бЇ®«®¦Ґ­Ёп ў ®ЎкҐЄв­®¬ д ©«Ґ.
‘ҐЈ¬Ґ­вл ®¤­®© ЈагЇЇл ­Ґ ®Ўп§ вҐ«м­® Ўг¤гв § ­Ё¬ вм
­ҐЇаҐалў­го ®Ў« бвм Ї ¬пвЁ. Ћ­Ё ¬®Јгв Ўлвм ЇҐаҐ¬Ґи ­л б
ᥣ¬Ґ­в ¬Ё, ­Ґ ЇаЁ­ ¤«Ґ¦ йЁ¬Ё нв®© ЈагЇЇҐ. Ћ¤­ Є®,
а ббв®п­ЁҐ ў Ў ©в е ¬Ґ¦¤г ЇҐаўл¬ Ў ©в®¬ ЇҐаў®Ј® ᥣ¬Ґ­в 
ЈагЇЇл Ё Ї®б«Ґ¤­Ё¬ Ў ©в®¬ Ї®б«Ґ¤­ҐЈ® ᥣ¬Ґ­в  ЈагЇЇл ­Ґ
¤®«¦­® ЇаҐўли вм 64Љ. ’ ЄЁ¬ ®Ўа §®¬, Ґб«Ё ᥣ¬Ґ­вл ЈагЇЇл
а бЇ®«®¦Ґ­л Ї®б«Ґ¤®ў вҐ«м­®, ЈагЇЇ  ¬®¦Ґв § ­Ё¬ вм ¤® 64Љ
®ЇҐа вЁў­®© Ї ¬пвЁ.
€¬Ґ­  ЈагЇЇ ¬®Јгв ЁбЇ®«м§®ў вмбп ў ¤ЁаҐЄвЁўҐ ASSUME
(Ї.3.3) Ё ў Є зҐб⢥ ЇаҐдЁЄб  ®ЇҐа ­¤  ®ЇҐа в®а 
ЇҐаҐЄ«о祭Ёп ᥣ¬Ґ­в  (:).
€¬п ЈагЇЇл ¬®¦Ґв Ї®пўЁвмбп в®«мЄ® ў ®¤­®© ¤ЁаҐЄвЁўҐ
GROUP ў Ёб室­®¬ д ©«Ґ. …б«Ё Є ЈагЇЇҐ ЇаЁ­ ¤«Ґ¦ в ­ҐбЄ®«мЄ®

- 14 -


ᥣ¬Ґ­в®ў ў Ёб室­®¬ д ©«Ґ, ўбҐ Ёе Ё¬Ґ­  ¤®«¦­л Ўлвм гЄ § ­л
ў ®¤­®© ¤ЁаҐЄвЁўҐ GROUP.





3.5. „ЁаҐЄвЁў  END.


‘Ё­в ЄбЁб:

END [[ўла ¦Ґ­ЁҐ]]

„ЁаҐЄвЁў  END ®Ў®§­ з Ґв Є®­Ґж ¬®¤г«п. ЂбᥬЎ«Ґа
ЁЈ­®аЁагҐв ўбҐ ЇаҐ¤«®¦Ґ­Ёп, б«Ґ¤гойЁҐ ў Ёб室­®¬ д ©«Ґ § 
нв®© ¤ЁаҐЄвЁў®©.
ЌҐ®Ўп§ вҐ«м­®Ґ ўла ¦Ґ­ЁҐ ®ЇаҐ¤Ґ«пҐв в®зЄг ўе®¤ 
Їа®Ја ¬¬л, ў Є®в®аго Ўг¤Ґв ЇҐаҐ¤ ­® гЇа ў«Ґ­ЁҐ ЇаЁ § ЇгбЄҐ
Їа®Ја ¬¬л ­  бзҐв. ‡­ зҐ­ЁҐ¬ нв®Ј® ўла ¦Ґ­Ёп ¤®«¦Ґ­ Ўлвм
 ¤аҐб ў ®¤­®¬ Ё§ Їа®Ја ¬¬­ле ᥣ¬Ґ­в®ў ¤ ­­®Ј® Ёб室­®Ј®
д ©« .
…б«Ё ўла ¦Ґ­ЁҐ ®Їг饭®, в®зЄ  ўе®¤  ­Ґ ®ЇаҐ¤Ґ«пҐвбп.
ЏаЁ Ї®ЇлвЄҐ ўлЇ®«­Ґ­Ёп Їа®Ја ¬¬л б ­Ґ§ ¤ ­­®© в®зЄ®© ўе®¤ 
¬®Јгв ў®§­ЁЄ вм ®иЁЎЄЁ, Ї®н⮬㠤ЁаҐЄвЁўг END ЎҐ§ Ї а ¬Ґва®ў
४®¬Ґ­¤гҐвбп Є®¤Ёа®ў вм «Ёим б ᥣ¬Ґ­в ¬Ё, ᮤҐа¦ йЁ¬Ё
в®«мЄ® Ї®«п ¤ ­­ле.
‚ Ёб室­®¬ д ©«Ґ ¬®¦Ґв Ўлвм ®ЇаҐ¤Ґ«Ґ­  в®«мЄ® ®¤­ 
в®зЄ  ўе®¤ .





3.6. „ЁаҐЄвЁўл ORG Ё EVEN.



„ЁаҐЄвЁўл ORG Ё EVEN Ї®§ў®«пов § ¤ ў вм  ¤аҐб Ї ¬пвЁ,
­ зЁ­ п б Є®в®а®Ј® Ўг¤гв а бЇ®« Ј вмбп Ї®б«Ґ¤гойЁҐ
Ё­бвагЄжЁЁ Їа®жҐбб®а .

„ЁаҐЄвЁў  ORG Ё¬ҐҐв б«Ґ¤гойЁ© д®а¬ в:

ORG ўла ¦Ґ­ЁҐ

‡­ зҐ­ЁҐ гЄ § ­­®Ј® ўла ¦Ґ­Ёп ЇаЁбў Ёў Ґвбп гЄ § вҐ«о
Ї®§ЁжЁЁ, Ё  ¤аҐб  Ї®б«Ґ¤гойЁе Ё­бвагЄжЁ© Ё ¤ ­­ле Ўг¤гв
­ зЁ­ вмбп б ­®ў®Ј® §­ зҐ­Ёп.
‡­ зҐ­ЁҐ¬ ўла ¦Ґ­Ёп ¤®«¦­® Ўлвм  Ўб®«ов­®Ґ зЁб«®,
в®з­ҐҐ, ўбҐ ЁбЇ®«м§гҐ¬лҐ ў ­Ґ¬ Ё¬Ґ­  ¤®«¦­л Ўлвм Ё§ўҐбв­л ­ 
1-¬ Їа®е®¤Ґ  бᥬЎ«Ґа . ‚ Є зҐб⢥ н«Ґ¬Ґ­в  ўла ¦Ґ­Ёп ¬®¦Ґв
Ўлвм ЁбЇ®«м§®ў ­ §­ Є гЄ § вҐ«п Ї®§ЁжЁЁ ($), ®Ў®§­ з ойЁ©
ҐЈ® ⥪г饥 §­ зҐ­ЁҐ.


- 15 -


ЏаЁ¬Ґа:

ORG 120h
MOV AX,BX

‚ н⮬ ЇаЁ¬ҐаҐ Ё­бвагЄжЁп MOV Ўг¤Ґв ­ зЁ­ вмбп б Ў ©в 
120h ⥪г饣® ᥣ¬Ґ­в .


„ЁаҐЄвЁў  EVEN Ё¬ҐҐв б«Ґ¤гойЁ© д®а¬ в:

EVEN

„ЁаҐЄвЁў  EVEN ўла ў­Ёў Ґв б«Ґ¤го饥 §  ­Ґ© Ї®«Ґ
¤ ­­ле Ё«Ё Ё­бвагЄжЁо Ї® Ја ­ЁжҐ б«®ў , в.Ґ. Ї® зҐв­®¬г
 ¤аҐбг. …б«Ё ⥪г饥Ґ §­ зҐ­ЁҐ гЄ § вҐ«п Ї®§ЁжЁЁ ­ҐзҐв­®,
¤ЁаҐЄвЁў  㢥«ЁзЁў Ґв ҐЈ® §­ зҐ­ЁҐ ­  1 Ё ЈҐ­ҐаЁагҐв
Ё­бвагЄжЁо NOP (­Ґв ®ЇҐа жЁЁ). …б«Ё ⥪г饥 §­ зҐ­ЁҐ
гЄ § вҐ«п Ї®§ЁжЁЁ 㦥 зҐв­®, ­ЁЄ ЄЁе ¤Ґ©бвўЁ© ­Ґ
Їа®Ё§ў®¤Ёвбп.
„ЁаҐЄвЁў  EVEN ­Ґ ¤®«¦­  ЁбЇ®«м§®ў вмбп ў ᥣ¬Ґ­в е б
вЁЇ®¬ ўла ў­Ёў ­Ёп BYTE.
Соседние файлы в папке cистема программирования на макроассемблере ms-dos, cправочное руководство