Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы по СП (1-20) / 02 / ASM_02
.txt **********************************************************************
‘€‘’…ЊЌЋ… ЏђЋѓђЂЊЊ€ђЋ‚ЂЌ€…
**********************************************************************
*******************
*** ’Ґ¬ 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 ***
*******************
**********************************************************************
‡ Є®¬бвў® б ®в« ¤зЁЄ®¬
**********************************************************************
–Ґ«м а Ў®вл:
‡ Є®¬бвў® б вгаЎ®- бᥬЎ«Ґа®¬ Ё жЁЄ«®¬ ᮧ¤ Ёп бᥬЎ«Ґа®© Їа®Ја ¬¬л
ђ Ў®в б ¤Ґ¬®бва жЁ®®© Їа®Ја ¬¬®© 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