Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы по СП (1-20) / 02 / AFD-init
.txt ЏаЁ«®¦ҐЁҐ. ‡ Є®¬бвў® б ®в« ¤зЁЄ®¬
-----------------------------------
ЂбᥬЎ«Ёа®ў ЁҐ Ё ®в« ¤Є Ј®в®ўле Їа®Ја ¬¬
‡ Є®¬бвў® б вгаЎ®- бᥬЎ«Ґа®¬ Ё жЁЄ«®¬ ᮧ¤ Ёп бᥬЎ«Ґа®© Їа®Ја ¬¬л
„Ґ¬®бва жЁ® п Їа®Ја ¬¬ HELLO.ASM
ЂбᥬЎ«Ёа®ў ЁҐ Їа®Ја ¬¬л. Љ«озЁ Є®¬ ¤®© бва®ЄЁ
ђ Ў®в б ®в« ¤зЁЄ®¬ AFDPror (Ё«Ё AFDPro)
ђ Ў®в ¤ бЁв ЄвЁзҐбЄЁ¬Ё ®иЁЎЄ ¬Ё ЇаЁ бᥬЎ«Ёа®ў ЁЁ Їа®Ја ¬¬л
‡ Є®¬бвў® б вгаЎ®- бᥬЎ«Ґа®¬ Ё жЁЄ«®¬ ᮧ¤ Ёп бᥬЎ«Ґа®© Їа®Ја ¬¬л
’гаЎ®- бᥬЎ«Ґа
Ќ ЁЎ®«ҐҐ Ї®Їг«пал г Їа®Ја ¬¬Ёбв®ў п§лЄҐ бᥬЎ«Ґа ¤«п Їа®жҐбб®а®ў Intel
¤ў Ї ЄҐв :
1) ¬ Єа® бᥬЎ«Ґа Masm дЁа¬л Microsoft
2) Turbo Assembler дЁа¬л Borland - Tasm, Ї®¤¤Ґа¦Ёў ойЁ© ¤ў ०Ё¬ а Ў®вл:
- Masm (Ї® 㬮«з Ёо), б®ў¬ҐбвЁ¬л© б ¬ Єа® бᥬЎ«Ґа®¬ дЁа¬л Microsoft
- Ideal - ०Ё¬ г«гз襮Ј® бЁв ЄбЁб дЁа¬л Borland.
‡¤Ґбм ЇаҐ¤Ї®« Ј Ґвбп ЁбЇ®«м§®ў ЁҐ 16-ЎЁв®ў®© ўҐабЁЁ Ї ЄҐв Borland Tasm -
ЇаЁ¬Ґа, Tasm 2.0.
ђ §а Ў®вЄ Їа®Ја ¬¬л п§лЄҐ бᥬЎ«Ґа бЄ« ¤лў Ґвбп Ё§ зҐвлаҐе нв Ї®ў.
1 - Ї®¤Ј®в®ўЄ Ёб室®Ј® ⥪бв Їа®Ја ¬¬л Ё ®д®а¬«ҐЁҐ ҐЈ® ў ўЁ¤Ґ ⥪бв®ў®Ј®
д ©« (®¤®Ј® Ё«Ё ҐбЄ®«мЄЁе) б Ї®¬®ймо ⥪бв®ў®Ј® । Єв®а ў д®а¬ ⥠DOS - б
а биЁаҐЁҐ¬ ASM.
2 - бᥬЎ«Ёа®ў ЁҐ Їа®Ја ¬¬л б ЇаЁ¬ҐҐЁҐ¬ бᥬЎ«Ґа Tasm, १г«мв ⮬ 祣®
Ўг¤Ґв ®ЎкҐЄвл© д ©« б а биЁаҐЁҐ¬ OBJ. …б«Ё Їа®Ја ¬¬ б®бв®Ёв Ё§ ҐбЄ®«мЄЁе
д ©«®ў (¬®¤г«Ґ©), ®Ё бᥬЎ«Ёаговбп Ґ§ ўЁбЁ¬®. …б«Ё ЇаЁ бᥬЎ«Ёа®ў ЁЁ
®Ў аг¦Ёў овбп ®иЁЎЄЁ, в® ®ЎкҐЄвл© д ©« Ґ ᮧ¤ Ґвбп, ўл¤ Ґвбп б®®ЎйҐЁҐ ®Ў
®иЁЎЄ е. Џ® гбва ҐЁЁ ®иЁЎ®Є бᥬЎ«Ёа®ў ЁҐ 㦮 Ї®ўв®аЁвм. ЋЎкҐЄвл© д ©«
(¤ў®Ёз®-Є®¤Ёа®ў ®Ґ ЇаҐ¤бв ў«ҐЁҐ Їа®Ја ¬¬л) Ґ ¬®¦Ґв ЁбЇ®«пвмбп, в Є Є Є Ґ
ᮤҐа¦Ёв Ёд®а¬ жЁЁ ® § Јаг§ЄҐ ᥣ¬Ґв®ў Їа®Ја ¬¬л ў Ї ¬пвм Є®¬ЇмовҐа .
3 - Є®¬Ї®®ўЄ Їа®Ја ¬¬л ўлЇ®«пҐвбп Є®¬Ї®®ўйЁЄ®¬ (। Єв®а®¬ бўп§Ґ©) Turbo
Linker Ё § Є«оз Ґвбп ў ¤®а Ў®вЄҐ ®ЎкҐЄв®Ј® д ©« ¤® ЁбЇ®«пҐ¬®© д®а¬л б
§ 票Ґ¬ бв ав®ў®Ј® ¤аҐб Їа®Ја ¬¬л. ЏаЁ Є®¬Ї®®ўЄҐ Їа®Ја ¬¬л Ё§ ҐбЄ®«мЄЁе
з б⥩ Є®¬Ї®®ўйЁЄ ®ЎкҐ¤ЁпҐв ®ЎкҐЄвлҐ ¬®¤г«Ё ў ®¤Ё ЁбЇ®«пҐ¬л© д ©«.
€бЇ®«пҐ¬л© д ©« ®Ўлз® Ё¬ҐҐв а биЁаҐЁҐ EXE.
4 - ®в« ¤ЄҐ Їа®Ја ¬¬л б ЁбЇ®«м§®ў ЁҐ¬ ®в« ¤зЁЄ AFDPRO, Є®в®ал© Ўг¤Ґв ў ¦л¬
Ёбва㬥⮬ ЇаЁ Їа®ўҐаЄҐ Ё ®в« ¤ЄҐ Їа®Ја ¬¬. ќв®в нв Ї Ґ ўбҐЈ¤ 㦥 Ё
вॡгҐвбп ЇаЁ ®Ў а㦥ЁЁ ў Їа®Ја ¬¬Ґ Ґпўле ᥬ вЁзҐбЄЁе Ё «Ј®аЁв¬ЁзҐбЄЁе
®иЁЎ®Є, Ґ ®Ў аг¦Ёў Ґ¬ле бᥬЎ«Ґа®¬, «ЁЎ® ЇаЁ § ¤ зҐ Ёбб«Ґ¤®ў Ёп а Ў®вл
Їа®Ја ¬¬л.
Џгвм ўлЇ®«ҐЁп Є®¬ ¤л
…б«Ё ў ®вўҐв ЇаЁЈ« 襨Ґ DOS ўўҐбвЁ Є®¬ ¤г Ё«Ё Ё¬п ЁбЇ®«пҐ¬®Ј® д ©«
(¬®¦® ЎҐ§ а биЁаҐЁп) Ё ¦ вм Є« ўЁиг ўў®¤ (Enter), в® Їгвм Ї®ЁбЄ бЁб⥬®©
(Є®¬ ¤л¬ Їа®жҐбб®а®¬ COMMAND.COM) Ґ®Ўе®¤Ё¬®Ј® ®ЎкҐЄв Ўг¤Ґв в ЄЁ¬.
1. Џа®ўҐапҐвбп, Ґ ўўҐ¤Ґ® «Ё Ё¬п ўгв॥© Є®¬ ¤л DOS. …б«Ё в Є, Є®¬ ¤
Ўг¤Ґв ўлЇ®«Ґ .
2. Џа®ўҐапҐвбп ⥪гйЁ© Є в «®Ј ¤«п ®влбЄ Ёп Їа®Ја ¬¬®Ј® д ©« б Ё¬ҐҐ¬ Ё
а биЁаҐЁҐ¬ COM Ё § ⥬ EXE, Ё «Ёим § ⥬ Є®¬ ¤®Ј® д ©« б а биЁаҐЁҐ¬ BAT.
Ќ ©¤Ґл© д ©« ЁбЇ®«пҐвбп.
3. …б«Ё Ї®ЁбЄ Ї® ЇгЄв ¬ 1 Ё 2 ЎҐ§гбЇҐиҐ, в® бЁб⥬ зҐв Ї®ЁбЄ Ї® Їгвп¬,
§ ЇЁб л¬ ў д ©«Ґ AUTOEXEC.BAT, - ЇаЁ ҐЈ® «ЁзЁЁ.
4. …б«Ё ўбҐ Ї®ЁбЄЁ ЎҐ§гбЇҐил, в® ўлў®¤Ёвбп ᮮ⢥вбвўго饥 б®®ЎйҐЁҐ.
„Ґ¬®бва жЁ® п Їа®Ја ¬¬ HELLO.ASM
‡¤Ґбм ЇаҐ¤бв ў«Ґ ¤Ґ¬®бва жЁ® п Їа®Ја ¬¬ HELLO.ASM. Џ®¤а®Ў® ® Ґ
а §кпбпҐвбп, ® Ґ®Ўе®¤Ё¬л© ¬ЁЁ¬г¬ ᢥ¤ҐЁ© ¤ ў ҐҐ Є®¬¬Ґв аЁпе.
‡ ¬Ґз ЁҐ Ўг¤г饥: §¤Ґбм бᥬЎ«Ґа TASM ЁбЇ®«м§гҐв ЇаЁ а Ў®вҐ ०Ё¬ IDEAL.
TITLE "„Ґ¬®бва жЁ® п Їа®Ја ¬¬ HELLO.ASM"
IDEAL
MODEL small
STACK 256
DATASEG
Promt DB 'ќв® ўаҐ¬п Ї®б«Ґ Ї®«г¤п? („ /ЌҐв - Y/N)$'
GoodMorning DB 13,10,'„®Ўа®Ґ гва®!',13,10,'$'
GoodAfternoon DB 13,10,'‡¤а ўбвўг©вҐ!',13,10,'$'
NonSence DB 13,10,'—в®-зв®?',13,10,'$'
CODESEG
Start: MOV AX,@DATA ;“бв ®ўЄ ў DS ¤аҐб
MOV DS,AX ; ᥣ¬Ґв ¤ ле
MOV DX,OFFSET Promt ;‘®®ЎйҐЁҐ-§ Їа®б
MOV AH,9 ;Џ®¤Ј®в®ўЄ ўлў®¤ б®®ЎйҐЁп
INT 21H ;”гЄжЁп ўлў®¤ нЄа
MOV AH,1 ;Џ®¤Ј®в®ўЄ ўў®¤ бЁ¬ў®«
INT 21H ;”гЄжЁп ўў®¤ бЁ¬ў®« б Є« ўЁ вгал
CMP AL,'Y' ;ЃгЄў Y?
JZ Afternoon ;„ , ўаҐ¬п Ї®б«Ґ Ї®«г¤п
CMP AL,'N' ;ЃгЄў N?
JZ Morning ;ЌҐв, ўаҐ¬п ¤® Ї®«г¤п
MOV DX,OFFSET NonSence ;“Є § ЁҐ "—в®-зв®?"
JMP SHORT Disp
Afternoon:
MOV DX,OFFSET GoodAfternoon ;“Є § ЁҐ "‡¤а ўбвўг©вҐ"
JMP SHORT Disp
Morning:
MOV DX,OFFSET GoodMorning ;“Є § ЁҐ "„®Ўа®Ґ гва®"
Disp: MOV AH,9 ;Џ®¤Ј®в®ўЄ ўлў®¤ нЄа
INT 21H ;”гЄжЁп ўлў®¤ б®®ЎйҐЁп нЄа
Exit: MOV AX,4C00H ;Џ®¤Ј®в®ўЄ ўл室 Ё§ Їа®Ја ¬¬л
INT 21H ;”гЄжЁп ўл室 - ®бв ®ў Їа®Ја ¬¬л
END Start ;Љ®Ґж Їа®Ја ¬¬л / в®зЄ ўе®¤
ЂбᥬЎ«Ёа®ў ЁҐ Їа®Ја ¬¬л. Љ«озЁ Є®¬ ¤®© бва®ЄЁ
ђ бᬮваЁ¬ 室 бᥬЎ«Ёа®ў Ёп Їа®Ја ¬¬л ЇаЁ¬ҐаҐ Їа®бв®© ЁвҐа ЄвЁў®©
Їа®Ја ¬¬л Hello.asm. „«п бᥬЎ«Ёа®ў Ёп д ©« Hello.asm ў Є®¬ ¤®© бва®ЄҐ
㦮 Ўа вм TASM HELLO.ASM Ё ¦ вм Є« ўЁиг ўў®¤ . Џ®бЄ®«мЄг ®б®Ў®Ґ Ё¬п ¤«п
®ЎкҐЄв®Ј® д ©« Ґ § ¤ ®, Ўг¤Ґв ᮧ¤ ®ЎкҐЄвл© д ©« б ⥬ ¦Ґ Їа®Ја ¬¬л¬
Ё¬ҐҐ¬ - HELLO.OBJ. ђ биЁаҐЁҐ Ё¬ҐЁ д ©« ASM ўў®¤Ёвм Ґ вॡгҐвбп - TASM
ЇаЁЁ¬ Ґв ҐЈ® Ї® 㬮«з Ёо. Ќ нЄа Ґ Ї®пўЁвбп б«Ґ¤го饥:
Turbo Assembler Version 2.0 Copyright (C) 1988,1990 Borland International
Assembling file: Hello.asm
Error messages: None
Warning messages: None
Passes 1
Remaining memory: ***K
(Ќ ¬Ґб⥠ваҐе §ўҐ§¤®зҐЄ Ўг¤Ґв ўл¤ ®ЎкҐ¬ бў®Ў®¤®© ®ЇҐа вЁў®© Ї ¬пвЁ DOS.)
€§ б®®ЎйҐЁп б«Ґ¤гҐв, зв® бᥬЎ«Ёа®ў ЁҐ § ўҐа襮 ЎҐ§ ®иЁЎ®Є Ё ЇаҐ¤гЇаҐ¦¤ҐЁ©
Ґв.
‡ ¬Ґз Ёп:
1) ЏаҐ¤гЇаҐ¦¤ҐЁҐ - Ґ ®иЁЎЄ , ® ҐЈ® ЁЈ®аЁа®ў ЁҐ ¬®¦Ґв ЇаЁўҐбвЁ Є
ҐЇаЁпв®бвп¬ ў ¤ «мҐ©иҐ© а Ў®вҐ б Їа®Ја ¬¬®©, Ї®н⮬㠫гзиҐ бў®ҐўаҐ¬Ґ®
®вॠЈЁа®ў вм ҐЈ®.
2) …б«Ё ЁбЇ®«м§®ў вм ¤агЈ®Ґ Ё¬п Їа®Ја ¬¬л, б®®ЎйҐЁп нЄа Ґ ᮮ⢥вб⢥®
Ё§¬Ґпвбп.
„«п Є®¬Ї®®ўЄЁ Їа®Ја ¬¬л 㦮 ўўҐбвЁ ў Є®¬ ¤го бва®Єг TLINK HELLO.OBJ. ‡¤Ґбм
а биЁаҐЁҐ Ё¬ҐЁ OBJ ⮦Ґ Ґ ®Ўп§ ⥫м®. Џ® § ўҐа襨Ё Є®¬Ї®®ўЄЁ Ўг¤Ґв
бд®а¬Ёа®ў д ©« HELLO.EXE б ўлў®¤®¬ нЄа б®®ЎйҐЁп
Turbo Linker Version 3.0 Copyright (C) 1987,1990 Borland International
’ҐЇҐам Їа®Ја ¬¬г HELLO.EXE ¬®¦® § ЇгбвЁвм. ђҐ§г«мв ⮬ ЁбЇ®«ҐЁп Ўг¤Ґв ўлў®¤
нЄа б®®ЎйҐЁп:
ќв® ўаҐ¬п Ї®б«Ґ Ї®«г¤п? („ /ЌҐв - Y/N)
Љгаб®а Ўг¤Ґв ¬Ґаж вм Ї®б«Ґ Ї®б«Ґ¤ҐЈ® бЁ¬ў®« ў ®¦Ё¤ ЁЁ ®вўҐв . ‚ўҐ¤ЁвҐ ЎгЄўг
Y. Џа®Ја ¬¬ ®вўҐвЁв:
‡¤а ўбвўг©вҐ!
…б«Ё Ўг¤Ґв ўўҐ¤Ґ ЎгЄў N, Їа®Ја ¬¬ ®вўҐвЁв:
„®Ўа®Ґ гва®!
…б«Ё Ўг¤Ґв ўўҐ¤Ґ Є Є п-в® ¤агЈ п ЎгЄў , Їа®Ја ¬¬ ®вўҐвЁв:
—в®-зв®?
‚Ё¬ ЁҐ! ЃгЄўл Y Ё N 㦮 ўў®¤Ёвм ў ўҐа奬 ॣЁбвॠ- Є Є Їа®ЇЁблҐ. € зҐ
®вўҐв®¬ ўбҐЈ¤ Ўг¤Ґв '—в®-зв®?'.
‚ 室Ґ бᥬЎ«Ёа®ў Ёп Ё«Ё Є®¬Ї®®ўЄЁ ¬®¦® ўлЎЁа вм а §«ЁзлҐ ®б®ЎҐ®бвЁ Ёе
ЁбЇ®«ҐЁп, зв® § ¤ Ґвбп Є«оз ¬Ё ў Є®¬ ¤®© бва®ЄҐ Tasm Ё«Ё Tlink. „«п ўлў®¤
бЇЁбЄ Є«о祩 Є®¬ ¤®© бва®ЄЁ 㦮 Ўа вм Їа®бв® TASM «ЁЎ® TLINK Ё ¦ вм
ўў®¤.
Љ«озЁ § ЇЁблў овбп ў ўЁ¤Ґ ®¤®© Ё«Ё ҐбЄ®«мЄЁе ЎгЄў. „«п § ¤ Ёп Є«оз 㦮
Ўа вм Є®бго зҐавг (Ё«Ё ¤ҐдЁб) Ё г¦го ЎгЄўг ¬Ґ¦¤г Є®¬ ¤®© TASM «ЁЎ® TLINK Ё
Ё¬ҐҐ¬ Їа®Ја ¬¬л, Є®в®а п бᥬЎ«ЁагҐвбп «ЁЎ® Є®¬Ї®гҐвбп. Ќ ЇаЁ¬Ґа, ¤«п
бᥬЎ«Ёа®ў Ёп Їа®Ја ¬¬л HELLO.ASM Ё Ї®«г票п д ©« б а бЇҐз вЄ®©
(«ЁбвЁЈ®¬), Ј¤Ґ ᮤҐа¦Ёвбп ®ЇЁб ЁҐ 室 бᥬЎ«Ёа®ў Ёп, 㦮 ўўҐбвЁ
Є®¬ ¤г: TASM /L HELLO. Љ®¬ ¤л Ё Є«озЁ ¬®¦® ЎЁа вм Їа®ЇЁбл¬Ё Ё бва®зл¬Ё
ЎгЄў ¬Ё.
€бЇ®«ЁвҐ нвг Є®¬ ¤г Ё § ⥬ а бᬮваЁвҐ д ©« HELLO.LST. ‚ а бЇҐз вЄҐ Є ¦¤ п
бва®Є зЁ Ґвбп б ®¬Ґа , § ⥬ б«Ґ¤гов Ў ©вл ®ЎкҐЄв®Ј® Є®¤ Ё б®Ўб⢥®
бва®Є Їа®Ја ¬¬л. Ља®¬Ґ в®Ј®, TASM ўлў®¤Ёв ў н⮬ д ©«Ґ в Ў«Ёжг
Ё¤ҐвЁдЁЄ в®а®ў, Ј¤Ґ ᮤҐа¦Ёвбп Ёд®а¬ жЁп ® ¬ҐвЄ е Ё ᥣ¬Ґв е, ўЄ«оз п
§ 票Ґ Ё вЁЇ Є ¦¤®© ¬ҐвЄЁ Ё ваЁЎгвл Є ¦¤®Ј® ᥣ¬Ґв . ЏаЁ бᥬЎ«Ёа®ў ЁЁ
Їа®Ја ¬¬л ¬®¦® ЁбЇ®«м§®ў вм ў ®¤®© Є®¬ ¤®© бва®ЄҐ ҐбЄ®«мЄ® Є«о祩,
а §¤Ґ«пп Ёе Є®бл¬Ё зҐав ¬Ё.
ЌҐЄ®в®алҐ ЇаЁ¬Ґал ¤«п Є®¬ ¤л TASM:
TASM /L /C HELLO - Є®¬ ¤ ¤®Ї®«пҐв д ©« а бЇҐз вЄЁ в Ў«ЁжҐ© ЇҐаҐЄаҐбвле
ббл«®Є, гЄ §лў о饩, Ј¤Ґ ®ЇаҐ¤Ґ«Ґ Є ¦¤ п ¬ҐвЄ Ё Ј¤Ґ ҐҐ Ґбвм ббл«Є ;
TASM /L /N HELLO - ЁбЄ«оз Ґв в Ў«Ёжг Ё¤ҐвЁдЁЄ в®а®ў Ё§ а бЇҐз вЄЁ;
TASM /ML HELLO - ўЄ«оз Ґв а §«ЁзҐЁҐ Їа®ЇЁбле Ё бва®зле бЁ¬ў®«®ў ў
Ё¤ҐвЁдЁЄ в®а е;
TASM /ZI HELLO - Є®¬ ¤ ¤®Ў ў«пҐв ў HELLO.OBJ Ёд®а¬ жЁо, Ґ®Ўе®¤Ё¬го ¤«п
ЁбЇ®«м§®ў Ёп ®в« ¤зЁЄ .
„«п Є®¬ ¤л TLINK:
TLINK/M HELLO - Є«оз /M ЇаЁў®¤Ёв Є ᮧ¤ Ёо д ©« ®в®Ўа ¦ҐЁп Ё«Ё д ©«
§ Јаг§ЄЁ HELLO.MAP, Ј¤Ґ ЇҐаҐзЁб«повбп Ё¬Ґ , ¤аҐб § Јаг§ЄЁ Ё а §¬Ґал ўбҐе
ᥣ¬Ґв®ў, ўе®¤пйЁе ў Їа®Ја ¬¬г;
TLINK /X /V HELLO - Є®¬ ¤ Ї®§ў®«пҐв § Јаг§Ёвм HELLO.EXE ў ®в« ¤зЁЄ, § ЇаҐй п
ᮧ¤ ЁҐ (Є«оз /X) д ©« ®в®Ўа ¦ҐЁп.
TLINK /T <FILE_NAME.OBJ> - Є«оз /T ®ЎҐбЇҐзЁў Ґв ᮧ¤ ЁҐ д ©« вЁЇ COM.
‚Ё¬ ЁҐ: Їа®Ја ¬¬ вЁЇ COM вॡгҐв ®б®Ў®© ®аЈ Ё§ жЁЁ, Ё Ґб«Ё нв®в Є«оз
ЁбЇ®«м§®ў вм ҐЄбв вЁ, १г«мвЁагой п Їа®Ја ¬¬ «ЁЎ® Ґ Ўг¤Ґв ᮧ¤ , «ЁЎ®
Ўг¤Ґв Ґа Ў®в®бЇ®б®Ў .
Ћв« ¤зЁЄ ¬®¦® ЁбЇ®«м§®ў вм Ё Є®Ј¤ Є«озЁ, гЄ § лҐ Є Є Ї®«Ґ§лҐ ¤«п ҐЈ®, Ґ
гЄ §лў «Ёбм. Ќ® ЇаЁ ¤®Ў®бвЁ ®в« ¤ЄЁ Ёе «гзиҐ ЁбЇ®«м§®ў вм.
ђ Ў®в б ®в« ¤зЁЄ®¬ AFDPror (Ё«Ё AFDPro)
Debugger AFDPror - AFDPROR.EXE
Tasm 㬥Ґв бᥬЎ«Ёа®ў вм бЁв ЄвЁзҐбЄЁ Їа ўЁ«млҐ Їа®Ја ¬¬л, ® 'Ґ Ї®Ё¬ Ґв',
зв® Ё¬Ґ® нвЁ Їа®Ја ¬¬л ¤Ґ« ов. — бв® Їа®Ја ¬¬ а Ў®в Ґв Ґ в Є, Є Є ¤®«¦
Ўл а Ў®в вм. ‚ в Є®© бЁвг жЁЁ ¬®¦Ґв Ї®¬®зм Їа®Ја ¬¬ -®в« ¤зЁЄ, ЇаҐ¤ § зҐ п
¤«п Ї®ЁбЄ Ё ЁбЇа ў«ҐЁп «®ЈЁзҐбЄЁе (ᥬ вЁзҐбЄЁе) ®иЁЎ®Є. Џ®¤®Ў® ўбҐ¬
®в« ¤зЁЄ ¬, AFDPror ¬®¦Ґв а Ў®в вм ў ०Ё¬Ґ бгЇҐаўЁ§®а , ЎҐап ᥡп
гЇа ў«ҐЁҐ Їа®Ја ¬¬®© ў ०Ё¬Ґ Ї®и Ј®ў®Ј® (Ї®Є®¬ ¤®Ј®) ЁбЇ®«ҐЁп Є®¤
Їа®Ја ¬¬л. ЏаЁ н⮬ ¬®¦® Ё§¬Ґпвм § зҐЁп ®ЇҐа ¤®ў ў Ї ¬пвЁ, § 票п
ॣЁбва®ў Ё д« Ј®ў.
ѓ®апзЁҐ Є« ўЁиЁ - ўбҐ ў бва®ЄҐ-Ї®¤бЄ §ЄҐ (®ЎҐбЇҐзЁў ов ЇҐаҐе®¤ Ї® ®Є ¬ Ё Їа.)
Љ®¬ ¤л - ЎЁа овбп ў бва®ЄҐ "CMD >" Ё ¦Ё¬ Ґвбп Є« ўЁи ўў®¤ (Enter):
QUIT - ўл©вЁ Ё§ Їа®Ја ¬¬л
PD addr, length, filename - Ї а ¬Ґвал addr Ё length бгвм иҐбв ¤ж вҐаЁзлҐ
¤аҐб (000 Ё«Ё 100 ЎҐ§ ЎгЄўл H ў Є®жҐ) Ё ¤«Ё ¤Ёб бᥬЎ«Ёа㥬®Ј® Є®¤ ў
Ў ©в е (¤® ffff ЎҐ§ ЎгЄўл H ў Є®жҐ)
filename - Ё¬п д ©« , ў Є®в®ал© Ўг¤Ґв б®еа Ґ १г«мв в ¤Ёб бᥬЎ«Ёа®ў Ёп
( ЇаЁ¬Ґа, list.txt).
G start_addr, break_addr - Ј¤Ґ start_addr Ґбвм ¤аҐб ЇҐаҐе®¤ Є®¤
вҐбвЁа㥬®© Їа®Ја ¬¬л, break_addr - ¤аҐб ЇҐаў®Ј® ®бв ®ў .
Ћбв «млҐ Є®¬ ¤л ¬®¦® ©вЁ, ўл§ў ў ®Є® Ї®¬®йЁ F4. ЏаҐаў вм ўлЇ®«ҐЁҐ
Їа®Ја ¬¬л ¬®¦® ¦ вЁҐ¬ Є« ўЁи Ctrl-Esc.
„«п ®§ Є®¬«ҐЁп б а Ў®в®© ®в« ¤зЁЄ ЇаЁ Ё§г票Ё п§лЄ бᥬЎ«Ґа Ёбб«Ґ¤гҐ¬
Їа®Ја ¬¬г HELLO Ї®¤ ҐЈ® гЇа ў«ҐЁҐ¬. ‘®ў ўлЇ®«Ё¬ бᥬЎ«Ёа®ў ЁҐ Ё
Є®¬Ї®®ўЄг Їа®Ја ¬¬л б Є«оз ¬Ё, ¤®Ў ў«пойЁ¬Ё ®в« ¤®зго Ёд®а¬ жЁо ў д ©«л OBJ
Ё EXE:
TASM /ZI HELLO.ASM
TLINK /V HELLO.OBJ
AFDPROR HELLO.EXE
Џ®б«Ґ ўлЇ®«ҐЁп Ї®б«Ґ¤Ґ© Є®¬ ¤л нЄа Ґ Ї®пўЁвбп § бв ўЄ ®в« ¤зЁЄ . ЏаЁ
¦ вЁЁ «оЎ®© Є« ўЁиЁ ®® ᬥЁвбп а Ў®зЁ¬ ®Є®¬ ®в« ¤зЁЄ .
„«п ¤®бв в®з®Ј® ®бў®ҐЁп ®в« ¤зЁЄ б«Ґ¤гҐв ЁбЇ®«м§®ў вм вҐбв 'AFD-man'.
ђ Ў®в ¤ бЁв ЄвЁзҐбЄЁ¬Ё ®иЁЎЄ ¬Ё ЇаЁ бᥬЎ«Ёа®ў ЁЁ Їа®Ја ¬¬л
„ ¦Ґ ®ЇлвлҐ Їа®Ја ¬¬Ёбвл ¤Ґ« ов бЁв ЄвЁзҐбЄЁҐ ®иЁЎЄЁ ЇаЁ ЇЁб ЁЁ Їа®Ја ¬¬л.
ђ Ў®в ¤ ¤®ЇгйҐл¬Ё ў Їа®Ја ¬¬Ґ ®иЁЎЄ ¬Ё, Є Є Ё ЇЁб ЁҐ Їа®Ја ¬¬л,
вॡгҐв ЇаҐ¤ў аЁвҐ«м®Ј® § Є®¬бвў б® б«Ґ¤гойЁ¬Ё ў®Їа®б ¬Ё, Є®в®алҐ ўл室пв
§ а ¬ЄЁ а бᬮв२п:
- Їа ўЁ« § ЇЁбЁ бᥬЎ«Ґале бва®Є;
- Ї®«м§®ў ⥫мбЄЁҐ Ё б«г¦ҐЎлҐ Ё¤ҐвЁдЁЄ в®ал - Ё¬Ґ , ¬ҐвЄЁ, ЇҐаҐ¬ҐлҐ;
- д®а¬ вл ¤ ле Ё ¤ЁаҐЄвЁўл Ёе ®ЇаҐ¤Ґ«ҐЁп;
- ¬ Єа®®ЇаҐ¤Ґ«ҐЁп бЁ¬ў®«мле Є®бв в, ўла ¦ҐЁ© Ё бва®Є (¤ЁаҐЄвЁўл = Ё EQU);
- Є®бв влҐ Ё ¤аҐблҐ ўла ¦ҐЁп;
- ®ЎйҐҐ § Є®¬бвў® б Є®¬ ¤ ¬Ё Їа®жҐбб®а®ў i80x86.
‡¤Ґбм гЄ § ЇҐаҐзҐм б ¬ле з бвле ®иЁЎ®Є ЇаЁ ЇЁб ЁЁ ЇҐаўле Їа®Ја ¬¬.
ЋЎ а㦥ЁҐ нвЁе ®иЁЎ®Є Ўг¤Ґв ®в¬ҐзҐ® ЇаЁ бᥬЎ«Ёа®ў ЁЁ (б гЄ § ЁҐ¬ ®¬Ґа
бва®ЄЁ):
- ЁбЄ ¦Ґ® Ё¬п Є®¬ ¤л Ё«Ё ¤ЁаҐЄвЁўл;
- ®Їг饮 ¤ў®Ґв®зЁҐ ':' Ї®б«Ґ Ё¬ҐЁ ¬ҐвЄЁ;
- ҐЇа ўЁ«м® § ЇЁб Ї®«м§®ў ⥫мбЄЁ© Ё¤ҐвЁдЁЄ в®а;
- ў Є зҐб⢥ ®ЇҐа в®а гЄ § Ґ®ЇаҐ¤Ґ«Ґл© а ҐҐ Ё¤ҐвЁдЁЄ в®а;
- ЁбЇ®«м§®ў ® Ё¬п б«г¦ҐЎ®Ј® Ё¤ҐвЁдЁЄ в®а ў Є зҐб⢥ Ї®«м§®ў ⥫мбЄ®Ј®;
- § 票Ґ ЁЁжЁ «Ё§Ёа㥬®© Є®бв вл ЇаҐўли Ґв ¤®ЇгбвЁ¬го ўҐ«ЁзЁг, ЇаЁ¬Ґа:
DB 400 ;400 > 255 - ¬ ЄбЁ¬ «м®Ј® § зҐЁп ў д®а¬ ⥠BYTE
- Ї®бв ў«Ґ § Їпв п ў Є®жҐ бЇЁбЄ н«Ґ¬Ґв®ў ЇаЁ ¬®¦Ґб⢥®© ЁЁжЁ «Ё§ жЁЁ,
ЇаЁ¬Ґа:
DW 1,3,5,400, - «Ёипп § Їпв п ў Є®жҐ бЇЁбЄ
- Ґв ЄагЈ«ле бЄ®Ў®Є ЇаЁ ®ЇҐа в®аҐ DUP, ЇаЁ¬Ґа:
DB 4 DUP 7 - ¤® "4 DUP (7)"
- ®иЁЎЄ ў ЇЁб ЁЁ Ё¬ҐЁ ¬®¤Ґ«Ё Ї ¬пвЁ, Ё«Ё Ґ гЄ § ¬®¤Ґ«м Ї ¬пвЁ ЇаЁ
ЁбЇ®«м§®ў ЁЁ гЇа®йҐле ¤ЁаҐЄвЁў;
- ®ЇгйҐ ®¤ Ё«Ё ®ЎҐ Єў ¤а влҐ бЄ®ЎЄЁ [], § Є«оз ойЁҐ ¤аҐб®Ґ ўла ¦ҐЁҐ ў
०Ё¬Ґ Ideal, ЇаЁ¬Ґа:
MOV AX, [BX+SI
(®иЁЎЄ - ᮤҐа¦Ё¬®Ґ Ї® ¤аҐбг BX+SI ®вЇа ўЁвм ў AX)
- Ґ б®ўЇ ¤ ов вЁЇл ®ЇҐа ¤®ў Є®¬ ¤л, ЇаЁ¬Ґа:
MOV AL,[VAR_W]
(®иЁЎЄ - а ҐҐ ЇҐаҐ¬Ґ п VAR_W ®ЇаҐ¤Ґ«Ґ ў д®а¬ ⥠WORD)
MOV AX,[VAR_B]
(®иЁЎЄ - а ҐҐ ЇҐаҐ¬Ґ п VAR_B ®ЇаҐ¤Ґ«Ґ ў д®а¬ ⥠BYTE)
- вॡгҐвбп пў® гЄ § вм вЁЇ ®ЇҐа ¤ , ЇаЁ¬Ґа:
MOV [BX],1
(®иЁЎЄ - ¤® пў® гЄ § вм вЁЇ п祩ЄЁ Ї ¬пвЁ: [BYTE BX] Ё«Ё [WORD BX]).
- ®ЇҐа ¤ ў ⥪г饩 ЁбвагЄжЁЁ Ґ ¬®¦Ґв Ўлвм ббл«Є®© ¤аҐб Ї ¬пвЁ:
MOV [OPER_1],[OPER_2]
(Є®¬ ¤ MOV Ґ ¬®¦Ґв ЇҐаҐ¤ ў вм ¤ лҐ Ё§ ®¤®© п祩ЄЁ Ї ¬пвЁ ў ¤агЈго);
- Ґ¤®ЇгбвЁ¬л© аҐ¦Ё¬ ¤аҐб жЁЁ, ЇаЁ¬Ґа:
ADD [DX+SI],AX
(ॣЁбва DX Ґ«м§п ЁбЇ®«м§®ў вм ў Є®бўҐ®© ¤аҐб жЁЁ)
- Ґ¤®ЇгбвЁ¬ п Є®¬ ¤ ¤«п ўлЎа ®Ј® вЁЇ Їа®жҐбб®а (Ї® 㬮«з Ёо
ЁбЇ®«м§гҐвбп i8086);
- ¤аҐб § зҐЁп ў Є®¬ ¤Ґ гб«®ў®Ј® ЇҐаҐе®¤ ўҐ ¤®ЇгбвЁ¬®Ј® ¤«п Їа®жҐбб®а
i8086 ¤Ё Ї §® - Ґ ЇаЁ ¤«Ґ¦Ёв ЁвҐаў «г (-128, +127);
- ҐЇ ஥ ЁбЇ®«м§®ў ЁҐ ¤ЁаҐЄвЁўл ENDP, ЇаЁ¬Ґа:
PROC ADDITION
...........
ENDP SUBTRACTION
(®иЁЎЄ - ¤®«¦® Ўлвм гЄ § ® Ё¬п Їа®жҐ¤гал ADDITION). Ђ «®ЈЁзлҐ ®иЁЎЄЁ ¬®Јгв
Ї®пўЁвмбп ЇаЁ ЁбЇ®«м§®ў ЁЁ ¤агЈЁе Ї але ¤ЁаҐЄвЁў "SEGMENT <NAME> ... ENDS
<NAME>", "MACRO <NAME> .... ENDM <NAME>" Ё Їа.
- ў Є®жҐ Їа®Ја ¬¬л ®вбгвбвўгҐв ¤ЁаҐЄвЁў END.
-----------------------------------
ЂбᥬЎ«Ёа®ў ЁҐ Ё ®в« ¤Є Ј®в®ўле Їа®Ја ¬¬
‡ Є®¬бвў® б вгаЎ®- бᥬЎ«Ґа®¬ Ё жЁЄ«®¬ ᮧ¤ Ёп бᥬЎ«Ґа®© Їа®Ја ¬¬л
„Ґ¬®бва жЁ® п Їа®Ја ¬¬ HELLO.ASM
ЂбᥬЎ«Ёа®ў ЁҐ Їа®Ја ¬¬л. Љ«озЁ Є®¬ ¤®© бва®ЄЁ
ђ Ў®в б ®в« ¤зЁЄ®¬ AFDPror (Ё«Ё AFDPro)
ђ Ў®в ¤ бЁв ЄвЁзҐбЄЁ¬Ё ®иЁЎЄ ¬Ё ЇаЁ бᥬЎ«Ёа®ў ЁЁ Їа®Ја ¬¬л
‡ Є®¬бвў® б вгаЎ®- бᥬЎ«Ґа®¬ Ё жЁЄ«®¬ ᮧ¤ Ёп бᥬЎ«Ґа®© Їа®Ја ¬¬л
’гаЎ®- бᥬЎ«Ґа
Ќ ЁЎ®«ҐҐ Ї®Їг«пал г Їа®Ја ¬¬Ёбв®ў п§лЄҐ бᥬЎ«Ґа ¤«п Їа®жҐбб®а®ў Intel
¤ў Ї ЄҐв :
1) ¬ Єа® бᥬЎ«Ґа Masm дЁа¬л Microsoft
2) Turbo Assembler дЁа¬л Borland - Tasm, Ї®¤¤Ґа¦Ёў ойЁ© ¤ў ०Ё¬ а Ў®вл:
- Masm (Ї® 㬮«з Ёо), б®ў¬ҐбвЁ¬л© б ¬ Єа® бᥬЎ«Ґа®¬ дЁа¬л Microsoft
- Ideal - ०Ё¬ г«гз襮Ј® бЁв ЄбЁб дЁа¬л Borland.
‡¤Ґбм ЇаҐ¤Ї®« Ј Ґвбп ЁбЇ®«м§®ў ЁҐ 16-ЎЁв®ў®© ўҐабЁЁ Ї ЄҐв Borland Tasm -
ЇаЁ¬Ґа, Tasm 2.0.
ђ §а Ў®вЄ Їа®Ја ¬¬л п§лЄҐ бᥬЎ«Ґа бЄ« ¤лў Ґвбп Ё§ зҐвлаҐе нв Ї®ў.
1 - Ї®¤Ј®в®ўЄ Ёб室®Ј® ⥪бв Їа®Ја ¬¬л Ё ®д®а¬«ҐЁҐ ҐЈ® ў ўЁ¤Ґ ⥪бв®ў®Ј®
д ©« (®¤®Ј® Ё«Ё ҐбЄ®«мЄЁе) б Ї®¬®ймо ⥪бв®ў®Ј® । Єв®а ў д®а¬ ⥠DOS - б
а биЁаҐЁҐ¬ ASM.
2 - бᥬЎ«Ёа®ў ЁҐ Їа®Ја ¬¬л б ЇаЁ¬ҐҐЁҐ¬ бᥬЎ«Ґа Tasm, १г«мв ⮬ 祣®
Ўг¤Ґв ®ЎкҐЄвл© д ©« б а биЁаҐЁҐ¬ OBJ. …б«Ё Їа®Ја ¬¬ б®бв®Ёв Ё§ ҐбЄ®«мЄЁе
д ©«®ў (¬®¤г«Ґ©), ®Ё бᥬЎ«Ёаговбп Ґ§ ўЁбЁ¬®. …б«Ё ЇаЁ бᥬЎ«Ёа®ў ЁЁ
®Ў аг¦Ёў овбп ®иЁЎЄЁ, в® ®ЎкҐЄвл© д ©« Ґ ᮧ¤ Ґвбп, ўл¤ Ґвбп б®®ЎйҐЁҐ ®Ў
®иЁЎЄ е. Џ® гбва ҐЁЁ ®иЁЎ®Є бᥬЎ«Ёа®ў ЁҐ 㦮 Ї®ўв®аЁвм. ЋЎкҐЄвл© д ©«
(¤ў®Ёз®-Є®¤Ёа®ў ®Ґ ЇаҐ¤бв ў«ҐЁҐ Їа®Ја ¬¬л) Ґ ¬®¦Ґв ЁбЇ®«пвмбп, в Є Є Є Ґ
ᮤҐа¦Ёв Ёд®а¬ жЁЁ ® § Јаг§ЄҐ ᥣ¬Ґв®ў Їа®Ја ¬¬л ў Ї ¬пвм Є®¬ЇмовҐа .
3 - Є®¬Ї®®ўЄ Їа®Ја ¬¬л ўлЇ®«пҐвбп Є®¬Ї®®ўйЁЄ®¬ (। Єв®а®¬ бўп§Ґ©) Turbo
Linker Ё § Є«оз Ґвбп ў ¤®а Ў®вЄҐ ®ЎкҐЄв®Ј® д ©« ¤® ЁбЇ®«пҐ¬®© д®а¬л б
§ 票Ґ¬ бв ав®ў®Ј® ¤аҐб Їа®Ја ¬¬л. ЏаЁ Є®¬Ї®®ўЄҐ Їа®Ја ¬¬л Ё§ ҐбЄ®«мЄЁе
з б⥩ Є®¬Ї®®ўйЁЄ ®ЎкҐ¤ЁпҐв ®ЎкҐЄвлҐ ¬®¤г«Ё ў ®¤Ё ЁбЇ®«пҐ¬л© д ©«.
€бЇ®«пҐ¬л© д ©« ®Ўлз® Ё¬ҐҐв а биЁаҐЁҐ EXE.
4 - ®в« ¤ЄҐ Їа®Ја ¬¬л б ЁбЇ®«м§®ў ЁҐ¬ ®в« ¤зЁЄ AFDPRO, Є®в®ал© Ўг¤Ґв ў ¦л¬
Ёбва㬥⮬ ЇаЁ Їа®ўҐаЄҐ Ё ®в« ¤ЄҐ Їа®Ја ¬¬. ќв®в нв Ї Ґ ўбҐЈ¤ 㦥 Ё
вॡгҐвбп ЇаЁ ®Ў а㦥ЁЁ ў Їа®Ја ¬¬Ґ Ґпўле ᥬ вЁзҐбЄЁе Ё «Ј®аЁв¬ЁзҐбЄЁе
®иЁЎ®Є, Ґ ®Ў аг¦Ёў Ґ¬ле бᥬЎ«Ґа®¬, «ЁЎ® ЇаЁ § ¤ зҐ Ёбб«Ґ¤®ў Ёп а Ў®вл
Їа®Ја ¬¬л.
Џгвм ўлЇ®«ҐЁп Є®¬ ¤л
…б«Ё ў ®вўҐв ЇаЁЈ« 襨Ґ DOS ўўҐбвЁ Є®¬ ¤г Ё«Ё Ё¬п ЁбЇ®«пҐ¬®Ј® д ©«
(¬®¦® ЎҐ§ а биЁаҐЁп) Ё ¦ вм Є« ўЁиг ўў®¤ (Enter), в® Їгвм Ї®ЁбЄ бЁб⥬®©
(Є®¬ ¤л¬ Їа®жҐбб®а®¬ COMMAND.COM) Ґ®Ўе®¤Ё¬®Ј® ®ЎкҐЄв Ўг¤Ґв в ЄЁ¬.
1. Џа®ўҐапҐвбп, Ґ ўўҐ¤Ґ® «Ё Ё¬п ўгв॥© Є®¬ ¤л DOS. …б«Ё в Є, Є®¬ ¤
Ўг¤Ґв ўлЇ®«Ґ .
2. Џа®ўҐапҐвбп ⥪гйЁ© Є в «®Ј ¤«п ®влбЄ Ёп Їа®Ја ¬¬®Ј® д ©« б Ё¬ҐҐ¬ Ё
а биЁаҐЁҐ¬ COM Ё § ⥬ EXE, Ё «Ёим § ⥬ Є®¬ ¤®Ј® д ©« б а биЁаҐЁҐ¬ BAT.
Ќ ©¤Ґл© д ©« ЁбЇ®«пҐвбп.
3. …б«Ё Ї®ЁбЄ Ї® ЇгЄв ¬ 1 Ё 2 ЎҐ§гбЇҐиҐ, в® бЁб⥬ зҐв Ї®ЁбЄ Ї® Їгвп¬,
§ ЇЁб л¬ ў д ©«Ґ AUTOEXEC.BAT, - ЇаЁ ҐЈ® «ЁзЁЁ.
4. …б«Ё ўбҐ Ї®ЁбЄЁ ЎҐ§гбЇҐил, в® ўлў®¤Ёвбп ᮮ⢥вбвўго饥 б®®ЎйҐЁҐ.
„Ґ¬®бва жЁ® п Їа®Ја ¬¬ HELLO.ASM
‡¤Ґбм ЇаҐ¤бв ў«Ґ ¤Ґ¬®бва жЁ® п Їа®Ја ¬¬ HELLO.ASM. Џ®¤а®Ў® ® Ґ
а §кпбпҐвбп, ® Ґ®Ўе®¤Ё¬л© ¬ЁЁ¬г¬ ᢥ¤ҐЁ© ¤ ў ҐҐ Є®¬¬Ґв аЁпе.
‡ ¬Ґз ЁҐ Ўг¤г饥: §¤Ґбм бᥬЎ«Ґа TASM ЁбЇ®«м§гҐв ЇаЁ а Ў®вҐ ०Ё¬ IDEAL.
TITLE "„Ґ¬®бва жЁ® п Їа®Ја ¬¬ HELLO.ASM"
IDEAL
MODEL small
STACK 256
DATASEG
Promt DB 'ќв® ўаҐ¬п Ї®б«Ґ Ї®«г¤п? („ /ЌҐв - Y/N)$'
GoodMorning DB 13,10,'„®Ўа®Ґ гва®!',13,10,'$'
GoodAfternoon DB 13,10,'‡¤а ўбвўг©вҐ!',13,10,'$'
NonSence DB 13,10,'—в®-зв®?',13,10,'$'
CODESEG
Start: MOV AX,@DATA ;“бв ®ўЄ ў DS ¤аҐб
MOV DS,AX ; ᥣ¬Ґв ¤ ле
MOV DX,OFFSET Promt ;‘®®ЎйҐЁҐ-§ Їа®б
MOV AH,9 ;Џ®¤Ј®в®ўЄ ўлў®¤ б®®ЎйҐЁп
INT 21H ;”гЄжЁп ўлў®¤ нЄа
MOV AH,1 ;Џ®¤Ј®в®ўЄ ўў®¤ бЁ¬ў®«
INT 21H ;”гЄжЁп ўў®¤ бЁ¬ў®« б Є« ўЁ вгал
CMP AL,'Y' ;ЃгЄў Y?
JZ Afternoon ;„ , ўаҐ¬п Ї®б«Ґ Ї®«г¤п
CMP AL,'N' ;ЃгЄў N?
JZ Morning ;ЌҐв, ўаҐ¬п ¤® Ї®«г¤п
MOV DX,OFFSET NonSence ;“Є § ЁҐ "—в®-зв®?"
JMP SHORT Disp
Afternoon:
MOV DX,OFFSET GoodAfternoon ;“Є § ЁҐ "‡¤а ўбвўг©вҐ"
JMP SHORT Disp
Morning:
MOV DX,OFFSET GoodMorning ;“Є § ЁҐ "„®Ўа®Ґ гва®"
Disp: MOV AH,9 ;Џ®¤Ј®в®ўЄ ўлў®¤ нЄа
INT 21H ;”гЄжЁп ўлў®¤ б®®ЎйҐЁп нЄа
Exit: MOV AX,4C00H ;Џ®¤Ј®в®ўЄ ўл室 Ё§ Їа®Ја ¬¬л
INT 21H ;”гЄжЁп ўл室 - ®бв ®ў Їа®Ја ¬¬л
END Start ;Љ®Ґж Їа®Ја ¬¬л / в®зЄ ўе®¤
ЂбᥬЎ«Ёа®ў ЁҐ Їа®Ја ¬¬л. Љ«озЁ Є®¬ ¤®© бва®ЄЁ
ђ бᬮваЁ¬ 室 бᥬЎ«Ёа®ў Ёп Їа®Ја ¬¬л ЇаЁ¬ҐаҐ Їа®бв®© ЁвҐа ЄвЁў®©
Їа®Ја ¬¬л Hello.asm. „«п бᥬЎ«Ёа®ў Ёп д ©« Hello.asm ў Є®¬ ¤®© бва®ЄҐ
㦮 Ўа вм TASM HELLO.ASM Ё ¦ вм Є« ўЁиг ўў®¤ . Џ®бЄ®«мЄг ®б®Ў®Ґ Ё¬п ¤«п
®ЎкҐЄв®Ј® д ©« Ґ § ¤ ®, Ўг¤Ґв ᮧ¤ ®ЎкҐЄвл© д ©« б ⥬ ¦Ґ Їа®Ја ¬¬л¬
Ё¬ҐҐ¬ - HELLO.OBJ. ђ биЁаҐЁҐ Ё¬ҐЁ д ©« ASM ўў®¤Ёвм Ґ вॡгҐвбп - TASM
ЇаЁЁ¬ Ґв ҐЈ® Ї® 㬮«з Ёо. Ќ нЄа Ґ Ї®пўЁвбп б«Ґ¤го饥:
Turbo Assembler Version 2.0 Copyright (C) 1988,1990 Borland International
Assembling file: Hello.asm
Error messages: None
Warning messages: None
Passes 1
Remaining memory: ***K
(Ќ ¬Ґб⥠ваҐе §ўҐ§¤®зҐЄ Ўг¤Ґв ўл¤ ®ЎкҐ¬ бў®Ў®¤®© ®ЇҐа вЁў®© Ї ¬пвЁ DOS.)
€§ б®®ЎйҐЁп б«Ґ¤гҐв, зв® бᥬЎ«Ёа®ў ЁҐ § ўҐа襮 ЎҐ§ ®иЁЎ®Є Ё ЇаҐ¤гЇаҐ¦¤ҐЁ©
Ґв.
‡ ¬Ґз Ёп:
1) ЏаҐ¤гЇаҐ¦¤ҐЁҐ - Ґ ®иЁЎЄ , ® ҐЈ® ЁЈ®аЁа®ў ЁҐ ¬®¦Ґв ЇаЁўҐбвЁ Є
ҐЇаЁпв®бвп¬ ў ¤ «мҐ©иҐ© а Ў®вҐ б Їа®Ја ¬¬®©, Ї®н⮬㠫гзиҐ бў®ҐўаҐ¬Ґ®
®вॠЈЁа®ў вм ҐЈ®.
2) …б«Ё ЁбЇ®«м§®ў вм ¤агЈ®Ґ Ё¬п Їа®Ја ¬¬л, б®®ЎйҐЁп нЄа Ґ ᮮ⢥вб⢥®
Ё§¬Ґпвбп.
„«п Є®¬Ї®®ўЄЁ Їа®Ја ¬¬л 㦮 ўўҐбвЁ ў Є®¬ ¤го бва®Єг TLINK HELLO.OBJ. ‡¤Ґбм
а биЁаҐЁҐ Ё¬ҐЁ OBJ ⮦Ґ Ґ ®Ўп§ ⥫м®. Џ® § ўҐа襨Ё Є®¬Ї®®ўЄЁ Ўг¤Ґв
бд®а¬Ёа®ў д ©« HELLO.EXE б ўлў®¤®¬ нЄа б®®ЎйҐЁп
Turbo Linker Version 3.0 Copyright (C) 1987,1990 Borland International
’ҐЇҐам Їа®Ја ¬¬г HELLO.EXE ¬®¦® § ЇгбвЁвм. ђҐ§г«мв ⮬ ЁбЇ®«ҐЁп Ўг¤Ґв ўлў®¤
нЄа б®®ЎйҐЁп:
ќв® ўаҐ¬п Ї®б«Ґ Ї®«г¤п? („ /ЌҐв - Y/N)
Љгаб®а Ўг¤Ґв ¬Ґаж вм Ї®б«Ґ Ї®б«Ґ¤ҐЈ® бЁ¬ў®« ў ®¦Ё¤ ЁЁ ®вўҐв . ‚ўҐ¤ЁвҐ ЎгЄўг
Y. Џа®Ја ¬¬ ®вўҐвЁв:
‡¤а ўбвўг©вҐ!
…б«Ё Ўг¤Ґв ўўҐ¤Ґ ЎгЄў N, Їа®Ја ¬¬ ®вўҐвЁв:
„®Ўа®Ґ гва®!
…б«Ё Ўг¤Ґв ўўҐ¤Ґ Є Є п-в® ¤агЈ п ЎгЄў , Їа®Ја ¬¬ ®вўҐвЁв:
—в®-зв®?
‚Ё¬ ЁҐ! ЃгЄўл Y Ё N 㦮 ўў®¤Ёвм ў ўҐа奬 ॣЁбвॠ- Є Є Їа®ЇЁблҐ. € зҐ
®вўҐв®¬ ўбҐЈ¤ Ўг¤Ґв '—в®-зв®?'.
‚ 室Ґ бᥬЎ«Ёа®ў Ёп Ё«Ё Є®¬Ї®®ўЄЁ ¬®¦® ўлЎЁа вм а §«ЁзлҐ ®б®ЎҐ®бвЁ Ёе
ЁбЇ®«ҐЁп, зв® § ¤ Ґвбп Є«оз ¬Ё ў Є®¬ ¤®© бва®ЄҐ Tasm Ё«Ё Tlink. „«п ўлў®¤
бЇЁбЄ Є«о祩 Є®¬ ¤®© бва®ЄЁ 㦮 Ўа вм Їа®бв® TASM «ЁЎ® TLINK Ё ¦ вм
ўў®¤.
Љ«озЁ § ЇЁблў овбп ў ўЁ¤Ґ ®¤®© Ё«Ё ҐбЄ®«мЄЁе ЎгЄў. „«п § ¤ Ёп Є«оз 㦮
Ўа вм Є®бго зҐавг (Ё«Ё ¤ҐдЁб) Ё г¦го ЎгЄўг ¬Ґ¦¤г Є®¬ ¤®© TASM «ЁЎ® TLINK Ё
Ё¬ҐҐ¬ Їа®Ја ¬¬л, Є®в®а п бᥬЎ«ЁагҐвбп «ЁЎ® Є®¬Ї®гҐвбп. Ќ ЇаЁ¬Ґа, ¤«п
бᥬЎ«Ёа®ў Ёп Їа®Ја ¬¬л HELLO.ASM Ё Ї®«г票п д ©« б а бЇҐз вЄ®©
(«ЁбвЁЈ®¬), Ј¤Ґ ᮤҐа¦Ёвбп ®ЇЁб ЁҐ 室 бᥬЎ«Ёа®ў Ёп, 㦮 ўўҐбвЁ
Є®¬ ¤г: TASM /L HELLO. Љ®¬ ¤л Ё Є«озЁ ¬®¦® ЎЁа вм Їа®ЇЁбл¬Ё Ё бва®зл¬Ё
ЎгЄў ¬Ё.
€бЇ®«ЁвҐ нвг Є®¬ ¤г Ё § ⥬ а бᬮваЁвҐ д ©« HELLO.LST. ‚ а бЇҐз вЄҐ Є ¦¤ п
бва®Є зЁ Ґвбп б ®¬Ґа , § ⥬ б«Ґ¤гов Ў ©вл ®ЎкҐЄв®Ј® Є®¤ Ё б®Ўб⢥®
бва®Є Їа®Ја ¬¬л. Ља®¬Ґ в®Ј®, TASM ўлў®¤Ёв ў н⮬ д ©«Ґ в Ў«Ёжг
Ё¤ҐвЁдЁЄ в®а®ў, Ј¤Ґ ᮤҐа¦Ёвбп Ёд®а¬ жЁп ® ¬ҐвЄ е Ё ᥣ¬Ґв е, ўЄ«оз п
§ 票Ґ Ё вЁЇ Є ¦¤®© ¬ҐвЄЁ Ё ваЁЎгвл Є ¦¤®Ј® ᥣ¬Ґв . ЏаЁ бᥬЎ«Ёа®ў ЁЁ
Їа®Ја ¬¬л ¬®¦® ЁбЇ®«м§®ў вм ў ®¤®© Є®¬ ¤®© бва®ЄҐ ҐбЄ®«мЄ® Є«о祩,
а §¤Ґ«пп Ёе Є®бл¬Ё зҐав ¬Ё.
ЌҐЄ®в®алҐ ЇаЁ¬Ґал ¤«п Є®¬ ¤л TASM:
TASM /L /C HELLO - Є®¬ ¤ ¤®Ї®«пҐв д ©« а бЇҐз вЄЁ в Ў«ЁжҐ© ЇҐаҐЄаҐбвле
ббл«®Є, гЄ §лў о饩, Ј¤Ґ ®ЇаҐ¤Ґ«Ґ Є ¦¤ п ¬ҐвЄ Ё Ј¤Ґ ҐҐ Ґбвм ббл«Є ;
TASM /L /N HELLO - ЁбЄ«оз Ґв в Ў«Ёжг Ё¤ҐвЁдЁЄ в®а®ў Ё§ а бЇҐз вЄЁ;
TASM /ML HELLO - ўЄ«оз Ґв а §«ЁзҐЁҐ Їа®ЇЁбле Ё бва®зле бЁ¬ў®«®ў ў
Ё¤ҐвЁдЁЄ в®а е;
TASM /ZI HELLO - Є®¬ ¤ ¤®Ў ў«пҐв ў HELLO.OBJ Ёд®а¬ жЁо, Ґ®Ўе®¤Ё¬го ¤«п
ЁбЇ®«м§®ў Ёп ®в« ¤зЁЄ .
„«п Є®¬ ¤л TLINK:
TLINK/M HELLO - Є«оз /M ЇаЁў®¤Ёв Є ᮧ¤ Ёо д ©« ®в®Ўа ¦ҐЁп Ё«Ё д ©«
§ Јаг§ЄЁ HELLO.MAP, Ј¤Ґ ЇҐаҐзЁб«повбп Ё¬Ґ , ¤аҐб § Јаг§ЄЁ Ё а §¬Ґал ўбҐе
ᥣ¬Ґв®ў, ўе®¤пйЁе ў Їа®Ја ¬¬г;
TLINK /X /V HELLO - Є®¬ ¤ Ї®§ў®«пҐв § Јаг§Ёвм HELLO.EXE ў ®в« ¤зЁЄ, § ЇаҐй п
ᮧ¤ ЁҐ (Є«оз /X) д ©« ®в®Ўа ¦ҐЁп.
TLINK /T <FILE_NAME.OBJ> - Є«оз /T ®ЎҐбЇҐзЁў Ґв ᮧ¤ ЁҐ д ©« вЁЇ COM.
‚Ё¬ ЁҐ: Їа®Ја ¬¬ вЁЇ COM вॡгҐв ®б®Ў®© ®аЈ Ё§ жЁЁ, Ё Ґб«Ё нв®в Є«оз
ЁбЇ®«м§®ў вм ҐЄбв вЁ, १г«мвЁагой п Їа®Ја ¬¬ «ЁЎ® Ґ Ўг¤Ґв ᮧ¤ , «ЁЎ®
Ўг¤Ґв Ґа Ў®в®бЇ®б®Ў .
Ћв« ¤зЁЄ ¬®¦® ЁбЇ®«м§®ў вм Ё Є®Ј¤ Є«озЁ, гЄ § лҐ Є Є Ї®«Ґ§лҐ ¤«п ҐЈ®, Ґ
гЄ §лў «Ёбм. Ќ® ЇаЁ ¤®Ў®бвЁ ®в« ¤ЄЁ Ёе «гзиҐ ЁбЇ®«м§®ў вм.
ђ Ў®в б ®в« ¤зЁЄ®¬ AFDPror (Ё«Ё AFDPro)
Debugger AFDPror - AFDPROR.EXE
Tasm 㬥Ґв бᥬЎ«Ёа®ў вм бЁв ЄвЁзҐбЄЁ Їа ўЁ«млҐ Їа®Ја ¬¬л, ® 'Ґ Ї®Ё¬ Ґв',
зв® Ё¬Ґ® нвЁ Їа®Ја ¬¬л ¤Ґ« ов. — бв® Їа®Ја ¬¬ а Ў®в Ґв Ґ в Є, Є Є ¤®«¦
Ўл а Ў®в вм. ‚ в Є®© бЁвг жЁЁ ¬®¦Ґв Ї®¬®зм Їа®Ја ¬¬ -®в« ¤зЁЄ, ЇаҐ¤ § зҐ п
¤«п Ї®ЁбЄ Ё ЁбЇа ў«ҐЁп «®ЈЁзҐбЄЁе (ᥬ вЁзҐбЄЁе) ®иЁЎ®Є. Џ®¤®Ў® ўбҐ¬
®в« ¤зЁЄ ¬, AFDPror ¬®¦Ґв а Ў®в вм ў ०Ё¬Ґ бгЇҐаўЁ§®а , ЎҐап ᥡп
гЇа ў«ҐЁҐ Їа®Ја ¬¬®© ў ०Ё¬Ґ Ї®и Ј®ў®Ј® (Ї®Є®¬ ¤®Ј®) ЁбЇ®«ҐЁп Є®¤
Їа®Ја ¬¬л. ЏаЁ н⮬ ¬®¦® Ё§¬Ґпвм § зҐЁп ®ЇҐа ¤®ў ў Ї ¬пвЁ, § 票п
ॣЁбва®ў Ё д« Ј®ў.
ѓ®апзЁҐ Є« ўЁиЁ - ўбҐ ў бва®ЄҐ-Ї®¤бЄ §ЄҐ (®ЎҐбЇҐзЁў ов ЇҐаҐе®¤ Ї® ®Є ¬ Ё Їа.)
Љ®¬ ¤л - ЎЁа овбп ў бва®ЄҐ "CMD >" Ё ¦Ё¬ Ґвбп Є« ўЁи ўў®¤ (Enter):
QUIT - ўл©вЁ Ё§ Їа®Ја ¬¬л
PD addr, length, filename - Ї а ¬Ґвал addr Ё length бгвм иҐбв ¤ж вҐаЁзлҐ
¤аҐб (000 Ё«Ё 100 ЎҐ§ ЎгЄўл H ў Є®жҐ) Ё ¤«Ё ¤Ёб бᥬЎ«Ёа㥬®Ј® Є®¤ ў
Ў ©в е (¤® ffff ЎҐ§ ЎгЄўл H ў Є®жҐ)
filename - Ё¬п д ©« , ў Є®в®ал© Ўг¤Ґв б®еа Ґ १г«мв в ¤Ёб бᥬЎ«Ёа®ў Ёп
( ЇаЁ¬Ґа, list.txt).
G start_addr, break_addr - Ј¤Ґ start_addr Ґбвм ¤аҐб ЇҐаҐе®¤ Є®¤
вҐбвЁа㥬®© Їа®Ја ¬¬л, break_addr - ¤аҐб ЇҐаў®Ј® ®бв ®ў .
Ћбв «млҐ Є®¬ ¤л ¬®¦® ©вЁ, ўл§ў ў ®Є® Ї®¬®йЁ F4. ЏаҐаў вм ўлЇ®«ҐЁҐ
Їа®Ја ¬¬л ¬®¦® ¦ вЁҐ¬ Є« ўЁи Ctrl-Esc.
„«п ®§ Є®¬«ҐЁп б а Ў®в®© ®в« ¤зЁЄ ЇаЁ Ё§г票Ё п§лЄ бᥬЎ«Ґа Ёбб«Ґ¤гҐ¬
Їа®Ја ¬¬г HELLO Ї®¤ ҐЈ® гЇа ў«ҐЁҐ¬. ‘®ў ўлЇ®«Ё¬ бᥬЎ«Ёа®ў ЁҐ Ё
Є®¬Ї®®ўЄг Їа®Ја ¬¬л б Є«оз ¬Ё, ¤®Ў ў«пойЁ¬Ё ®в« ¤®зго Ёд®а¬ жЁо ў д ©«л OBJ
Ё EXE:
TASM /ZI HELLO.ASM
TLINK /V HELLO.OBJ
AFDPROR HELLO.EXE
Џ®б«Ґ ўлЇ®«ҐЁп Ї®б«Ґ¤Ґ© Є®¬ ¤л нЄа Ґ Ї®пўЁвбп § бв ўЄ ®в« ¤зЁЄ . ЏаЁ
¦ вЁЁ «оЎ®© Є« ўЁиЁ ®® ᬥЁвбп а Ў®зЁ¬ ®Є®¬ ®в« ¤зЁЄ .
„«п ¤®бв в®з®Ј® ®бў®ҐЁп ®в« ¤зЁЄ б«Ґ¤гҐв ЁбЇ®«м§®ў вм вҐбв 'AFD-man'.
ђ Ў®в ¤ бЁв ЄвЁзҐбЄЁ¬Ё ®иЁЎЄ ¬Ё ЇаЁ бᥬЎ«Ёа®ў ЁЁ Їа®Ја ¬¬л
„ ¦Ґ ®ЇлвлҐ Їа®Ја ¬¬Ёбвл ¤Ґ« ов бЁв ЄвЁзҐбЄЁҐ ®иЁЎЄЁ ЇаЁ ЇЁб ЁЁ Їа®Ја ¬¬л.
ђ Ў®в ¤ ¤®ЇгйҐл¬Ё ў Їа®Ја ¬¬Ґ ®иЁЎЄ ¬Ё, Є Є Ё ЇЁб ЁҐ Їа®Ја ¬¬л,
вॡгҐв ЇаҐ¤ў аЁвҐ«м®Ј® § Є®¬бвў б® б«Ґ¤гойЁ¬Ё ў®Їа®б ¬Ё, Є®в®алҐ ўл室пв
§ а ¬ЄЁ а бᬮв२п:
- Їа ўЁ« § ЇЁбЁ бᥬЎ«Ґале бва®Є;
- Ї®«м§®ў ⥫мбЄЁҐ Ё б«г¦ҐЎлҐ Ё¤ҐвЁдЁЄ в®ал - Ё¬Ґ , ¬ҐвЄЁ, ЇҐаҐ¬ҐлҐ;
- д®а¬ вл ¤ ле Ё ¤ЁаҐЄвЁўл Ёе ®ЇаҐ¤Ґ«ҐЁп;
- ¬ Єа®®ЇаҐ¤Ґ«ҐЁп бЁ¬ў®«мле Є®бв в, ўла ¦ҐЁ© Ё бва®Є (¤ЁаҐЄвЁўл = Ё EQU);
- Є®бв влҐ Ё ¤аҐблҐ ўла ¦ҐЁп;
- ®ЎйҐҐ § Є®¬бвў® б Є®¬ ¤ ¬Ё Їа®жҐбб®а®ў i80x86.
‡¤Ґбм гЄ § ЇҐаҐзҐм б ¬ле з бвле ®иЁЎ®Є ЇаЁ ЇЁб ЁЁ ЇҐаўле Їа®Ја ¬¬.
ЋЎ а㦥ЁҐ нвЁе ®иЁЎ®Є Ўг¤Ґв ®в¬ҐзҐ® ЇаЁ бᥬЎ«Ёа®ў ЁЁ (б гЄ § ЁҐ¬ ®¬Ґа
бва®ЄЁ):
- ЁбЄ ¦Ґ® Ё¬п Є®¬ ¤л Ё«Ё ¤ЁаҐЄвЁўл;
- ®Їг饮 ¤ў®Ґв®зЁҐ ':' Ї®б«Ґ Ё¬ҐЁ ¬ҐвЄЁ;
- ҐЇа ўЁ«м® § ЇЁб Ї®«м§®ў ⥫мбЄЁ© Ё¤ҐвЁдЁЄ в®а;
- ў Є зҐб⢥ ®ЇҐа в®а гЄ § Ґ®ЇаҐ¤Ґ«Ґл© а ҐҐ Ё¤ҐвЁдЁЄ в®а;
- ЁбЇ®«м§®ў ® Ё¬п б«г¦ҐЎ®Ј® Ё¤ҐвЁдЁЄ в®а ў Є зҐб⢥ Ї®«м§®ў ⥫мбЄ®Ј®;
- § 票Ґ ЁЁжЁ «Ё§Ёа㥬®© Є®бв вл ЇаҐўли Ґв ¤®ЇгбвЁ¬го ўҐ«ЁзЁг, ЇаЁ¬Ґа:
DB 400 ;400 > 255 - ¬ ЄбЁ¬ «м®Ј® § зҐЁп ў д®а¬ ⥠BYTE
- Ї®бв ў«Ґ § Їпв п ў Є®жҐ бЇЁбЄ н«Ґ¬Ґв®ў ЇаЁ ¬®¦Ґб⢥®© ЁЁжЁ «Ё§ жЁЁ,
ЇаЁ¬Ґа:
DW 1,3,5,400, - «Ёипп § Їпв п ў Є®жҐ бЇЁбЄ
- Ґв ЄагЈ«ле бЄ®Ў®Є ЇаЁ ®ЇҐа в®аҐ DUP, ЇаЁ¬Ґа:
DB 4 DUP 7 - ¤® "4 DUP (7)"
- ®иЁЎЄ ў ЇЁб ЁЁ Ё¬ҐЁ ¬®¤Ґ«Ё Ї ¬пвЁ, Ё«Ё Ґ гЄ § ¬®¤Ґ«м Ї ¬пвЁ ЇаЁ
ЁбЇ®«м§®ў ЁЁ гЇа®йҐле ¤ЁаҐЄвЁў;
- ®ЇгйҐ ®¤ Ё«Ё ®ЎҐ Єў ¤а влҐ бЄ®ЎЄЁ [], § Є«оз ойЁҐ ¤аҐб®Ґ ўла ¦ҐЁҐ ў
०Ё¬Ґ Ideal, ЇаЁ¬Ґа:
MOV AX, [BX+SI
(®иЁЎЄ - ᮤҐа¦Ё¬®Ґ Ї® ¤аҐбг BX+SI ®вЇа ўЁвм ў AX)
- Ґ б®ўЇ ¤ ов вЁЇл ®ЇҐа ¤®ў Є®¬ ¤л, ЇаЁ¬Ґа:
MOV AL,[VAR_W]
(®иЁЎЄ - а ҐҐ ЇҐаҐ¬Ґ п VAR_W ®ЇаҐ¤Ґ«Ґ ў д®а¬ ⥠WORD)
MOV AX,[VAR_B]
(®иЁЎЄ - а ҐҐ ЇҐаҐ¬Ґ п VAR_B ®ЇаҐ¤Ґ«Ґ ў д®а¬ ⥠BYTE)
- вॡгҐвбп пў® гЄ § вм вЁЇ ®ЇҐа ¤ , ЇаЁ¬Ґа:
MOV [BX],1
(®иЁЎЄ - ¤® пў® гЄ § вм вЁЇ п祩ЄЁ Ї ¬пвЁ: [BYTE BX] Ё«Ё [WORD BX]).
- ®ЇҐа ¤ ў ⥪г饩 ЁбвагЄжЁЁ Ґ ¬®¦Ґв Ўлвм ббл«Є®© ¤аҐб Ї ¬пвЁ:
MOV [OPER_1],[OPER_2]
(Є®¬ ¤ MOV Ґ ¬®¦Ґв ЇҐаҐ¤ ў вм ¤ лҐ Ё§ ®¤®© п祩ЄЁ Ї ¬пвЁ ў ¤агЈго);
- Ґ¤®ЇгбвЁ¬л© аҐ¦Ё¬ ¤аҐб жЁЁ, ЇаЁ¬Ґа:
ADD [DX+SI],AX
(ॣЁбва DX Ґ«м§п ЁбЇ®«м§®ў вм ў Є®бўҐ®© ¤аҐб жЁЁ)
- Ґ¤®ЇгбвЁ¬ п Є®¬ ¤ ¤«п ўлЎа ®Ј® вЁЇ Їа®жҐбб®а (Ї® 㬮«з Ёо
ЁбЇ®«м§гҐвбп i8086);
- ¤аҐб § зҐЁп ў Є®¬ ¤Ґ гб«®ў®Ј® ЇҐаҐе®¤ ўҐ ¤®ЇгбвЁ¬®Ј® ¤«п Їа®жҐбб®а
i8086 ¤Ё Ї §® - Ґ ЇаЁ ¤«Ґ¦Ёв ЁвҐаў «г (-128, +127);
- ҐЇ ஥ ЁбЇ®«м§®ў ЁҐ ¤ЁаҐЄвЁўл ENDP, ЇаЁ¬Ґа:
PROC ADDITION
...........
ENDP SUBTRACTION
(®иЁЎЄ - ¤®«¦® Ўлвм гЄ § ® Ё¬п Їа®жҐ¤гал ADDITION). Ђ «®ЈЁзлҐ ®иЁЎЄЁ ¬®Јгв
Ї®пўЁвмбп ЇаЁ ЁбЇ®«м§®ў ЁЁ ¤агЈЁе Ї але ¤ЁаҐЄвЁў "SEGMENT <NAME> ... ENDS
<NAME>", "MACRO <NAME> .... ENDM <NAME>" Ё Їа.
- ў Є®жҐ Їа®Ја ¬¬л ®вбгвбвўгҐв ¤ЁаҐЄвЁў END.
Соседние файлы в папке 02