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

*******************
*** ’Ґ¬  04 ***
*******************

**********************************************************************
‹Ћѓ€—…‘Љ€… Ё ‘„‚€ѓЋ‚›… ЉЋЊЂЌ„›
**********************************************************************

–Ґ«м а Ў®вл:
Ќ ЇЁб вм ­  п§лЄҐ  бᥬЎ«Ґа , ўлЇ®«­Ёвм Ё Ёбб«Ґ¤®ў вм б Ї®¬®ймо ®в« ¤зЁЄ 
Їа®Ја ¬¬г ¤«п а Ў®вл б «®ЈЁзҐбЄЁ¬Ё Є®¬ ­¤ ¬Ё Ё Є®¬ ­¤ ¬Ё б¤ўЁЈ 


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

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


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

2.1. ЋЇЁб ­ЁҐ а Ў®вл

„«п ЁбЇ®«м§®ў ­Ёп Їа®Ја ¬¬л-®в« ¤зЁЄ  Adfpro ­г¦­® бЄ®ЇЁа®ў вм ў
Є в «®Ј б нв®© Їа®Ја ¬¬®© бЄ®ЇЁа®ў вм  бᥬЎ«Ёа®ў ­­го Ё
бЄ®¬Ї®­®ў ­­го Їа®Ја ¬¬г ў ўЁ¤Ґ ЁбЇ®«­пҐ¬®Ј® ¬®¤г«п. Љ®¬ ­¤  § ЇгбЄ 
®в« ¤зЁЄ  Ё¬ҐҐв ўЁ¤
Adfpro Ё¬п_Їа®Ја ¬¬л

ђ Ў®в  б ®в« ¤зЁЄ®¬ Adfpro ­Ґб«®¦­  Ё ўҐ¤Ґвбп б Ї®¬®ймо ¬Ґ­о Ё Є®¬ ­¤.
ЏаЁ а Ў®вҐ ­  нЄа ­ ¬®¦­® ўлў®¤Ёвм Ї®¤бЄ §Єг. ‘«Ґ¤гҐв а §®Ўа вмбп б
®в« ¤зЁЄ®¬ ў а ¬Є е нв®Ј® § ¤ ­Ёп б ¬®бв®п⥫쭮. „«п ўл室  Ё§
®в« ¤зЁЄ  ЁбЇ®«м§гҐвбп Є®¬ ­¤  quit.

2.2. ’ҐЄбвл Їа®Ја ¬¬-®Ўа §ж®ў

ЏаЁ¬Ґал ¤®ЇгбвЁ¬ле Є®¬ ­¤ б ­ҐЇ®б।б⢥­­л¬Ё ®ЇҐа ­¤ ¬Ё - Є®¬ ­¤
б¤ўЁЈ®ў Ё «®ЈЁзҐбЄЁе.

ЏђЋѓђЂЊЊЂ-ЋЃђЂ‡…–
________________________________________________________________

TITLE EXIMM (EXE) ЏаЁ¬Ґа ­ҐЇ®б।б⢥­­ле ®ЇҐа ­¤®ў

DATASG SEGMENT PARA 'Data'
FLD1 DB ?
FLD2 DW ?
DATASG ENDS

CODESG SEGMENT PARA 'Code'
BEGIN PROC FAR
ASSUME CS:CODESG,DS:DATASG

; ђ®в жЁп Ё б¤ўЁЈ (в®«мЄ® ­  1 ЎЁв):
; ---------------------------------
RCL BL,1 ; а®в жЁп ў«Ґў® б ЇҐаҐ­®б®¬
RCR AH,1 ; а®в жЁп ўЇа ў® б ЇҐаҐ­®б®¬
ROL FID2,1 ; а®в жЁп ў«Ґў®
ROR AL,1 ; а®в жЁп ўЇа ў®
SAL CX,1 ; б¤ўЁЈ ў«Ґў®
SAR BX,1 ;  аЁд¬ҐвЁзҐбЄЁ© б¤ўЁЈ ўЇа ў®
SHR FLD1,1 ; б¤ўЁЈ ўЇа ў®

; ‹®ЈЁзҐбЄЁҐ ®ЇҐа жЁЁ:
; -------------------
AND AL,00101100B ;AND (ॣЁбва)
OR BH,2AH ;OR (ॣЁбва)
TEST BL,7AH ;TEST (ॣЁбва)
OR FLD1,23H ;XOR (Ї ¬пвм)
BEGIN ENDP
CODESG ENDS
END
________________________________________________________________

2.3. ЏаЁ¬Ґа Їа ЄвЁзҐбЄ®Ј® ЁбЇ®«м§®ў ­Ёп «®ЈЁзҐбЄЁе Є®¬ ­¤
ЏђЋѓђЂЊЊЂ: €‡Њ…Ќ…Ќ€… ‘’ђЋ—Ќ›• Ѓ“Љ‚ ЌЂ ЏђЋЏ€‘Ќ›…
________________________________________________________________

‘гйҐбвўгов а §«Ёз­лҐ ЇаЁзЁ­л ¤«п ЇаҐ®Ўа §®ў ­Ё© ¬Ґ¦¤г бва®з­л¬Ё Ё Їа®ЇЁб­л¬Ё
ЎгЄў ¬Ё. Ќ ЇаЁ¬Ґа, ­ҐЄ п Їа®Ја ¬¬  ¤®«¦­  Ї®§ў®«Ёвм Ї®«м§®ў вҐ«п¬ ўў®¤Ёвм
Є®¬ ­¤л Є Є Їа®ЇЁб­л¬Ё, в Є Ё бва®з­л¬Ё ЎгЄў ¬Ё (­ ЇаЁ¬Ґа, YES Ё«Ё yes) Ё
ЇаҐ®Ўа §®ў вм Ёе ў Їа®ЇЁб­лҐ ¤«п Їа®ўҐаЄЁ. Џа®ЇЁб­лҐ ЎгЄўл ®в A ¤® Z Ё¬Ґов
иҐбв­ ¤ж вҐаЁз­лҐ Є®¤л ®в 41 ¤® 5A,   бва®з­лҐ - ®в 61 ¤® 7A. …¤Ё­б⢥­­ п
а §­Ёж  ў ⮬, зв® Їпвл© ЎЁв а ўҐ­ 0 ¤«п § Ј« ў­ле ЎгЄў Ё 1 ¤«п бва®з­ле:

ЃЁвл: 76543210 ЃЁвл: 76543210
ЃгЄў  A: 01000001 ЃгЄў  a: 01100001
ЃгЄў  Z: 01011010 ЃгЄў  z: 01111010

ЏаЁўҐ¤Ґ­­ п Їа®Ја ¬¬ -®Ўа §Ґж ЇаҐ®Ўа §гҐв ¤ ­­лҐ ў Ї®«Ґ TITLEX Ё§ бва®з­ле
ЎгЄў ў Їа®ЇЁб­лҐ, ­ зЁ­ п б  ¤аҐб  TITLEX+1. Џа®Ја ¬¬  Ё­ЁжЁ «Ё§ЁагҐв ॣЁбва
BX  ¤аҐб®¬ TITLEX+1 Ё ЁбЇ®«м§гҐв ҐЈ® ¤«п ЇҐаҐбл«ЄЁ бЁ¬ў®«®ў ў ॣЁбва AH,
­ зЁ­ п б TITLEX+1. …б«Ё Ї®«г祭­®Ґ §­ зҐ­ЁҐ «Ґ¦Ёв ў ЇаҐ¤Ґ« е ®в иҐбв. 61 Ё
¤® 7A, в® Є®¬ ­¤  AND гбв ­ ў«Ёў Ґв ЎЁв 5 ў 0:
AND AH,11011111B

‚ᥠᨬў®«л, ®в«Ёз­лҐ ®в бва®з­ле ЎгЄў (®в a ¤® z), ­Ґ Ё§¬Ґ­повбп. €§¬Ґ­Ґ­­лҐ
бЁ¬ў®«л § бл« овбп ®Ўа в­® ў ®Ў« бвм TITLEX, §­ зҐ­ЁҐ ў ॣЁбвॠBX
㢥«ЁзЁў Ґвбп ¤«п ®зҐаҐ¤­®Ј® бЁ¬ў®«  Ё Їа®Ёб室Ёв ЇҐаҐе®¤ ­  б«Ґ¤гойЁ© жЁЄ«.

€‡Њ…Ќ…Ќ€… ‘’ђЋ—Ќ›• Ѓ“Љ‚ ЌЂ ЏђЋЏ€‘Ќ›…
________________________________________________________________

TITLE CASE (COM) ЏҐаҐЄ®¤Ёа®ўЄ  ў § Ј« ў­лҐ ЎгЄўл
CODESG SEGMENT PARA 'CODE'
ASSUME CS:CODESG,DS:CODESG,SS:CODESG
ORG 100H
BEGIN: JMP MAIN
; -------------------------------------------
TITLEX DB 'Change to uppercase letters'
; -------------------------------------------
MAIN PROC NEAR
LEA BX,TITLEX+1 ;  ¤аҐб ЇҐаў®Ј® бЁ¬ў®« 
MOV CX,31 ; зЁб«® бЁ¬ў®«®ў
B20:
MOV AH,[BX] ; бЁ¬ў®« Ё§ TITLEX
CMP AH,61H ; Їа®ЇЁб­ п ЎгЄў ?
JB B30 ;
CMP AH,7AH ;
JA B30 ;
AND AH,11011111B ; ¤  - ЇаҐ®Ўа §®ў вм
MOV [BX],AH ; § ЇЁб вм ў TITLEX
B30:
INC BX ; б«Ґ¤гойЁ© бЁ¬ў®«
LOOP B20 ; Ї®ўв®аЁвм жЁЄ« 31 а §
RET
MAIN ENDP
CODESG ENDS
END BEGIN
________________________________________________________________

€бЇ®«м§гҐ¬л© в ЄЁ¬ ®Ўа §®¬ ॣЁбва BX ¤Ґ©бвўгҐв Є Є Ё­¤ҐЄб­л© ॣЁбва ¤«п
 ¤аҐб жЁЁ ў Ї ¬пвЁ. „«п нвЁе ¦Ґ 楫Ґ© ¬®¦­® ЁбЇ®«м§®ў вм ॣЁбвал SI Ё DI.

2.4. ’ЁЇ®ў®Ґ ®Ўа ¬«Ґ­ЁҐ Їа®Ја ¬¬

Ћ вЁЇ®ў®¬ ®Ўа ¬«Ґ­ЁЁ Їа®Ја ¬¬ 㦥 Ј®ў®аЁ«®бм ў ⥬Ґ "03 „ў®Ёз­лҐ  аЁд¬ҐвЁзҐбЄЁҐ
ўлзЁб«Ґ­Ёп - «Ё­Ґ©­лҐ Їа®Ја ¬¬л". Ќ® §¤Ґбм ЁбЇ®«м§гҐвбп ¤агЈ®Ґ ®Ўа ¬«Ґ­ЁҐ -
Їа®б⥩襥 - Ґ¬г ᮮ⢥вбвўгҐв д ©« LOG-FORM.ASM. ‚®в ᮤҐа¦Ё¬®Ґ нв®Ј® д ©«  б
­ҐЄ®в®ал¬Ё Ї®пб­Ґ­Ёп¬Ё.

TITLE PROGNAME (EXE)
;----------------------------------------
STACKSG SEGMENT PARA STACK 'Stack'
DW 32 DUP (?)
STACKSG ENDS
;----------------------------------------
DATASG SEGMENT PARA 'Data'
; ... |
; ... | ‡¤Ґбм Ўг¤гв ­г¦­лҐ ®ЇаҐ¤Ґ«Ґ­Ёп ¤ ­­ле
; ... |
EXIT DW (?) ; ўл室 Ї® «оЎ®© Є« ўЁиҐ
DATASG ENDS
;----------------------------------------
CODESG SEGMENT PARA 'Code'
BEGIN PROC FAR
ASSUME CS:CODESG,DS:DATASG,SS:STACKSG
PUSH DS
XOR AX,AX ; § ЇЁбм ў б⥪
PUSH AX ; ­г«Ґў®Ј®  ¤аҐб 
MOV AX,DATASG ; § бл«Є   ¤аҐб 
MOV DS,AX ; DATASG ў ॣЁбва DS
;----------------------------------------
; ... |
; ... | ‡¤Ґбм Ўг¤Ґв ­г¦­л© Їа®Ја ¬¬­л© Є®¤
; ... |
RET ; § ўҐа襭ЁҐ Їа®Ја ¬¬л
BEGIN ENDP
CODESG ENDS
END BEGIN

ЋЎа ¬«Ґ­ЁҐ ᮤҐа¦Ёв:
1) ®ЇаҐ¤Ґ«Ґ­ЁҐ ᥣ¬Ґ­в  б⥪ , ®д®а¬«Ґ­­®Ґ ¤ЁаҐЄвЁў ¬Ё STACKSG SEGMENT Ё
STACKSG ENDS; б ¬ ᥣ¬Ґ­в б®бв®Ёв Ё§ 32-е б«®ў Ї ¬пвЁ, зв® § ¤ Ґвбп
¤ЁаҐЄвЁў®© DW 32 DUP (?).
2) ®ЇаҐ¤Ґ«Ґ­ЁҐ ᥣ¬Ґ­в  ¤ ­­ле, ®д®а¬«Ґ­­®Ґ ¤ЁаҐЄвЁў ¬Ё DATASG SEGMENT Ё
DATASG ENDS;
3) ®ЇаҐ¤Ґ«Ґ­ЁҐ ᥣ¬Ґ­в  Є®¤ , ®д®а¬«Ґ­­®Ґ ¤ЁаҐЄвЁў ¬Ё CODESG SEGMENT Ё
CODESG ENDS.

2.5. Џ®¤Ј®в®ўЄ  Їа®Ја ¬¬л Є ўлЇ®«­Ґ­Ёо.

Џ®«­лҐ ⥪бвл Їа®Ја ¬¬ ­ҐўҐ«ЁЄЁ Ё Ї®в®¬г б«Ґ¤гҐв ўўҐбвЁ Ёе б ¬®бв®п⥫쭮.

ЏҐаў п Їа®Ја ¬¬ -®Ўа §Ґж
Ћ­  Ё¬ҐҐв вЁЇ EXE, ® Є®в®а®¬ Ё§ўҐбв­® ¤®бв в®з­®. ’ҐЄбв нв®© Їа®Ја ¬¬л ­г¦­®
ўўҐбвЁ ў ®Ўа ¬«Ґ­ЁҐ. „«п  бᥬЎ«Ёа®ў ­Ёп Їа®Ја ¬¬л ­г¦­  Є®¬ ­¤ :
TASM.EXE /la /z /zi PROG.ASM
Ј¤Ґ PROG.ASM - гб«®ў­®Ґ Ё¬п Ёб室­®© Їа®Ја ¬¬л.
„«п Є®¬Ї®­®ўЄЁ Їа®Ја ¬¬л ­г¦­  Є®¬ ­¤ :
TLINK.EXE PROG.OBJ, PROG-EXE
Ј¤Ґ PROG.OBJ - Ё¬п OBJ-¬®¤г«п  бᥬЎ«Ёа®ў ­­®© Їа®Ја ¬¬л,
PROG-EXE - Ё¬п ЁбЇ®«­Ё¬®© EXE-Їа®Ја ¬¬л (ЎҐ§ а биЁаҐ­Ёп).

‚в®а п Їа®Ја ¬¬ -®Ўа §Ґж
Џа®Ја ¬¬  ¤«п Ё§¬Ґ­Ґ­Ёп бва®з­ле ЎгЄў ­  Їа®ЇЁб­лҐ Ё¬ҐҐв вЁЇ COM.
’ ЄЁҐ Їа®Ја ¬¬л ®аЈ ­Ё§®ў ­л Ё­ зҐ (§­ Є®¬бвў® б нвЁ¬ б®бв®Ёвбп Ї®§¤Ґ­ҐҐ).
€е  бᥬЎ«а®ў ­ЁҐ ­Ґ Ё¬ҐҐв ®б®ЎҐ­­®б⥩, ­® Ї®б«Ґ  бᥬЎ«Ёа®ў ­Ёп Їа®Ја ¬¬г
­ ¤«Ґ¦Ёв ЇаҐ®Ўа §®ў вм ў COM-д®а¬ в.

ЏаЁўҐ¤Ґ­­л© Їа®Ја ¬¬­л© ⥪бв Ї®«­®бвмо Ј®в®ў ¤«п  бᥬЎ«Ёа®ў ­Ёп, ᮤҐа¦Ёв
ўбҐ ­Ґ®Ўе®¤Ё¬®Ґ Ё ­Ґ вॡгҐв ўЄ«о祭Ёп ў ®Ўа ¬«Ґ­Ёп.

„«п ᮧ¤ ­Ёп Їа®Ја ¬¬л вЁЇ  COM ­Ґ®Ўе®¤Ё¬® ЇаЁ ўл§®ўҐ Є®¬Ї®­®ўйЁЄ  ¤®Ў ў®з­®
ўўҐбвЁ Є«оз /T:
TLINK.EXE /t PROG.OBJ, PROG-EXE
…б«Ё ­Ґ ᤥ« вм нв®Ј®, Ўг¤Ґ Ї®«г祭  Їа®Ја ¬¬  вЁЇ  EXE, ­® ®­  ®Є ¦Ґвбп
­Ґа Ў®в®бЇ®б®Ў­®©.


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

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


4. ‡ ¤ ­ЁҐ ­  а Ў®вг
01. Џ®¤а®Ў­® а §®Ўа вмбп ў ЇаЁўҐ¤Ґ­­ле ⥪бв е Їа®Ја ¬¬-®Ўа §ж®ў.
02. ‘Є®ЇЁа®ў вм Ё§ гЄ § ­­®Ј® Є в «®Ј  ⥪бв ®Ўа ¬«Ґ­Ёп Їа®Ја ¬¬л
LOG_FORM.ASM, Ё§¬Ґ­Ёў Ґ¬г Ё¬п Ї® гᬮв७Ёо, ў бў®© а Ў®зЁ© Є в «®Ј.
03. ‚§пў §  ®б­®ўг ⥪бв ЇҐаў®© Їа®Ја ¬¬л-®Ўа §ж , ўўҐбвЁ ҐЈ® ў ®Ўа ¬«Ґ­ЁҐ б®
б«Ґ¤гойЁ¬Ё Ё§¬Ґ­Ґ­Ёп¬Ё:
- § ¬Ґ­Ёвм ­ҐЇ®б।б⢥­­лҐ ®ЇҐа ­¤л ­  ®ЇҐа ­¤л, ўў®¤Ё¬лҐ Є Є
ЇҐаҐ¬Ґ­­лҐ ў ᥣ¬Ґ­вҐ ¤ ­­ле;
- ў­ҐбвЁ ў ⥪бв Їа®Ја ¬¬л Є®¬ ­¤г, ­Ґ®Ўе®¤Ё¬го ¤«п § ­ҐбҐ­Ёп ЇҐаў®Ј®
Ё§ нвЁе ®ЇҐа ­¤®ў ў ॣЁбва BL - ¤«п а Ў®вл б Є®¬ ­¤ ¬Ё б¤ўЁЈ ;
- ЁбЇ®«м§®ў вм ўв®а®© Ё§ ®ЇҐа ­¤®ў ў Є®¬ ­¤Ґ AND.
04. ЂбᥬЎ«Ёа®ў вм Їа®Ја ¬¬г, бЄ®¬Ї®­®ў вм ҐҐ Ё Ї®«гзЁвм EXE-¬®¤г«м.
05. ‘Є®ЇЁа®ў вм нв®в ¬®¤г«м ў Є в «®Ј, Ј¤Ґ ­ е®¤Ёвбп adfpro.
06. ‡ ЇгбвЁвм ®в« ¤зЁЄ ¤«п ®в« ¤ЄЁ Ё ўлЇ®«­Ґ­Ёп нв®© Їа®Ја ¬¬л Ё а §®Ўа вмбп б
ҐҐ а Ў®в®©. ђҐ§г«мв вл ўлЇ®«­Ґ­Ёп Їа®Ја ¬¬л ¬®¦­® ўЁ¤Ґвм ­  нЄа ­Ґ ®в« ¤зЁЄ .
07. €бЇ®«м§гп ⥪бв ўв®а®© Їа®Ја ¬¬л-®Ўа §ж , б®бв ўЁвм д ©« NAME.ASM,
Ј¤Ґ ў§ ¬Ґ­ NAME ЁбЇ®«м§®ў вм ¤агЈ®Ґ Ё¬п - Ї® бў®Ґ¬г ўлЎ®аг.
08. ЂбᥬЎ«Ёа®ў вм Їа®Ја ¬¬г, бЄ®¬Ї®­®ў вм ҐҐ Ё Ї®«гзЁвм COM-¬®¤г«м.
09. ‘Є®ЇЁа®ў вм нв®в ¬®¤г«м ў Є в «®Ј, Ј¤Ґ ­ е®¤Ёвбп adfpro.
10. ‡ ЇгбвЁвм ®в« ¤зЁЄ ¤«п ®в« ¤ЄЁ Ё ўлЇ®«­Ґ­Ёп нв®© Їа®Ја ¬¬л Ё а §®Ўа вмбп б
ҐҐ а Ў®в®©. ђҐ§г«мв вл ўлЇ®«­Ґ­Ёп Їа®Ја ¬¬л ¬®¦­® ўЁ¤Ґвм ­  нЄа ­Ґ ®в« ¤зЁЄ .

**********************************************************************
**********************************************************************