Добавил:
Eatmore
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
- 16 -
4. “б«®ўлҐ ¤ЁаҐЄвЁўл.
џ§лЄ бᥬЎ«Ґа ўЄ«оз Ґв ў ᥡп гб«®ўлҐ ¤ЁаҐЄвЁўл
¤ўге вЁЇ®ў: ¤ЁаҐЄвЁўл гб«®ў®Ј® бᥬЎ«Ёа®ў Ёп Ё ¤ЁаҐЄвЁўл
гб«®ў®© ЈҐҐа жЁЁ ®иЁЎ®Є. „ЁаҐЄвЁў гб«®ў®Ј®
бᥬЎ«Ёа®ў Ёп ®ЎҐбЇҐзЁў Ґв бᥬЎ«Ёа®ў ЁҐ Ў«®Є
ЇаҐ¤«®¦ҐЁ© «Ёим ў ⮬ б«гз Ґ, Ґб«Ё ЁбвЁ® § ¤ ®Ґ ў
¤ЁаҐЄвЁўҐ гб«®ўЁҐ. „ЁаҐЄвЁў гб«®ў®© ЈҐҐа жЁЁ ®иЁЎЄЁ
Їа®ўҐапҐв § ¤ ®Ґ ў Ґ© гб«®ўЁҐ Ё ЈҐҐаЁагҐв ®иЁЎЄг, в.Ґ.
д®а¬ЁагҐв б®®ЎйҐЁҐ ў «ЁбвЁЈҐ Їа®Ја ¬¬л Ё ®ЎҐбЇҐзЁў Ґв Є®¤
ў®§ўа в , ᮮ⢥вбвўгойЁ© «ЁзЁо ®иЁЎЄЁ ў Ёб室®¬ ⥪бвҐ,
Ґб«Ё нв® гб«®ўЁҐ ЁбвЁ®.
„ЁаҐЄвЁўл ®Ў®Ёе вЁЇ®ў Їа®ўҐапов гб«®ўЁп ўаҐ¬ҐЁ
бᥬЎ«Ёа®ў Ёп. ЋЁ Ґ ¬®Јгв «Ё§Ёа®ў вм гб«®ўЁп ўаҐ¬ҐЁ
ўлЇ®«ҐЁп, в.Є. Ї®б«Ґ¤ЁҐ Ґ ¬®Јгв Ўлвм ўлзЁб«Ґл ¤® в®Ј®,
Є Є Їа®Ја ¬¬ зҐв ўлЇ®«пвмбп. ‚ гб«®ўЁпе ¤®ЇгбвЁ¬л «Ёим
ўла ¦ҐЁп, ЇаҐ®Ўа §гҐ¬лҐ ў Є®бв вл ЇаЁ бᥬЎ«Ёа®ў ЁЁ.
„ЁаҐЄвЁўл гб«®ў®Ј® бᥬЎ«Ёа®ў Ёп Ё ¤ЁаҐЄвЁўл
гб«®ў®© ЈҐҐа жЁЁ ®иЁЎ®Є ®ЇЁб л ў б«Ґ¤гойЁе ¤ўге а §¤Ґ« е.
4.1. „ЁаҐЄвЁўл гб«®ў®Ј® бᥬЎ«Ёа®ў Ёп.
„ЁаҐЄвЁўл гб«®ў®Ј® бᥬЎ«Ёа®ў Ёп Ї®§ў®«пов ў
ҐЄ®в®а®© б⥯ҐЁ гЇа ў«пвм Їа®жҐбᮬ бᥬЎ«Ёа®ў Ёп. ‚
§ ўЁбЁ¬®бвЁ ®в § 票© гб«®ўЁ© ўаҐ¬ҐЁ бᥬЎ«Ёа®ў Ёп,
Їа®ўҐа塞ле нвЁ¬Ё ¤ЁаҐЄвЁў ¬Ё, ¬ Єа® бᥬЎ«Ґа ¬®¦Ґв
Їа®ЇгбвЁвм ®Ўа Ў®вЄг 楫®Ј® Ў«®Є ЇаҐ¤«®¦ҐЁ© Ё«Ё ®Ўа Ў®в вм
ў¬Ґбв® ҐЈ® ¤агЈ®© ( «мвҐа вЁўл©) Ў«®Є.
Ѓ«®Є ЇаҐ¤«®¦ҐЁ© гб«®ў®Ј® бᥬЎ«Ёа®ў Ёп Ё¬ҐҐв
б«Ґ¤гойЁ© ®ЎйЁ© ўЁ¤:
¤ЁаҐЄвЁў -гб«®ў®Ј®- бᥬЎ«Ёа®ў Ёп
..........
ЇаҐ¤«®¦ҐЁп бᥬЎ«Ґа Ё«Ё ЁбвагЄжЁЁ
..........
[[ ELSE ]]
..........
ЇаҐ¤«®¦ҐЁп бᥬЎ«Ґа Ё«Ё ЁбвагЄжЁЁ
..........
ENDIF
- 17 -
„ЁаҐЄвЁў -гб«®ў®Ј®- бᥬЎ«Ёа®ў Ёп § ¤ Ґв гб«®ўЁҐ,
ЇаЁ ЁбвЁ®¬ § 票Ё Є®в®а®Ј® Ўг¤гв бᥬЎ«Ёа®ў вмбп
ЇаҐ¤«®¦ҐЁп, а бЇ®«®¦ҐлҐ ҐЇ®б।б⢥® Ї®б«Ґ ¤ЁаҐЄвЁўл Ё
¤® Є«о祢®Ј® б«®ў ELSE, Ё«Ё, Ґб«Ё ®® ®Їг饮, ¤® Є®ж
Ў«®Є , ®Ў®§ з Ґ¬®Ј® ENDIF. …б«Ё гб«®ўЁҐ Ґ ўлЇ®«пҐвбп,
бᥬЎ«ЁагҐвбп ЈагЇЇ ЇаҐ¤«®¦ҐЁ©, а бЇ®«®¦Ґ п ¬Ґ¦¤г
Є«о祢묨 б«®ў ¬Ё ESLE Ё ENDIF, Ґб«Ё ELSE ®Їг饮, MASM
Їа®ЇгбЄ Ґв Ў«®Є.
„®ЇгбЄ Ґвбп ў«®¦Ґ®бвм ¤ЁаҐЄвЁў. Њ ЄбЁ¬ «м п Ј«гЎЁ
ў«®¦ҐЁп - 255.
‚ Є зҐб⢥ ¤ЁаҐЄвЁўл-гб«®ў®Ј®- бᥬЎ«Ёа®ў Ёп ¬®Јгв
§ ¤ ў вмбп Є®бвагЄжЁЁ, ЇаЁўҐ¤ҐлҐ ў в Ў«ЁжҐ 4.1.
’ Ў«Ёж 4.1. „ЁаҐЄвЁўл гб«®ў®Ј® бᥬЎ«Ёа®ў Ёп.
____________________________________________
| |
| IF ўла ¦ҐЁҐ |
|__________________________________________|
| |
| IFE ўла ¦ҐЁҐ |
|__________________________________________|
| |
| IF1 |
|__________________________________________|
| |
| IF2 |
|__________________________________________|
| |
| IFDEF Ё¬п |
|__________________________________________|
| |
| IFNDEF Ё¬п |
|__________________________________________|
| |
| IFB < аЈг¬Ґв> |
|__________________________________________|
| |
| IFNB < аЈг¬Ґв> |
|__________________________________________|
| |
| IFIDN < аЈг¬Ґв-1>,< аЈг¬Ґв-2> |
|__________________________________________|
| |
| IFDIF < аЈг¬Ґв-2>,< аЈг¬Ґв-2> |
|__________________________________________|
‚ б«гз Ґ ¤ЁаҐЄвЁўл IF Ў«®Є бᥬЎ«ЁагҐвбп, Ґб«Ё
гЄ § ®Ґ ўла ¦ҐЁҐ ЁбвЁ® (Ґ г«м). „«п ¤ЁаҐЄвЁўл IFE
Ў«®Є бᥬЎ«ЁагҐвбп, Ґб«Ё ўла ¦ҐЁҐ «®¦® (г«м). ‚ла ¦ҐЁҐ
¤®«¦® Ё¬Ґвм Ўб®«о⮥ § 票Ґ Ё Ґ ¬®¦Ґв ᮤҐа¦ вм
ббл«®Є ўЇҐаҐ¤.
„ЁаҐЄвЁўл IF1 Ё IF2 Їа®ўҐапов ®¬Ґа Їа®е®¤ бᥬЎ«Ґа
- 18 -
Ё ®ЎҐбЇҐзЁў ов ®Ўа Ў®вЄг Ў«®Є в®«мЄ® 1-¬ (IF1) Ё«Ё
в®«мЄ® 2-¬ (IF2) Їа®е®¤Ґ.
ЏаЁ¬Ґа (ўл¤ з б®®ЎйҐЁ© Є®б®«м):
IF1
%OUT Pass 1
ELSE
%OUT Pass 2
ENDIF
„ЁаҐЄвЁўл IFDEF Ё IFNDEF Їа®ўҐапов, ®ЇаҐ¤Ґ«Ґ® «Ё ў
Їа®Ја ¬¬Ґ гЄ § ®Ґ Ё¬п. IFDEF ®ЎҐбЇҐзЁў Ґв бᥬЎ«Ёа®ў ЁҐ,
Ґб«Ё нв® Ё¬п ®ЇаҐ¤Ґ«Ґ® Є Є ¬ҐвЄ , ЇҐаҐ¬Ґ п Ё«Ё бЁ¬ў®«,
IFNDEF - Ґб«Ё Ё¬п Ґ ®ЇаҐ¤Ґ«Ґ®. ‡ ¬ҐвЁ¬, зв® Ґб«Ё ў
Є зҐб⢥ Ё¬ҐЁ § ¤ ббл«Є ўЇҐаҐ¤, ® бзЁв Ґвбп
Ґ®ЇаҐ¤Ґ«Ґ®© 1-¬ Їа®е®¤Ґ Ё ®ЇаҐ¤Ґ«Ґ®© 2-¬.
€¬Ґ ¬®¦® ®ЇаҐ¤Ґ«пвм Ґ в®«мЄ® гЄ § ЁҐ¬ Ёе ў
ᮮ⢥вбвўго饩 Ї®§ЁжЁЁ ЇаЁ ¬Ґ¬®ЁЄҐ ЁбвагЄжЁЁ Ё«Ё
¤ЁаҐЄвЁў е ®ЇаҐ¤Ґ«ҐЁп Ї ¬пвЁ, ® ў ®ЇжЁЁ бᥬЎ«Ґа /D, зв®
Ї®§ў®«пҐв гЇа ў«пвм б®бв ў®¬ бᥬЎ«Ёа㥬®© Їа®Ја ¬¬л ЎҐ§
Ё§¬ҐҐЁп Ёб室®Ј® д ©« .
„ЁаҐЄвЁўл IFB Ё IFNB Їа®ўҐапов § 票Ґ гЄ § ®Ј®
аЈг¬Ґв , ва Єв㥬®Ј® Є Є бва®Є бЁ¬ў®«®ў, Ё ўл§лў ов
бᥬЎ«Ёа®ў ЁҐ Ў«®Є , Ґб«Ё аЈг¬Ґв пў«пҐвбп Їа®ЎҐ«®¬ (IFB)
Ё«Ё ®в«ЁзҐ ®в Їа®ЎҐ« (IFNB). ЂаЈг¬Ґв ¬®¦Ґв Ўлвм Ё¬ҐҐ¬,
зЁб«®¬ Ё«Ё ўла ¦ҐЁҐ¬. ‘Є®ЎЄЁ < Ё > ®Ўп§ ⥫мл.
„ЁаҐЄвЁўл IFB Ё IFNB ўўҐ¤Ґл ¤«п ЁбЇ®«м§®ў Ёп Ёе ў
¬ Єа®®ЇаҐ¤Ґ«ҐЁпе, Ј¤Ґ ®Ё ¬®Јгв гЇа ў«пвм гб«®ўл¬
бᥬЎ«Ёа®ў ЁҐ¬, ®б®ўлў пбм ⮬, § ¤ Ё«Ё Ґв Ї а ¬Ґва
¬ Єа®®ЇаҐ¤Ґ«ҐЁп. ‚ н⮬ б«гз Ґ ў Є зҐб⢥ аЈг¬Ґв б«Ґ¤гҐв
§ ¤ ў вм ®¤Ё Ё§ д®а¬ «мле Ї а ¬Ґва®ў ¬ Єа®®ЇаҐ¤Ґ«ҐЁп.
„ЁаҐЄвЁўл IFDIF Ё IFIDN ба ўЁў ов бЇҐжЁдЁжЁа®ў лҐ
¤«п Ёе аЈг¬Ґвл, Є®в®алҐ ва Євговбп Є Є бЁ¬ў®«млҐ бва®ЄЁ
(б гзҐв®¬ ॣЁбва ), Ё ўл§лў ов бᥬЎ«Ёа®ў ЁҐ Ў«®Є ЇаЁ Ёе
Ё¤ҐвЁз®бвЁ (IFIDN) Ё«Ё ҐЁ¤ҐвЁз®бвЁ (IFDIF). ЂаЈг¬Ґвл
¬®Јгв Ўлвм Ё¬Ґ ¬Ё, зЁб« ¬Ё Ё«Ё ўла ¦ҐЁп¬Ё. ‘Є®ЎЄЁ < Ё >
®Ўп§ ⥫мл. ЂаЈг¬Ґвл а §¤Ґ«повбп § Їпв®©.
„ЁаҐЄвЁўл IFDIF Ё IFIDN ўўҐ¤Ґл ¤«п ЁбЇ®«м§®ў Ёп Ёе ў
¬ Єа®®ЇаҐ¤Ґ«ҐЁпе, Ј¤Ґ ®Ё ¬®Јгв гЇа ў«пвм гб«®ўл¬
бᥬЎ«Ёа®ў ЁҐ¬, «Ё§Ёагп § зҐЁп ЇҐаҐ¤ ў Ґ¬ле ў
¬ Єа®®ЇаҐ¤Ґ«ҐЁҐ Ї а ¬Ґва®ў. ‚ н⮬ б«гз Ґ ў Є зҐб⢥
аЈг¬Ґв®ў б«Ґ¤гҐв § ¤ ў вм д®а¬ «млҐ Ї а ¬Ґвал
¬ Єа®®ЇаҐ¤Ґ«ҐЁп.
4.2. „ЁаҐЄвЁўл гб«®ў®© ЈҐҐа жЁЁ ®иЁЎ®Є.
€бЇ®«м§®ў ЁҐ ¤ЁаҐЄвЁў гб«®ў®© ЈҐҐа жЁЁ ®иЁЎ®Є
Ї®§ў®«пҐв Є®ва®«Ёа®ў вм бЁвг жЁЁ, Ґ 襤訥 ®ва ¦ҐЁп ў
- 19 -
бЁв ЄбЁбҐ п§лЄ бᥬЎ«Ґа . Ќ ЇаЁ¬Ґа, ЇаЁ Ї®¬®йЁ в Є®©
¤ЁаҐЄвЁўл ¬®¦® ўл§ў вм ЈҐҐа жЁо б®®ЎйҐЁп ®Ў ®иЁЎЄҐ Ё,
ᮮ⢥вб⢥®, гбв ®ўЄг ¬ЁЁ¬ «м®Ј® Є®¤ ў®§ўа в
ва б«пв®а ў б«гз Ґ ЁбЇ®«м§®ў Ёп ॣЁбва AX, зв® б в®зЄЁ
§аҐЁп бЁв ЄбЁб Ґ пў«пҐвбп ®иЁЎЄ®©, ® ¬®¦Ґв Ўлвм
Ґ¤®ЇгбвЁ¬® Ї® «®ЈЁЄҐ Їа®Ја ¬¬л.
ЋЎа Ў®вЄ «оЎ®© ¤ЁаҐЄвЁўл гб«®ў®© ЈҐҐа жЁЁ ®иЁЎ®Є,
Єа®¬Ґ .ERR1, б ЁбвЁл¬ гб«®ўЁҐ¬ нЄўЁў «Ґв а бЇ®§ ў Ёо
д в «м®© ®иЁЎЄЁ (б Є®¤®¬ ў®§ўа в 7), ЇаЁ Є®в®а®© MASM
гЁз⮦ Ґв ®ЎкҐЄвл© д ©«.
”®а¬ вл ¤ЁаҐЄвЁў Ё ᮮ⢥вбвўгойЁҐ Ё¬ б®®ЎйҐЁп MASM
ЇаЁўҐ¤Ґл ў в Ў«ЁжҐ 4.2.
’ Ў«Ёж 4.2. „ЁаҐЄвЁўл гб«®ў®© ЈҐҐа жЁЁ ®иЁЎ®Є.
____________________________________________________________
| | |
| ‘Ёв ЄбЁб | Ќ®¬Ґа Ё ⥪бв б®®ЎйҐЁп |
|___________________|______________________________________|
| | |
| .ERR1 | 87 Forced error - pass 1 |
|___________________|______________________________________|
| | |
| .ERR2 | 88 Forced error - pass 2 |
|___________________|______________________________________|
| | |
| .ERR | 89 Forced error |
|___________________|______________________________________|
| | |
| .ERRE ўла ¦ҐЁҐ | 90 Forced error - expression equals 0|
|___________________|______________________________________|
| | |
| .ERRNZ ўла ¦ҐЁҐ | 91 Forced error - expression not |
| | equals 0 |
|___________________|______________________________________|
| | |
| .ERRNDEF Ё¬п | 92 Forced error - symbol not defined |
|___________________|______________________________________|
| | |
| .ERRDEF Ё¬п | 93 Forced error - symbol defined |
|___________________|______________________________________|
| | |
| .ERRB <бва®Є > | 94 Forced error - string blank |
|___________________|______________________________________|
| | |
| .ERRNB <бва®Є > | 95 Forced error - string not blank |
|___________________|______________________________________|
| | |
| .ERRIDN <бва®- | 96 Forced error - strings identical |
| Є -1>,<бва®Є -2> | |
|___________________|______________________________________|
| | |
| .ERRDIF <бва®- | 97 Forced error - strings different |
| Є -2>,<бва®Є -2> | |
|___________________|______________________________________|
- 20 -
„ЁаҐЄвЁў .ERR ®ЎҐбЇҐзЁў Ґв ЎҐ§гб«®ўго ЈҐҐа жЁо
б®®ЎйҐЁп ®Ў ®иЁЎЄҐ. „ЁаҐЄвЁўл .ERR1 Ё .ERR2 в Є¦Ґ
ЎҐ§гб«®ў® ў®§¤Ґ©бвўгов ᮮ⢥вб⢥® «Ёим 1-© Ё 2-©
Їа®е®¤ ва б«пв®а . „ЁаҐЄвЁў .ERR1 ўл§лў Ґв Ґ д в «мго
®иЁЎЄг, ЇаҐ¤гЇаҐ¦¤ҐЁҐ.
„ЁаҐЄвЁўл .ERRNZ Ё .ERRE ўлзЁб«пов § 票Ґ гЄ § ®Ј®
ўла ¦ҐЁп Ё ®ЎҐбЇҐзЁў ов Ї®пў«ҐЁҐ б®®ЎйҐЁп ®Ў ®иЁЎЄҐ
ᮮ⢥вб⢥® ў б«гз Ґ ЁбвЁ®бвЁ (1) Ё«Ё «®¦®бвЁ (0)
нв®Ј® ўла ¦ҐЁп.
„ЁаҐЄвЁў .ERRDEF ®ЎҐбЇҐзЁў Ґв Ї®пў«ҐЁҐ д в «м®©
®иЁЎЄЁ, Є®Ј¤ гЄ § ®Ґ Ё¬п ®ЇаҐ¤Ґ«Ґ® ў Їа®Ја ¬¬Ґ Є Є
¬ҐвЄ , ЇҐаҐ¬Ґ п Ё«Ё бЁ¬ў®«, ¤ЁаҐЄвЁў .ERRNDEF - Є®Ј¤
Ё¬п ҐйҐ Ґ ®ЇаҐ¤Ґ«Ґ®. …б«Ё нв® Ё¬п пў«пҐвбп ббл«Є®© ўЇҐаҐ¤,
®® бзЁв Ґвбп Ґ®ЇаҐ¤Ґ«Ґл¬ 1-¬ Їа®е®¤Ґ Ё ®ЇаҐ¤Ґ«Ґл¬
2-¬. ќвЁ ¤ЁаҐЄвЁўл а Ў®в ов 1-¬ Їа®е®¤Ґ.
„ЁаҐЄвЁўл .ERRB Ё .ERRNB «Ё§Ёагов гЄ § го бва®Єг
Ё ®ЎҐбЇҐзЁў ов ЈҐҐа жЁо б®®ЎйҐЁп ®Ў ®иЁЎЄҐ, Ґб«Ё нв
бва®Є ᮮ⢥вб⢥® ᮤҐа¦Ёв ўбҐ Їа®ЎҐ«л Ё«Ё Ґв.
„ЁаҐЄвЁўл .ERRIDN Ё .ERRDIF ўл§лў ов Ї®пў«ҐЁҐ
д в «м®© ®иЁЎЄЁ, Ґб«Ё гЄ § лҐ бва®ЄЁ ᮮ⢥вб⢥®
Ё¤ҐвЁзл Ё«Ё а §«Ёзл.
Соседние файлы в папке cистема программирования на макроассемблере ms-dos, cправочное руководство