Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
6
Добавлен:
25.02.2016
Размер:
15 Кб
Скачать
**********************************************************************
‘€‘’…ЊЌЋ… ЏђЋѓђЂЊЊ€ђЋ‚ЂЌ€…
**********************************************************************

*******************
*** ’Ґ¬  02 ***
*******************

**********************************************************************
‡­ Є®¬бвў® б ®в« ¤зЁЄ®¬
**********************************************************************

–Ґ«м а Ў®вл:
‡­ Є®¬бвў® б вгаЎ®- бᥬЎ«Ґа®¬ Ё жЁЄ«®¬ ᮧ¤ ­Ёп  бᥬЎ«Ґа­®© Їа®Ја ¬¬л
ђ Ў®в  б ¤Ґ¬®­бва жЁ®­­®© Їа®Ја ¬¬®© HELLO.ASM
‡­ Є®¬бвў® б ®в« ¤зЁЄ®¬ AFDPror
ђ Ў®в  ­ ¤ бЁ­в ЄвЁзҐбЄЁ¬Ё ®иЁЎЄ ¬Ё ЇаЁ  бᥬЎ«Ёа®ў ­ЁЁ Їа®Ја ¬¬л
б Ї®¬®ймо ®в« ¤зЁЄ 


1. ‡ ¤ ­ЁҐ ­  ЇаҐ¤ў аЁвҐ«м­го Ї®¤Ј®в®ўЄг

Ћ§­ Є®¬Ёвмбп б ᮤҐа¦ ­ЁҐ¬ агЄ®ў®¤бвў 
€§гзЁвм ЇаЁўҐ¤Ґ­­л© ⥮аҐвЁзҐбЄЁ© ¬ вҐаЁ «
‚лЇ®«­Ёвм Їа ЄвЁзҐбЄго з бвм а Ў®вл
‘®бв ўЁвм ®взҐв ® а Ў®вҐ
ЏаҐ¤кпўЁвм १г«мв вл а Ў®вл ЇаҐЇ®¤ ў вҐ«о


2. Ља вЄЁҐ ⥮аҐвЁзҐбЄЁҐ ᢥ¤Ґ­Ёп

2.1. ђ §а Ў®вЄ  Їа®Ја ¬¬

„«п Ў®«ҐҐ Ї®¤а®Ў­®Ј® ®§­ Є®¬«Ґ­Ёп б нвЁ¬ ¬ вҐаЁ «®¬ ­г¦­® ®Ўа вЁвмбп Є ⥪бвг
"AFD-init" (‡­ Є®¬бвў® б ®в« ¤зЁЄ®¬).

ђ §а Ў®вЄ  Їа®Ја ¬¬л ­  п§лЄҐ  бᥬЎ«Ґа  бЄ« ¤лў Ґвбп Ё§ зҐвлаҐе нв Ї®ў.
1 - Ї®¤Ј®в®ўЄ  Ёб室­®Ј® ⥪бв  Їа®Ја ¬¬л Ё ®д®а¬«Ґ­ЁҐ ҐЈ® ў ўЁ¤Ґ ⥪бв®ў®Ј®
д ©«  (®¤­®Ј® Ё«Ё ­ҐбЄ®«мЄЁе) б Ї®¬®ймо ⥪бв®ў®Ј® । Єв®а  ў д®а¬ вҐ DOS -
б а биЁаҐ­ЁҐ¬ ASM.
2 -  бᥬЎ«Ёа®ў ­ЁҐ Їа®Ја ¬¬л б ЇаЁ¬Ґ­Ґ­ЁҐ¬  бᥬЎ«Ґа  Tasm, १г«мв в®¬ 祣®
Ўг¤Ґв ®ЎкҐЄв­л© д ©« б а биЁаҐ­ЁҐ¬ OBJ. …б«Ё Їа®Ја ¬¬  б®бв®Ёв Ё§ ­ҐбЄ®«мЄЁе
д ©«®ў (¬®¤г«Ґ©), ®­Ё  бᥬЎ«Ёаговбп ­Ґ§ ўЁбЁ¬®. …б«Ё ЇаЁ  бᥬЎ«Ёа®ў ­ЁЁ
®Ў­ аг¦Ёў овбп ®иЁЎЄЁ, в® ®ЎкҐЄв­л© д ©« ­Ґ ᮧ¤ Ґвбп,   ўл¤ Ґвбп б®®ЎйҐ­ЁҐ
®Ў ®иЁЎЄ е. Џ® гбва ­Ґ­ЁЁ ®иЁЎ®Є  бᥬЎ«Ёа®ў ­ЁҐ ­г¦­® Ї®ўв®аЁвм. ЋЎкҐЄв­л©
д ©« (¤ў®Ёз­®-Є®¤Ёа®ў ­­®Ґ ЇаҐ¤бв ў«Ґ­ЁҐ Їа®Ја ¬¬л) ­Ґ ¬®¦Ґв ЁбЇ®«­пвмбп, в Є
Є Є ­Ґ ᮤҐа¦Ёв Ё­д®а¬ жЁЁ ® § Јаг§ЄҐ ᥣ¬Ґ­в®ў Їа®Ја ¬¬л ў Ї ¬пвм Є®¬ЇмовҐа .
3 - Є®¬Ї®­®ўЄ  Їа®Ја ¬¬л ўлЇ®«­пҐвбп Є®¬Ї®­®ўйЁЄ®¬ (। Єв®а®¬ бўп§Ґ©) Turbo
Linker Ё § Є«оз Ґвбп ў ¤®а Ў®вЄҐ ®ЎкҐЄв­®Ј® д ©«  ¤® ЁбЇ®«­пҐ¬®© д®а¬л б
­ §­ зҐ­ЁҐ¬ бв ав®ў®Ј®  ¤аҐб  Їа®Ја ¬¬л. ЏаЁ Є®¬Ї®­®ўЄҐ Їа®Ја ¬¬л Ё§ ­ҐбЄ®«мЄЁе
з б⥩ Є®¬Ї®­®ўйЁЄ ®ЎкҐ¤Ё­пҐв ®ЎкҐЄв­лҐ ¬®¤г«Ё ў ®¤Ё­ ЁбЇ®«­пҐ¬л© д ©«.
€бЇ®«­пҐ¬л© д ©« ®Ўлз­® Ё¬ҐҐв а биЁаҐ­ЁҐ EXE.
4 - ®в« ¤ЄҐ Їа®Ја ¬¬л б ЁбЇ®«м§®ў ­ЁҐ¬ ®в« ¤зЁЄ  AFDPRO, Є®в®ал© Ўг¤Ґв ў ¦­л¬
Ё­бва㬥­в®¬ ЇаЁ Їа®ўҐаЄҐ Ё ®в« ¤ЄҐ Їа®Ја ¬¬. ќв®в нв Ї ­Ґ ўбҐЈ¤  ­г¦Ґ­ Ё
вॡгҐвбп ЇаЁ ®Ў­ а㦥­ЁЁ ў Їа®Ја ¬¬Ґ ­Ґпў­ле ᥬ ­вЁзҐбЄЁе Ё  «Ј®аЁв¬ЁзҐбЄЁе
®иЁЎ®Є, ­Ґ ®Ў­ аг¦Ёў Ґ¬ле  бᥬЎ«Ґа®¬, «ЁЎ® ЇаЁ § ¤ зҐ Ёбб«Ґ¤®ў ­Ёп а Ў®вл
Їа®Ја ¬¬л.

2.2. „Ґ¬®­бва жЁ®­­ п Їа®Ја ¬¬ 

‡ ¬Ґз ­ЁҐ ­  Ўг¤г饥: §¤Ґбм  бᥬЎ«Ґа 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 ;Љ®­Ґж Їа®Ја ¬¬л / в®зЄ  ўе®¤ 

2.3. ЂбᥬЎ«Ёа®ў ­ЁҐ Їа®Ја ¬¬л. Љ«озЁ Є®¬ ­¤­®© бва®ЄЁ

ђ бᬮваЁ¬  бᥬЎ«Ёа®ў ­ЁҐ Їа®Ја ¬¬л ­  ЇаЁ¬ҐаҐ Їа®бв®© Ё­вҐа ЄвЁў­®©
Їа®Ја ¬¬л 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 вॡгҐв ®б®Ў®© ®аЈ ­Ё§ жЁЁ, Ё Ґб«Ё нв®в Є«оз
ЁбЇ®«м§®ў вм ­ҐЄбв вЁ, १г«мвЁагой п Їа®Ја ¬¬  «ЁЎ® ­Ґ Ўг¤Ґв ᮧ¤ ­ , «ЁЎ®
Ўг¤Ґв ­Ґа Ў®в®бЇ®б®Ў­ .

Ћв« ¤зЁЄ ¬®¦­® ЁбЇ®«м§®ў вм Ё Є®Ј¤  Є«озЁ, гЄ § ­­лҐ Є Є Ї®«Ґ§­лҐ ¤«п ­ҐЈ®, ­Ґ
гЄ §лў «Ёбм. Ќ® ЇаЁ ­ ¤®Ў­®бвЁ ®в« ¤ЄЁ Ёе «гзиҐ ЁбЇ®«м§®ў вм.

2.4. ђ Ў®в  б ®в« ¤зЁЄ®¬ AFDPror (Ё«Ё AFDPro)
Debugger AFDPror - AFDPROЉ.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

Џ®б«Ґ ўлЇ®«­Ґ­Ёп Ї®б«Ґ¤­Ґ© Є®¬ ­¤л ­  нЄа ­Ґ Ї®пўЁвбп § бв ўЄ  ®в« ¤зЁЄ . ЏаЁ
­ ¦ вЁЁ «оЎ®© Є« ўЁиЁ ®­® ᬥ­Ёвбп а Ў®зЁ¬ ®Є­®¬ ®в« ¤зЁЄ .

„«п ¤®бв в®з­®Ј® ®бў®Ґ­Ёп ®в« ¤зЁЄ  ­г¦­® ЁбЇ®«м§®ў вм ⥪бв ЏаЁ«®¦Ґ­Ёп 2
"Џ02 Ћв« ¤зЁЄ ADFPro".

2.5. ђ Ў®в  ­ ¤ бЁ­в ЄвЁзҐбЄЁ¬Ё ®иЁЎЄ ¬Ё ЇаЁ  бᥬЎ«Ёа®ў ­ЁЁ Їа®Ја ¬¬л

C ¬лҐ з бвлҐ ®иЁЎЄЁ ЇаЁ ­ ЇЁб ­ЁЁ ЇҐаўле Їа®Ја ¬¬. ЋЎ­ а㦥­ЁҐ нвЁе ®иЁЎ®Є
®в¬Ґз Ґвбп ЇаЁ  бᥬЎ«Ёа®ў ­ЁЁ (б гЄ § ­ЁҐ¬ ­®¬Ґа  бва®ЄЁ):
- ЁбЄ ¦Ґ­® Ё¬п Є®¬ ­¤л Ё«Ё ¤ЁаҐЄвЁўл;
- ®Їг饭® ¤ў®Ґв®зЁҐ ':' Ї®б«Ґ Ё¬Ґ­Ё ¬ҐвЄЁ;
- ­ҐЇа ўЁ«м­® § ЇЁб ­ Ї®«м§®ў вҐ«мбЄЁ© Ё¤Ґ­вЁдЁЄ в®а;
- ў Є зҐб⢥ ®ЇҐа в®а  гЄ § ­ ­Ґ®ЇаҐ¤Ґ«Ґ­­л© а ­ҐҐ Ё¤Ґ­вЁдЁЄ в®а;
- ЁбЇ®«м§®ў ­® Ё¬п б«г¦ҐЎ­®Ј® Ё¤Ґ­вЁдЁЄ в®а  ў Є зҐб⢥ Ї®«м§®ў вҐ«мбЄ®Ј®;
- §­ зҐ­ЁҐ Ё­ЁжЁ «Ё§Ёа㥬®© Є®­бв ­вл ЇаҐўли Ґв ¤®ЇгбвЁ¬го ўҐ«ЁзЁ­г, ­ ЇаЁ¬Ґа:
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.


3. ‘®¤Ґа¦ ­ЁҐ ®взҐв 
1) ­®¬Ґа Ё ­ §ў ­ЁҐ а Ў®вл
2) 楫м а Ў®вл
3) Ё­¤ЁўЁ¤г «м­®Ґ § ¤ ­ЁҐ ­  а Ў®вг
4) гЄ § ­ЁҐ Ё¬Ґ­ Ёб室­®Ј® Ё ЁбЇ®«­пҐ¬®Ј® д ©«®ў
5) ®ЇЁб ­ЁҐ бў®Ґ© а Ў®вл ­ ¤ бЁ­в ЄвЁзҐбЄЁ¬Ё ®иЁЎЄ ¬Ё ў Їа®Ја ¬¬Ґ
6) ўлў®¤л

ЋвзҐв ЇаҐ¤бв ў«пҐвбп ў ўЁ¤Ґ ⥪бв®ў®Ј® д ©« , ўлЇ®«­Ґ­­®Ј® ў д®а¬ вҐ DOS
(Є®¤®ў п бва ­Ёж  866).


4. ‡ ¤ ­ЁҐ ­  а Ў®вг
1. ‚лЇ®«­Ёвм  бᥬЎ«Ёа®ў ­ЁҐ Ё Є®¬Ї®­®ўЄг Їа®Ја ¬¬л HELLO.ASM б Є«оз ¬Ё,
ЇаҐ¤Ї®« Ј ойЁ¬Ё ЁбЇ®«м§®ў ­ЁҐ ®в« ¤зЁЄ  AFDPror. €бб«Ґ¤®ў вм Їа®Ја ¬¬г
HELLO.EXE б Ї®¬®ймо ®в« ¤зЁЄ .
2. ‚лЇ®«­Ёвм  бᥬЎ«Ёа®ў ­ЁҐ Ё Є®¬Ї®­®ўЄг Їа®Ја ¬¬­ле д ©«®ў б Є«оз ¬Ё,
ЇаҐ¤Ї®« Ј ойЁ¬Ё Ї®«г祭ЁҐ а бЇҐз вЄЁ Ё ®в« ¤®з­®© Ё­д®а¬ жЁЁ.
3. ‘®§¤ вм Є®ЇЁо д ©«  Їа®Ја ¬¬л c Ё§¬Ґ­Ґ­­л¬Ё ­ §ў ­Ёп¬Ё - ¤«п
нЄбЇҐаЁ¬Ґ­в®ў Ї®  бᥬЎ«Ёа®ў ­Ёо (Ї®«г祭ЁҐ а бЇҐз вЄЁ: TASM/L <FILE.ASM>)
б ¤®Ў ў«Ґ­­л¬Ё бЁ­в ЄвЁзҐбЄЁ¬Ё ®иЁЎЄ ¬Ё (¤®бв в®з­® ивгЄ 5 - 7). ЏаЁ
ўўҐ¤Ґ­ЁЁ ®иЁЎ®Є ў Їа ўЁ«м­® б®бв ў«Ґ­­лҐ Їа®Ја ¬¬л ¬®¦­® агЄ®ў®¤бвў®ў вмбп
ЇҐаҐз­Ґ¬ вЁЇЁз­ле ®иЁЎ®Є, ¤ ­­л¬ ўлиҐ. ЋиЁЎЄЁ ў¬ҐбвҐ б § ¬Ґз ­Ёп¬Ё ­  ­Ёе
Turbo Assembler ўлў®¤Ёв ў а бЇҐз вЄҐ.


5. Љ®­ва®«м­лҐ ў®Їа®бл
1. ‡ ЇЁиЁвҐ Є®¬ ­¤г ¤«п  бᥬЎ«Ёа®ў ­Ёп д ©«  F_1.ASM б гзҐв®¬ д®а¬Ёа®ў ­Ёп
а бЇҐз вЄЁ Ё ў®§¬®¦­®бвЁ ЁбЇ®«м§®ў ­Ёп ®в« ¤зЁЄ .
2. ‡ ЇЁиЁвҐ Є®¬ ­¤г ¤«п Є®¬Ї®­®ўЄЁ д ©«  F_1.OBJ, а §аҐи ойго ЁбЇ®«м§®ў ­ЁҐ
®в« ¤зЁЄ  Ё § ЇаҐй о饣® ᮧ¤ ­ЁҐ д ©«  ®в®Ўа ¦Ґ­Ёп.
3. ‚ 祬 б®бв®Ёв ®б­®ў­ п а §­Ёж  ¬Ґ¦¤г ЁбЇ®«­пҐ¬л¬Ё д ©« ¬Ё Їа®Ја ¬¬ вЁЇ  EXE
Ё COM?
4. ‡ ЇЁиЁвҐ Ё­бвагЄжЁЁ, ®ЇаҐ¤Ґ«пойЁҐ ­ з «® Ё Є®­Ґж Їа®Ја ¬¬­®Ј® Є®¤ .
5. ‚ 祬 б®бв®Ёв а §«ЁзЁҐ ¬Ґ¦¤г ®иЁЎЄ ¬Ё Ё ЇаҐ¤гЇаҐ¦¤Ґ­Ёп¬Ё, ᮧ¤ ў Ґ¬л¬Ё ЇаЁ
 бᥬЎ«Ёа®ў ­ЁЁ? ЋЇЁиЁвҐ ­г¦­лҐ ¤Ґ©бвўЁп ЇаЁ ®Ў­ а㦥­ЁЁ ®иЁЎЄЁ.
6. ЋЇЁиЁвҐ ®б­®ў­лҐ д®а¬ вл Є®¬ ­¤ 16-а §ап¤­ле Їа®жҐбб®а®ў.
7. Љ ЄЁҐ Ё§ ЇаЁўҐ¤Ґ­­ле ­Ё¦Ґ Є®¬ ­¤ § ЇЁб ­л б ®иЁЎЄ ¬Ё Ё Є Є®ўл нвЁ ®иЁЎЄЁ?
‘зЁв ©вҐ ўбҐ Ё¤Ґ­вЁдЁЄ в®ал ЇҐаҐ¬Ґ­­л¬Ё-б«®ў ¬Ё ў ᥣ¬Ґ­вҐ ¤ ­­ле:
MOV BP,AL
MOV [OP_1+BX+DI+12],AX
MOV [OP_1],[OP_2]
MOV AX,[OP_3+DX]
MOV CS,AX
MOV [BX+SI],2
LEA BX,OP_2
MOV BX,OFFSET [OP_2]

**********************************************************************
**********************************************************************
Соседние файлы в папке 02