Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
5
Добавлен:
25.02.2016
Размер:
13.93 Кб
Скачать
ЏаЁ«®¦Ґ­ЁҐ. ‡­ Є®¬бвў® б ®в« ¤зЁЄ®¬
-----------------------------------

ЂбᥬЎ«Ёа®ў ­ЁҐ Ё ®в« ¤Є  Ј®в®ўле Їа®Ја ¬¬

‡­ Є®¬бвў® б вгаЎ®- бᥬЎ«Ґа®¬ Ё жЁЄ«®¬ ᮧ¤ ­Ёп  бᥬЎ«Ґа­®© Їа®Ја ¬¬л
„Ґ¬®­бва жЁ®­­ п Їа®Ја ¬¬  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