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

*******************
*** ’Ґ¬  13 ***
*******************

**********************************************************************
‚‚Ћ„-‚›‚Ћ„ ’…Љ‘’Ћ‚Ћ‰ €Ќ”ЋђЊЂ–€€ ‘ђ…„‘’‚ЂЊ€ BIOS Ё DOS
**********************************************************************

–Ґ«м а Ў®вл:
Ќ ЇЁб вм ­  п§лЄҐ  бᥬЎ«Ґа  Їа®Ја ¬¬г ­  ®б­®ўҐ § ¤ ­Ё© Ї® ⥬Ґ
"11 €бЇ®«м§®ў ­ЁҐ ў­Ґи­Ёе Їа®жҐ¤га" Ё«Ё "12 €бЇ®«м§®ў ­ЁҐ ¬ Єа®б।бвў",
ЁбЇ®«м§гойго ®ЇҐа жЁЁ ўў®¤  б Є« ўЁ вгал Ё ўлў®¤  ­  нЄа ­ ­  ®б­®ўҐ
ЇаҐалў ­Ё© DOS Ё Ѓ‘‚‚.


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

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


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

2.1. ‚ў®¤ б Є« ўЁ вгал - Їа®жҐ¤га  ўў®¤  б Є« ўЁ вгал ®ЎйҐЈ® ­ §­ зҐ­Ёп.

‘Ёб⥬  Є®¤®ў, ЁбЇ®«м§гҐ¬ле Є« ўЁ вга®©, ­Ґ Ї®¤¤ Ґвбп Їа®бв®© Ё­в९аҐв жЁЁ.
K®¤л ¬®Јгв Ё¬Ґвм ¤«Ё­г ®¤Ё­ Ё«Ё ¤ў  Ў ©в , Ё ­Ґв Їа®бв®Ј® ᮮ⢥вбвўЁп ¬Ґ¦¤г
¤«Ё­®© Є®¤  Ё ⥬, б«г¦Ёв «Ё ®­ ¤«п ®Ў®§­ зҐ­Ёп бЁ¬ў®«  Ё«Ё ¤«п гЇа ў«Ґ­Ёп.
HҐ ўбҐ Є®¬ЎЁ­ жЁЁ Є« ўЁи ¤ ¦Ґ ўл¤ ов г­ЁЄ «м­л© Є®¤, Ї®н⮬㠭Ґ®Ўе®¤Ё¬л
¤®Ў ў®з­лҐ гбЁ«Ёп, зв®Ўл а §«ЁзЁвм Ёе. HЁ Є®¤л ASCII, ­Ё а биЁаҐ­­лҐ Є®¤л ­Ґ
гЇ®а冷祭л в Є, зв®Ўл Ї®§ў®«п« бм Ёе Їа®бв п ЈагЇЇЁа®ўЄ  Ё Їа®ўҐаЄ  ®иЁЎ®Є.
’ Є зв® Їа®жҐ¤га  ўў®¤  б Є« ўЁ вгал ®ЎйҐЈ® ­ §­ зҐ­Ёп вॡгҐв е«®Ї®в«Ёў®Ј®
Їа®Ја ¬¬Ёа®ў ­Ёп.

ЏаЁўҐ¤Ґ­­л© ЇаЁ¬Ґа ®в«Ёз Ґвбп ⥬, зв®, Є®Ј¤  ўбв Ґв ў®Їа®б ® ⮬, ў®§­ЁЄ «Ё
Ї®«г祭­л© Є®¤ ЇаЁ ­ ¦ вЁЁ ®¤­®© Є« ўЁиЁ «ЁЎ® ў Є®¬ЎЁ­ жЁЁ б Є« ўЁиҐ© Ctrl,
Їа®ўҐапҐвбп бЄ ­-Є®¤ (Єбв вЁ, бЄ ­-Є®¤ § Ї®¬Ё­ Ґвбп ў ЎгдҐаҐ Є« ўЁ вгал).

;---Ї®«г祭ЁҐ Є®¤  ­ ¦ в®© Є« ўЁиЁ Ё ®ЇаҐ¤Ґ«Ґ­ЁҐ ҐЈ® вЁЇ 
NEXT: MOV AH,0 ;дг­ЄжЁп ўў®¤  б Є« ўЁ вгал BIOS
INT 16H ;Ї®«гз Ґ¬ ўўҐ¤Ґ­­л© Є®¤
CMP AL,0 ;Їа®ўҐаЄ  ­  а биЁаҐ­­л© Є®¤
JE EXTENDED_CODE ;Ґб«Ё ¤ , в® ­  бЇҐжЁ «м­го Їа®жҐ¤гаг
CMP AL,32 ;Їа®ўҐаЄ  ­  гЇа ў«пойЁ© бЁ¬ў®«
JL CONTROL_CODE ;Ґб«Ё ¤ , в® ­  бЇҐжЁ «м­го Їа®жҐ¤гаг
CMP AL,65 ;Ґб«Ё бЁ¬ў®« ­Ґ ўе®¤Ёв ў ­ Ў®а ЇЁиг饩
JL NEXT ; ¬ иЁ­ЄЁ, в® ЎҐаҐ¬ б«Ґ¤гойЁ©
CMP AL,123
JL NEXT
;---⥯Ґам ®Ўа Ў влў Ґ¬ бЁ¬ў®« ў AL
STOSB ;§ Ї®¬Ё­ Ґ¬ бЁ¬ў®« Ї®  ¤аҐбг ES:DI
MOV AH,2 ;дг­ЄжЁп ўлў®¤  бЁ¬ў®«  ­  нЄа ­
MOV DL,AL ;Ї®¬Ґй Ґ¬ бЁ¬ў®« ў DL ЇҐаҐ¤ ўлў®¤®¬
INT 21H ;ўлў®¤Ё¬ ҐЈ® ­  нЄа ­
. . .
JMP NEXT ;ЇҐаҐе®¤Ё¬ Є б«Ґ¤го饬г бЁ¬ў®«г
;--- ­ «Ё§Ёа㥬 гЇа ў«пойЁҐ Є®¤л
CONTROL_CODE:
CMP AL,13 ;Є®¤ ASCII 13?
JNE TAB ;Ґб«Ё ­Ґв, в® б«Ґ¤гой п Їа®ўҐаЄ 
CMP AH,28 ;Ё­ зҐ Їа®ўҐа塞 бЄ ­-Є®¤ <CR>
JNE C_M ;Ґб«Ё ­Ґв, в® Ўл«® Ctrl-M
CALL CARRIAGE_RET ;®Ўа Ў®вЄ  ў®§ўа в  Є аҐвЄЁ
JMP NEXT ;ЇҐаҐе®¤ Є б«Ґ¤го饬г бЁ¬ў®«г
C_M: CALL CTRL_M ;®Ўа Ў®вЄ  Ctrl-M
JMP NEXT ;ЇҐаҐе®¤ Є б«Ґ¤го饬г бЁ¬ў®«г
TAB: CMP AL,9 ;Їа®ўҐаЄ  ­  в Ўг«пжЁо
. . .
CMP AL,10 ;§ вҐ¬ Їа®ўҐаЄ  ¤агЈЁе
. . .
REJECT: JMP NEXT ;ЇҐаҐе®¤ Є б«Ґ¤го饬г бЁ¬ў®«г
;--- ­ «Ё§ а биЁаҐ­­ле Є®¤®ў (ўв®а®© Ў ©в Є®¤  ў AH):
EXTENDED_CODE:
CMP AH,71 ;Їа®ўҐаЄ  ­Ё¦­Ґ© Ја ­Ёжл
JL REJECT ;Ґб«Ё ¬Ґ­миҐ, в® б«Ґ¤гойЁ© бЁ¬ў®«
CMP AH,81 ;Їа®ўҐаЄ  ўҐае­Ґ© Ја ­Ёжл
JL REJECT ;Ґб«Ё Ў®«миҐ, в® б«Ґ¤гойЁ© бЁ¬ў®«
;---AH ᮤҐа¦Ёв бЁ¬ў®« гЇа ў«Ґ­Ёп Єгаб®а®¬,  ­ «Ё§Ёа㥬 ҐЈ®:
CMP AH,72 ;"Єгаб®а-ўўҐае"?
JE C_U ;Ґб«Ё ¤ , в® ­  Їа®жҐ¤гаг
CMP AH,80 ;"Єгаб®а-ў­Ё§"?
JE C_D ;Ґб«Ё ¤ , в® ­  Їа®жҐ¤гаг
. . .
C_U: CALL CURSOR_UP ;ўл§®ў ᮮ⢥вбвўго饩 Їа®жҐ¤гал
JMP NEXT ;ЇҐаҐе®¤ Є б«Ґ¤го饬г бЁ¬ў®«г
C_D: CALL CURSOR_DOWN ;ўл§®ў ᮮ⢥вбвўго饩 Їа®жҐ¤гал
JMP NEXT ;ЇҐаҐе®¤ Є б«Ґ¤го饬г бЁ¬ў®«г


2.2. ‚ў®¤ б Є« ўЁ вгал - Ї®«г祭ЁҐ бва®ЄЁ бЁ¬ў®«®ў.

DOS ЇаҐ¤®бв ў«пҐв Їа®жҐ¤гал ¤«п ЇаЁҐ¬  бва®ЄЁ бЁ¬ў®«®ў. Ћ­Ё  ўв®¬ вЁзҐбЄЁ
Ї®ўв®апов Їа®жҐ¤гал ўў®¤  ®¤­®Ј® бЁ¬ў®« , ®¦Ё¤ п ­ ¦ вЁп Є« ўЁиЁ ўў®¤ ,
бЁЈ­ «Ё§Ёаго饣® ®Є®­з ­ЁҐ бва®ЄЁ. K®­Ґз­®, ­г¦­® ®вўҐбвЁ Ї ¬пвм, ¤®бв в®з­го
¤«п ЇаЁҐ¬  ўбҐе бЁ¬ў®«®ў бва®ЄЁ, Ё ¤®«¦­  § ЇЁблў вмбп ¤«Ё­  Є ¦¤®© бва®ЄЁ ¤«п
в®Ј®, зв®Ўл ®в¤Ґ«Ёвм ®¤­г бва®Єг ®в ¤агЈ®©. ќв® ¤Ґ« Ґвбп б Ї®¬®ймо ¤ҐбЄаЁЇв®а®ў
бва®ЄЁ, Є®в®алҐ б®бв®пв Ё§ ®¤­®Ј® Ё«Ё Ў®«ҐҐ Ў ©в®ў, ᮤҐа¦ йЁе  ¤аҐб Ё«Ё ¤«Ё­г
бва®ЄЁ. DOS еа ­Ёв ¤«Ё­г бва®ЄЁ Їаאַ ў ­ з «Ґ б ¬®© бва®ЄЁ, Ё Їа®Ја ¬¬Ґ
¤®бв в®з­® §­ вм Ї®«®¦Ґ­ЁҐ бва®ЄЁ ў Ї ¬пвЁ.

”г­ЄжЁп 0AH ЇаҐалў ­Ёп 21H Ї®§ў®«пҐв ўў®¤Ёвм бва®Єг ¤«Ё­®© ¤® 254-е бЁ¬ў®«®ў,
ўл¤ ў п не® ­  вҐа¬Ё­ «. ќв  Їа®жҐ¤га  Їа®¤®«¦ Ґв ўў®¤ Ї®бвгЇ ойЁе бЁ¬ў®«®ў,
Ї®Є  ­Ґ Ўг¤Ґв ­ ¦ в  Є« ўЁи  ўў®¤ . DS:DX гЄ §лў Ґв ­   ¤аҐб Ї ¬пвЁ, Єг¤ 
¤®«¦­  Ї®¬Ґй вмбп бва®Є . ЏаЁ ўе®¤Ґ ЇҐаўл© Ў ©в ў нв®© Ї®§ЁжЁЁ ¤®«¦Ґ­ ᮤҐа¦ вм
зЁб«® Ў ©в®ў, ®вў®¤Ё¬ле ¤«п бва®ЄЁ. Џ®б«Ґ в®Ј® Є Є бва®Є  ўўҐ¤Ґ­ , ўв®а®© Ў ©в
¤ бв зЁб«® ॠ«м­® ўўҐ¤Ґ­­ле бЁ¬ў®«®ў. ‘ ¬  бва®Є  ­ зЁ­ Ґвбп б ваҐв쥣® Ў ©в .

H ¤® ®вўҐбвЁ ¤®бв в®з­® Ї ¬пвЁ ¤«п бва®ЄЁ ­г¦­®© ¤«Ё­л Ї«об ¤ў  Ў ©в  ¤«п
¤ҐбЄаЁЇв®а  бва®ЄЁ Ё ®¤Ё­ ¤®Ў ў®з­л© Ў ©в ¤«п бЁ¬ў®«  ў®§ўа в  Є аҐвЄЁ. K®Ј¤ 
гбв ­ ў«Ёў Ґвбп ¬ ЄбЁ¬ «м­ п ¤«Ё­  бва®ЄЁ ў ЇҐаў®¬ Ў ©вҐ, ­Ґ®Ўе®¤Ё¬® ¤®Ў ўЁвм
1 ¤«п бЁ¬ў®«  ў®§ўа в  Є аҐвЄЁ. K®¤ ў®§ўа в  Є аҐвЄЁ - ASCII 13 - ўў®¤Ёвбп Є Є
Ї®б«Ґ¤­Ё© бЁ¬ў®« бва®ЄЁ, ­® ®­ ­Ґ гзЁвлў Ґвбп ў १г«мв вҐ, Є®в®ал© дг­ЄжЁп
Ї®¬Ґй Ґв ў® ўв®а®© Ў ©в ¤ҐбЄаЁЇв®а  бва®ЄЁ. ’ Є зв® ¤«п Ї®«г祭Ёп 50-бЁ¬ў®«м­®©
бва®ЄЁ ­ ¤® ®вўҐбвЁ 53 Ў ©в  Ї ¬пвЁ Ё Ї®¬ҐбвЁвм ў ЇҐаўл© Ў ©в Є®¤ ASCII 51.
Џ®б«Ґ ўў®¤  50-вЁ бЁ¬ў®«®ў ўв®а®© Ў ©в Ўг¤Ґв ᮤҐа¦ вм ASCII 50,   53-© Ў ©в
®вўҐ¤Ґ­­®© Ї ¬пвЁ - ASCII 13.

;---ў ᥣ¬Ґ­вҐ ¤ ­­ле
STRING DB 53 DUP (?) ;®Ў« бвм ¤«п бва®ЄЁ 50 бЁ¬ў®«®ў

;---Ї®«г祭ЁҐ бва®ЄЁ б Є« ўЁ вгал
LEA DX,STRING ;DS:DX гЄ §лў ов ­   ¤аҐб бва®ЄЁ
MOV BX,DX ;Їгбвм BX ⮦Ґ гЄ §лў Ґв ­  бва®Єг
MOV AL,51 ;гбв ­®ўЄ  ¤«Ё­л бва®ЄЁ (+1 ¤«п CR)
MOV [BX],AL ;Ї®бл« Ґ¬ ў ЇҐаўл© Ў ©в ¤ҐбЄаЁЇв®а 
MOV AH,0AH ; ­®¬Ґа дг­ЄжЁЁ
INT 21H ;Ї®«гз Ґ¬ бва®Єг
;---Їа®ўҐаЄ  ¤«Ё­л бва®ЄЁ
MOV AH,[BX]+1 ;⥯Ґам ¤«Ё­  ў AH

‚ нв®© Їа®жҐ¤гॠ¬®¦­® ЁбЇ®«м§®ў вм ў®§¬®¦­®б⨠। ЄвЁа®ў ­Ёп бва®ЄЁ DOS.
H ¦ вЁҐ Є« ўЁиЁ § Ў®п Ё«Ё бв५ЄЁ-ў«Ґў® г¤ «пҐв бЁ¬ў®« б нЄа ­  Ё ­Ґ Ї®¬Ґй Ґв
ҐЈ® ў Ї ¬пвм. ђ Ў®в Ґв Є« ўЁи  в Ўг«пжЁЁ, а биЁаҐ­­лҐ Є®¤л ЁЈ­®аЁаговбп,
¤®ЇгбЄ овбп ЇгбвлҐ бва®ЄЁ (Ё¬ҐҐвбп ўўЁ¤г ў®§ўа в Є аҐвЄЁ, Є®в®а®¬г ­Ґ
ЇаҐ¤иҐбвўгҐв ¤агЈ®© бЁ¬ў®«). H  вҐа¬Ё­ «Ґ ЇаЁ ¤®бвЁ¦Ґ­ЁЁ Їа ў®Ј® Єа п бва®Є 
ЇҐаҐ­®бЁвбп ­  б«Ґ¤гойго бва®Єг,   ЇаЁ ¤®бвЁ¦Ґ­ЁЁ Їа ў®Ј® ­Ё¦­ҐЈ® гЈ«  нЄа ­
б¤ўЁЈ Ґвбп ­  бва®Єг ўўҐае. K®Ј¤  ўў®¤Ёвбп Ў®«миҐ бЁ¬ў®«®ў, 祬 ®вўҐ¤Ґ­® ¬Ґбв 
¤«п бва®ЄЁ, «Ёи­ЁҐ бЁ¬ў®«л ЁЈ­®аЁаговбп Ё ўЄ«оз Ґвбп Јг¤®Є ¤Ё­ ¬ЁЄ . DOS
®ЎҐбЇҐзЁў Ґв Ё ¤агЈ®© бЇ®б®Ў Ї®«г祭Ёп бва®ЄЁ, ЇаЁ Є®Ґ¬ ­Ґ ўлў®¤Ёвбп не® ­ 
вҐа¬Ё­ «. ”г­ЄжЁп 3FH ЇаҐалў ­Ёп 21H Ґбвм дг­ЄжЁп ўў®¤  ®ЎйҐЈ® ­ §­ зҐ­Ёп,
Є®в®а п з йҐ ўбҐЈ® ЁбЇ®«м§гҐвбп ЇаЁ ¤ЁбЄ®ўле ®ЇҐа жЁпе. Ћ­  вॡгҐв
ЇаҐ¤®ЇаҐ¤Ґ«Ґ­­®Ј® ¤ҐбЄаЁЇв®а  д ©«  (file handle), Є®в®ал© ¤ Ґв Є®¤®ў®Ґ зЁб«®,
ЁбЇ®«м§гҐ¬®Ґ бЁб⥬®© ¤«п ®Ў®§­ зҐ­Ёп гбва®©бвў  ўў®¤ -ўлў®¤ . „«п Є« ўЁвгал
ЁбЇ®«м§гҐвбп ¤ҐбЄаЁЇв®а 0, Ё ®­ ¤®«¦Ґ­ Ї®¬Ґй вмбп ў BX. Џ®¬ҐбвЁвҐ ў DS:DX
 ¤аҐб, Ї® Є®Ґ¬г ¤®«¦­  ­ е®¤Ёвмбп бва®Є ,   ў CX - ¬ ЄбЁ¬ «м­го ¤«Ё­г бва®ЄЁ Ё
ўл§®ўЁвҐ дг­ЄжЁо:

;---з⥭ЁҐ бва®ЄЁ ЎҐ§ не 
MOV AH,3FH ;­®¬Ґа дг­ЄжЁЁ
MOV BX,0 ;­®¬Ґа ¤ҐбЄаЁЇв®а  д ©« 
LEA DX,STRING_BUFFER ;гЄ § вҐ«м ­  ЎгдҐа ўў®¤  бва®ЄЁ
MOV CX,100 ;¬ ЄбЁ¬ «м­ п ¤«Ё­  бва®ЄЁ
INT 21H ;¦¤Ґ¬ ўў®¤ 

‚ў®¤ бва®ЄЁ § ўҐаи Ґвбп ­ ¦ вЁҐ¬ Є« ўЁиЁ ў®§ўа в  Є аҐвЄЁ, Ё DOS ¤®Ў ў«пҐв ў
Є®­Ґж бва®ЄЁ ¤ў  бЁ¬ў®« : ў®§ўа в Є аҐвЄЁ Ё ЇҐаҐў®¤ бва®ЄЁ (ASCII 13 Ё ASCII
10). €§-§  нвЁе ¤®Ў ў®з­ле бЁ¬ў®«®ў ЇаЁ гЄ § ­ЁЁ ¤«Ё­л бва®ЄЁ 100 бЁ¬ў®«®ў ®­ 
¬®¦Ґв § ­Ё¬ вм ¤® 102 Ў ©в®ў Ї ¬пвЁ. „«Ё­  ўўҐ¤Ґ­­®© бва®ЄЁ ў®§ўа й Ґвбп ў AX,
Ё нв® §­ зҐ­ЁҐ ўЄ«оз Ґв ¤ў  бЁ¬ў®« -®Ја ­ЁзЁвҐ«п.


2.3. ‚лў®¤ бва®ЄЁ бЁ¬ў®«®ў ­  нЄа ­.

Џа®жҐ¤гал, Є®в®алҐ ўлў®¤пв жҐ«лҐ бва®ЄЁ бЁ¬ў®«®ў, ®зҐ­м Ї®«Ґ§­л, ­® ¬®Јгв
­ Є« ¤лў вм ®Ја ­ЁзҐ­Ёп ­  ᮤҐа¦Ё¬®Ґ ўлў®¤Ё¬®© бва®ЄЁ. H ¤® ®Ўа й вм ў­Ё¬ ­ЁҐ
­  в®, Є ЄЁҐ гЇа ў«пойЁҐ Є®¤л (в Ўг«пжЁп, Їа®ЎҐ« Ё Їа.) Ё­вҐаЇаҐвЁаговбп,  
Є ЄЁҐ ­Ґв. ”г­ЄжЁп Ѓ‘‚‚ ЇаҐ¤®бв ў«пҐв Ў®«миЁ© Є®­ва®«м ­ ¤  ваЁЎгв ¬Ё бЁ¬ў®«®ў.

”г­ЄжЁп 9 ЇаҐалў ­Ёп 21H ўлў®¤Ёв бва®Єг. DS:DX ¤®«¦­л гЄ §лў вм ­  ЇҐаўл©
бЁ¬ў®« бва®ЄЁ. ‘ва®Є  ¤®«¦­  § ўҐаи вмбп бЁ¬ў®«®¬ $,   нв® §­ зЁв, зв® б ¬
бЁ¬ў®« $ ­Ґ ¬®¦Ґв ўе®¤Ёвм ў бва®Єг. ’ Є®Ґ ®Ја ­ЁзҐ­ЁҐ ­  ЁбЇ®«м§®ў ­ЁҐ бЁ¬ў®« 
$ ¤Ґ« Ґв дг­ЄжЁо 9 ЎҐбЇ®«Ґ§­®© ¤«п ¬­®ЈЁе ЇаЁ«®¦Ґ­Ё©. ‘ва®Є  ¬®¦Ґв Ўлвм «оЎ®©
¤«Ё­л. ”г­ЄжЁп ­Ґ ЇҐаҐў®¤Ёв  ўв®¬ вЁзҐбЄЁ Єгаб®а ­  ­ з «® б«Ґ¤го饩 бва®ЄЁ
Ї®б«Ґ § ўҐа襭Ёп ўлў®¤ . —в®Ўл нв® ўлЇ®«­п«®бм, ­ ¤® ¤®Ў ўЁвм ў Є®­Ґж бва®ЄЁ
бЁ¬ў®«л 0AH (ЇҐаҐў®¤ бва®ЄЁ) Ё 0DH (ў®§ўа в Є аҐвЄЁ).

;---ў ᥣ¬Ґ­вҐ ¤ ­­ле
FIRST_STRING DB 'This is the first string',0AH,0DH,'$'
SECOND_STRING DB 'And this is the second string$'

;---ўлў®¤ бва®ЄЁ
MOV AH,9 ;­®¬Ґа дг­ЄжЁЁ ўлў®¤  бва®ЄЁ
LEA DX,FIRST_STRING ;§ Јаг¦ Ґ¬  ¤аҐб ЇҐаў®© бва®ЄЁ
INT 21H ;ЇҐз в Ґ¬ бва®Єг б Ї®§ЁжЁЁ Єгаб®а 
LEA DX,SECOND_STRING ;§ Јаг¦ Ґ¬  ¤аҐб ўв®а®© бва®ЄЁ
INT 21H ;ЇҐз в Ґ¬ бва®Єг б ­ з «  ­®ў®© бва®ЄЁ

ЏаЁ ўлў®¤Ґ Ё­вҐаЇаҐвЁаговбп б«Ґ¤гойЁҐ гЇа ў«пойЁҐ Є®¤л:
ASCII 7 §ў®­®Є
ASCII 8 ў®§ўа в ­  и Ј (BackSpace)
ASCII 9 в Ўг«пжЁп
ASCII 10 ЇҐаҐў®¤ бва®ЄЁ
ASCII 13 ў®§ўа в Є аҐвЄЁ

”г­ЄжЁп DOS 40H ЇаҐалў ­Ёп 21H ⮦Ґ Ї®«Ґ§­  ЇаЁ ўлў®¤Ґ бва®Є ­  нЄа ­. Ћ­ 
вॡгҐв, зв®Ўл Ўл«  Ё§ўҐбв­  ¤«Ё­  бва®ЄЁ, Ї®бЄ®«мЄг Ґ© ­Ґ вॡгҐвбп бЁ¬ў®«-
®Ја ­ЁзЁвҐ«м; нв  дг­ЄжЁп ®б®ЎҐ­­® 㤮Ў­  ¤«п ¤ ¬Ї  ⥪бв®ўле д ©«®ў ­  нЄа ­.
€б室­® ®­  Ўл«  ЇаҐ¤­ §­ зҐ­  ¤«п ўлў®¤  ў д ©«. Ћ­  вॡгҐв ¤ҐбЄаЁЇв®а ,
Є®в®ал© Ґбвм Ё¤Ґ­вЁдЁЄ жЁ®­­л© ­®¬Ґа ¤«п Є®­ЄаҐв­®Ј® д ©«  Ё«Ё гбва®©бвў .
„ЁбЇ«Ґ© Ё¬ҐҐв § а ­ҐҐ ЇаҐ¤­ §­ зҐ­­л© ¤ҐбЄаЁЇв®а #1. H ¤® Ї®¬ҐбвЁвм ¤ҐбЄаЁЇв®а
ў BX,   зЁб«® Ў ©в®ў бва®ЄЁ - ў CX. DS:DX ¤®«¦­л гЄ §лў вм ­  бва®Єг. ”г­ЄжЁп
ўлў®¤Ёв ⥪бв б ­®а¬ «м­л¬Ё  ваЁЎгв ¬Ё (ЎҐ«л© ­  зҐа­®¬). ЌҐ ­г¦­®
ЇаҐ¤ў аЁвҐ«м­® "®вЄалў вм" ¤ЁбЇ«Ґ©, Є Є нв® ¤Ґ« Ґвбп б ¤агЈЁ¬Ё д ©« ¬Ё ЇаЁ
ЁбЇ®«м§®ў ­ЁЁ нв®© дг­ЄжЁЁ. ‚®в ЇаЁ¬Ґа:

;---ўлў®¤ 1000 Ў ©в®ў ⥪бв 
MOV AH,40H ;­®¬Ґа дг­ЄжЁЁ
MOV BX,1 ;¤ҐбЄаЁЇв®а ¤ЁбЇ«Ґп
LEA DX,STRING ;§ Ја¦ Ґ¬  ¤аҐб бва®ЄЁ
MOV CX,1000 ;зЁб«® ўлў®¤Ё¬ле Ў ©в®ў
INT 21H

DOS ЇаҐ¤®бв ў«пҐв ­ Ў®а Esc-Ї®б«Ґ¤®ў вҐ«м­®б⥩, Є®в®алҐ бгвм бЇҐжЁ «м­лҐ
гЇа ў«пойЁҐ бва®ЄЁ ¤«п  ЇЇ а вгал. K®Ј¤  ®­Ё ўлў®¤пвбп б Ї®¬®ймо дг­ЄжЁЁ 9
ЇаҐалў ­Ёп 21H, ®­Ё ¬®Јгв гЇа ў«пвм Єгаб®а®¬, ०Ё¬®¬ ¤ЁбЇ«Ґп, 梥⮬ бЁ¬ў®«®ў
Ё ­ҐЄ®в®ал¬Ё ў®§¬®¦­®бвп¬Ё Є« ўЁ вгал. K®Ј¤  Їа®Ја ¬¬  ўлў®¤Ёв ­  нЄа ­ ¬­®Ј®
бва®Є, Esc-Ї®б«Ґ¤®ў вҐ«м­®бвЁ з бв® ¤ ов б ¬л© г¤®Ў­л© бЇ®б®Ў Ї®§ЁжЁ®­Ёа®ў ­Ёп
Єгаб®а  Ё гбв ­®ўЄЁ жўҐв  бва®ЄЁ - Ї®в®¬г зв® б ¬Ё а бб¬ ваЁў овбп Їа®бв® Є Є
®зҐаҐ¤­лҐ бва®ЄЁ ў бҐаЁЁ ўлў®¤Ё¬ле бва®Є.

”г­ЄжЁп 13H ЇаҐалў ­Ёп 10H ўлў®¤Ёв бва®Єг. ES:BP ¤®«¦­л гЄ §лў вм ­  бва®Єг,  
¤«Ё­  бва®ЄЁ ¤®«¦­  Ўлвм ў CX. DX гЄ §лў Ґв Ї®§ЁжЁо Єгаб®а , б Є®в®а®© ¤®«¦­ 
­ зЁ­ вмбп бва®Є  (ўлзЁб«пҐ¬го Є Є ᬥ饭ЁҐ ®в ­ з «  бва ­Ёжл, ­  Є®в®аго Ё¤Ґв
ўлў®¤, ЎҐ§ гзҐв  Ў ©в®ў  ваЁЎгв®ў). ‚ BX ¤®«¦Ґ­ гЄ §лў вмбп ­®¬Ґа бва ­Ёжл.
H Є®­Ґж, ­®¬Ґа Є®¤  ®в 0 ¤® 3, ᮤҐа¦Ё¬л© ў AL, гЄ §лў Ґв, Є Є ¤®«¦­ 
ўлў®¤Ёвмбп бва®Є :
AL = 0 - бва®Є  б®бв®Ёв в®«мЄ® Ё§ бЁ¬ў®«®ў, Єгаб®а ­ҐЇ®¤ўЁ¦Ґ­
AL = 1 - бва®Є  б®бв®Ёв в®«мЄ® Ё§ бЁ¬ў®«®ў, Єгаб®а ¤ўЁ¦Ґвбп
AL = 2 - ў бва®ЄҐ зҐаҐ¤говбп бЁ¬ў®«л Ё  ваЁЎгвл, Єгаб®а ­ҐЇ®¤ўЁ¦Ґ­
AL = 3 - ў бва®ЄҐ зҐаҐ¤говбп бЁ¬ў®«л Ё  ваЁЎгвл, Єгаб®а ¤ўЁ¦Ґвбп

K®Ј¤  AL а ў­® 0 Ё«Ё 1,  ваЁЎгвл ¤®«¦­л ­ е®¤Ёвмбп ў BL. ‚ᥠᨬў®«л Ўг¤гв
ўлў®¤Ёвмбп б нвЁ¬Ё  ваЁЎгв ¬Ё. ќв  дг­ЄжЁп Ё­вҐаЇаҐвЁагҐв ў®§ўа в ­  и Ј,
ЇҐаҐў®¤ бва®ЄЁ, ў®§ўа в Є аҐвЄЁ Ё §ў®­®Є Є Є гЇа ў«пойЁҐ Є®¬ ­¤л,   ­Ґ Є Є
ЇҐз в Ґ¬лҐ бЁ¬ў®«л.


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

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


4. ‡ ¤ ­ЁҐ ­  а Ў®вг

ЏаЁ ўлЇ®«­Ґ­ЁЁ нв®© а Ў®вл ¬®¦Ґв Ўлвм Ї®«Ґ§­® ЇаЁ«®¦Ґ­ЁҐ "ASCII.docx".

1. ђ §®Ўа вмбп ў ЇаЁўҐ¤Ґ­­ле ¬ вҐаЁ « е.
2. ‘Є®ЇЁа®ў вм ў бў®© а Ў®зЁ© Є в «®Ј ⥪бв бў®Ґ© Їа®Ја ¬¬л Ї® ЇаҐ¦­Ґ¬г § ¤ ­Ёо
⥬л "11 €бЇ®«м§®ў ­ЁҐ ў­Ґи­Ёе Їа®жҐ¤га" Ё«Ё "12 €бЇ®«м§®ў ­ЁҐ ¬ Єа®б।бвў"
(Ї® ўлЎ®аг).
3. „®Ї®«­Ёвм нв®в ⥪бв ᮮ⢥вб⢥­­® § ¤ ­Ёо. Џа®Ја ¬¬  ¤®«¦­  ®ЎҐбЇҐзЁў вм:
1) § Їа®б Ё¬Ґ­Ё Ї®«м§®ў вҐ«п Ё ўў®¤ Ё¬Ґ­Ё б Є« ўЁ вгал;
2) ЁбЇ®«м§®ў ­ЁҐ нв®Ј® Ё¬Ґ­Ё ЇаЁ ўлў®¤Ґ १г«мв в®ў ўлзЁб«Ґ­Ё©;
3) § Їа®б §­ зҐ­Ё© ЇҐаҐ¬Ґ­­ле Ё ўў®¤ Ёе б Є« ўЁ вгал;
4) ўлў®¤ Ё¬Ґ­Ё Ї®«м§®ў вҐ«п, Ё¬Ґ­Ё Їа®Ја ¬¬л, Ё¬Ґ­ ЇҐаҐ¬Ґ­­ле б ўўҐ¤Ґ­­л¬Ё
§­ зҐ­Ёп¬Ё, ўлў®¤ १г«мв в  ўлзЁб«Ґ­Ё©.
ЏаЁ н⮬ б«Ґ¤гҐв ¤Ґ©бвў®ў вм Ї® нв Ї ¬, ¤®Ї®«­пп ⥪бв ­г¦­л¬Ё да Ј¬Ґ­в ¬Ё,
 бᥬЎ«Ёагп Ё ®в« ¦Ёў п Ї®«г祭­го ўҐабЁо Їа®Ја ¬¬л. Љ ¦¤л© а § б«Ґ¤гҐв
§ ЇЁб вм ў ®взҐв Єа вЄ®Ґ ®ЇЁб ­ЁҐ бў®Ёе ¤Ґ©бвўЁ© Ё Ёе १г«мв в.
4. ЂбᥬЎ«Ёа®ў вм Їа®Ја ¬¬г Ё гЎҐ¤Ёвмбп ў ®вбгвбвўЁЁ ®иЁЎ®Є.
5. ‘Є®¬Ї®­®ў вм Їа®Ја ¬¬г.
6. ‚лЇ®«­Ёвм Ї®«г祭­л© EXE-¬®¤г«м Ё Їа®ўҐаЁвм १г«мв в ўлзЁб«Ґ­Ё©.
‡ ЇЁб вм १г«мв в ўлзЁб«Ґ­Ё© ў ®взҐв.
7. ЏаҐ¤бв ўЁвм а Ў®вг Їа®Ја ¬¬л ЇаҐЇ®¤ ў вҐ«о.

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

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