Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы по СП (1-20) / 20 / ASM_20
.TXT **********************************************************************
‘€‘’…ЊЌЋ… ЏђЋѓђЂЊЊ€ђЋ‚ЂЌ€…
**********************************************************************
*******************
*** ’Ґ¬ 20 ***
*******************
**********************************************************************
ђЂЃЋ’Ђ б ЏЋђ’ЂЊ€‚‚Ћ„Ђ-‚›‚Ћ„Ђ Ё “ЏђЂ‚‹…Ќ€… ’Ђ‰Њ…’ЋЊ
**********************************************************************
–Ґ«м а Ў®вл:
Ќ ЇЁб вм п§лЄҐ бᥬЎ«Ґа Ё ®в« ¤Ёвм Їа®Ја ¬¬л, ЁбЇ®«м§гойЁҐ
ЈҐҐа жЁо §ўгЄ®ў, Ї®авл ўў®¤ -ўлў®¤ Ё бЁбвҐ¬л© в ©¬Ґа.
1. ‡ ¤ ЁҐ ЇаҐ¤ў аЁвҐ«мго Ї®¤Ј®в®ўЄг
Ћ§ Є®¬Ёвмбп б ᮤҐа¦ ЁҐ¬ агЄ®ў®¤бвў
€§гзЁвм ЇаЁўҐ¤Ґл© ⥮аҐвЁзҐбЄЁ© ¬ вҐаЁ «
‚лЇ®«Ёвм Їа ЄвЁзҐбЄго з бвм а Ў®вл
‘®бв ўЁвм ®взҐв ® а Ў®вҐ
ЏаҐ¤кпўЁвм १г«мв вл а Ў®вл ЇаҐЇ®¤ ў ⥫о
2. Ља вЄЁҐ ⥮аҐвЁзҐбЄЁҐ ᢥ¤ҐЁп
2.1. COM-Їа®Ја ¬¬л Ё Ї®авл
‚ нв®© а Ў®вҐ ЇаҐ¤« Ј Ґвбп ЇЁб вм Їа®Ја ¬¬г ў COM-д®а¬ вҐ б ЁбЇ®«м§®ў ЁҐ¬
Ї®ав . „«п ўлЇ®«ҐЁп нв®Ј® § ¤ Ёп 㦮 ®§ Є®¬Ёвмбп б ®б®ЎҐ®бвп¬Ё
Їа®Ја ¬¬ вЁЇ COM Ё б ЇаЁҐ¬ ¬Ё а Ў®вл б Ї®ав ¬Ё ў п§лЄҐ бᥬЎ«Ґа .
ЊҐ¦¤г Їа®Ја ¬¬ ¬Ё EXE-д®а¬ в Ё COM-д®а¬ в Ґбвм ®ЇаҐ¤Ґ«ҐлҐ а §«ЁзЁп.
‘гЈгЎ® Їа ЄвЁзҐбЄЁ ®Ё ®Ўгб«®ў«Ёў ов ¤«п ўлЇ®«ҐЁп нв®© а Ў®вл ЁбЇ®«м§®ў ЁҐ
®Ўа ¬«ҐЁп COM_MINI, ᢥ¤ҐЁп ® Є®в®а®¬ ЇаЁў®¤пвбп ў ЇаЁ«®¦ҐЁЁ
"Џ07 ‘в ¤ авлҐ ®Ўа ¬«ҐЁп Їа®Ја ¬¬".
2.2. ЋЇЁб ЁҐ Їа®Ја ¬¬л ЈҐҐа жЁЁ §ўгЄ .
Ћ¤Ё Ё§ бЇ®б®Ў®ў ЈҐҐа жЁЁ §ўгЄ ў ЏЉ ЇаҐ¤Ї®« Ј Ґв ЁбЇ®«м§®ў ЁҐ ваЁЈЈҐа
Їа®Ја ¬¬Ёа㥬®Ј® ЁвҐаў «м®Ј® в ©¬Ґа зҐаҐ§ ЎЁв 0 Ї®ав 61H. Џа®Ја ¬¬
ЈҐҐаЁагҐв бҐаЁо §ўгЄ®ў ў®§а бв о饩 з бв®вл. ‡ 票Ґ ў Ї®«Ґ DUR д®а¬ЁагҐв
¤«ЁвҐ«м®бвм Є ¦¤®Ј® §ўгЄ , § 票Ґ ў Ї®«Ґ TON § ¤ Ґв з бв®вг §ўгз Ёп. ‚
з «Ґ а Ў®вл Їа®Ја ¬¬ бзЁвлў Ґв ᮤҐа¦Ё¬®Ґ Ї®ав 61H Ё б®еа пҐв нв®
§ 票Ґ. Љ®¬ ¤ CLI бЎа блў Ґв д« Ј ЇаҐалў Ё©, ®ЎҐбЇҐзЁў п а ў®¬Ґа®Ґ
§ўгз ЁҐ. ЏаЁ ҐҐ ®вбгвбвўЁЁ в ©¬Ґа ЇҐаЁ®¤ЁзҐбЄЁ ЇаҐалў « Ўл ўлЇ®«ҐЁҐ
Їа®Ја ¬¬л.
‡ 票Ґ Ї®«п TON § ¤ Ґв з бв®вг §ўгЄ , ЇаЁзҐ¬ Ў®«миЁҐ § зҐЁп ¤ ов Ё§Єго
з бв®вг, ¬ҐмиЁҐ - ўлб®Єго. Џ®б⥠ЁбЇ®«ҐЁп Їа®Ја ¬¬®© SONOR ®зҐаҐ¤®Ј®
§ўгЄ ® 㢥«ЁзЁў Ґв з бв®вг б¤ўЁЈ®¬ § 票п TON ®¤Ё а §ап¤ ўЇа ў®.
Џ®бЄ®«мЄг 㬥м襨Ґ § 票п TON ЇаЁў®¤Ёв Є б®Єа йҐЁо ¤«ЁвҐ«м®бвЁ §ўгЄ ,
§ 票Ґ DUR ᮮ⢥вб⢥® 㢥«ЁзЁў Ґвбп б¤ўЁЈ®¬ а §ап¤ ў«Ґў®.
Џа®Ја ¬¬ § ўҐаи Ґвбп, Є®Ј¤ § 票Ґ TON 㬥ми Ґвбп ¤® г«п.
2.3. ’ҐЄбв Їа®Ја ¬¬л.
TITLE SONOR (COM); ‡‚“ЉЋѓ…Ќ…ђЂ–€џ
;
SONSG SEGMENT PARA 'Code'
ASSUME CS:SONSG,DS:SONSG,SS:SONSG
ORG 100H
BEGIN JMP SHORT MAIN
;---------------------------------------------------------------
DUR DW 1000 ; ўаҐ¬п §ўгз Ёп
TON DW 256H ; ўлб®в §ўгЄ
;---------------------------------------------------------------
MAIN PROC NEAR
IN AL,61H ; Ї®«г票Ґ Ё б®еа ҐЁҐ
PUSH AX ; ¤ ле Ї®ав
CLI ; § ЇаҐв ЇаҐалў Ё©
CALL PHON ; ЈҐҐа жЁп §ўгЄ
POP AX ; ў®ббв ®ў«ҐЁҐ § зҐЁп Ї®ав
OUT 61H,AL
STI ; а §аҐиҐЁҐ ЇаҐалў Ё©
RET
MAIN ENDP
PHON PROC NEAR
P20: MOV DX,DUR ; гбв ®ўЄ ўаҐ¬ҐЁ §ўгз Ёп
P30: AND AL,11111100B ; ®зЁбвЄ ЎЁв®ў 0 Ё 1
OUT 61H,AL ; ЇҐаҐ¤ з ¤Ё ¬ЁЄ
MOV CX,TON ; гбв ®ўЄ з бв®вл
P40: LOOP P40 ; § ¤Ґа¦Є ўаҐ¬ҐЁ
OR AL,00000010B ; гбв ®ўЄ ЎЁв 1
OUT 61H,AL ; ЇҐаҐ¤ з ¤Ё ¬ЁЄ
MOV CX,TON ; гбв ®ўЄ з бв®вл
P50: LOOP P50 ; § ¤Ґа¦Є ўаҐ¬ҐЁ
DEC DX ; 㬥м襨Ґ ўаҐ¬ҐЁ §ўгз Ёп
JNZ P30 ; Їа®¤®«¦ҐЁҐ?
SHL DUR,1 ; Ґв - 㢥«ЁзҐЁҐ ўаҐ¬ҐЁ,
SHR TON,1 ; 㬥м襨Ґ з бв®вл
JNZ P20 ; г«Ґў п з бв®в ?
RET ; ¤ - ўл室
PHON ENDP
SONSG ENDS
END BEGIN
‚ ЇаЁ«®¦ҐЁЁ "PRT-TMR.TXT" ЇаЁў®¤Ёвбп ¤агЈ®© ў аЁ в Ї®¤®Ў®© Їа®Ја ¬¬л.
2.4. Џ®¤Ј®в®ўЄ Їа®Ја ¬¬л Є ўлЇ®«ҐЁо.
Џ®«л© ⥪бв Їа®Ја ¬¬л ҐўҐ«ЁЄ Ё Ї®в®¬г б«Ґ¤гҐв ўўҐбвЁ ҐЈ® б ¬®бв®п⥫м®.
„«п ᮧ¤ Ёп Їа®Ја ¬¬л вЁЇ COM Ґ®Ўе®¤Ё¬® ЇаЁ ўл§®ўҐ Є®¬Ї®®ўйЁЄ ¤®Ў ў®з®
ўўҐбвЁ Є«оз /T.
3. ‘®¤Ґа¦ ЁҐ ®взҐв
1) ®¬Ґа Ё §ў ЁҐ а Ў®вл
2) 楫м а Ў®вл
3) Ё¤ЁўЁ¤г «м®Ґ § ¤ ЁҐ а Ў®вг
4) гЄ § ЁҐ Ё¬Ґ Ёб室®Ј® Ё ЁбЇ®«пҐ¬®Ј® д ©«®ў
5) ўлў®¤л
ЋвзҐв ЇаҐ¤бв ў«пҐвбп ў ўЁ¤Ґ ⥪бв®ў®Ј® д ©« , ўлЇ®«Ґ®Ј® ў д®а¬ ⥠DOS
(Є®¤®ў п бва Ёж 866). Љ ®взҐвг ¤®«¦л ЇаЁ« Ј вмбп д ©« Ёб室®Ј® Є®¤
Їа®Ја ¬¬л Ё а Ў®зЁ© ЁбЇ®«пҐ¬л© д ©«.
4. ‡ ¤ ЁҐ а Ў®вг
1. ђ §®Ўа вмбп ў ®б®ЎҐ®бвпе COM-Їа®Ја ¬¬ Ё а Ў®вл б Ї®ав ¬Ё.
2. ‚ўҐб⨠⥪бв Їа®Ја ¬¬л ў а Ў®зЁ© Є в «®Ј.
3. ЂбᥬЎ«Ёа®ў вм Ё бЄ®¬Ї®®ў вм COM-Їа®Ја ¬¬г
1) TASM.EXE /LA/Z/ZI <Ё¬п_Їа®Ј.ASM>
2) TLINK.EXE /T <Ё¬п_Їа®Ј.OBJ><Ё¬п_Їа®Ј>
4. ‡ ЇгбвЁвм Ї®«гзҐл© COM-¬®¤г«м Ё гЎҐ¤Ёвмбп ў ҐЈ® а Ў®в®бЇ®б®Ў®бвЁ.
5. Џ®нЄбЇҐаЁ¬ҐвЁа®ў вм б Їа®Ја ¬¬®©, ¬Ґпп з бв®вл Ё Є®«ЁзҐбвў®
ЈҐҐаЁа㥬ле §ўгЄ®ў.
6. ‚ҐбвЁ ў ®взҐв § ЇЁбЁ ®Ў® ўбҐе १г«мв в е а Ў®вл.
5. „®Ї®«ЁвҐ«м®Ґ § ¤ ЁҐ
€бЇ®«м§гп ЇаЁ«®¦ҐЁҐ "PRT-TMR.TXT", ЇЁб вм Їа®Ја ¬¬г б гЇа ў«ҐЁҐ¬ §ўгЄ®¬
®в в ©¬Ґа .
**********************************************************************
**********************************************************************
‘€‘’…ЊЌЋ… ЏђЋѓђЂЊЊ€ђЋ‚ЂЌ€…
**********************************************************************
*******************
*** ’Ґ¬ 20 ***
*******************
**********************************************************************
ђЂЃЋ’Ђ б ЏЋђ’ЂЊ€‚‚Ћ„Ђ-‚›‚Ћ„Ђ Ё “ЏђЂ‚‹…Ќ€… ’Ђ‰Њ…’ЋЊ
**********************************************************************
–Ґ«м а Ў®вл:
Ќ ЇЁб вм п§лЄҐ бᥬЎ«Ґа Ё ®в« ¤Ёвм Їа®Ја ¬¬л, ЁбЇ®«м§гойЁҐ
ЈҐҐа жЁо §ўгЄ®ў, Ї®авл ўў®¤ -ўлў®¤ Ё бЁбвҐ¬л© в ©¬Ґа.
1. ‡ ¤ ЁҐ ЇаҐ¤ў аЁвҐ«мго Ї®¤Ј®в®ўЄг
Ћ§ Є®¬Ёвмбп б ᮤҐа¦ ЁҐ¬ агЄ®ў®¤бвў
€§гзЁвм ЇаЁўҐ¤Ґл© ⥮аҐвЁзҐбЄЁ© ¬ вҐаЁ «
‚лЇ®«Ёвм Їа ЄвЁзҐбЄго з бвм а Ў®вл
‘®бв ўЁвм ®взҐв ® а Ў®вҐ
ЏаҐ¤кпўЁвм १г«мв вл а Ў®вл ЇаҐЇ®¤ ў ⥫о
2. Ља вЄЁҐ ⥮аҐвЁзҐбЄЁҐ ᢥ¤ҐЁп
2.1. COM-Їа®Ја ¬¬л Ё Ї®авл
‚ нв®© а Ў®вҐ ЇаҐ¤« Ј Ґвбп ЇЁб вм Їа®Ја ¬¬г ў COM-д®а¬ вҐ б ЁбЇ®«м§®ў ЁҐ¬
Ї®ав . „«п ўлЇ®«ҐЁп нв®Ј® § ¤ Ёп 㦮 ®§ Є®¬Ёвмбп б ®б®ЎҐ®бвп¬Ё
Їа®Ја ¬¬ вЁЇ COM Ё б ЇаЁҐ¬ ¬Ё а Ў®вл б Ї®ав ¬Ё ў п§лЄҐ бᥬЎ«Ґа .
ЊҐ¦¤г Їа®Ја ¬¬ ¬Ё EXE-д®а¬ в Ё COM-д®а¬ в Ґбвм ®ЇаҐ¤Ґ«ҐлҐ а §«ЁзЁп.
‘гЈгЎ® Їа ЄвЁзҐбЄЁ ®Ё ®Ўгб«®ў«Ёў ов ¤«п ўлЇ®«ҐЁп нв®© а Ў®вл ЁбЇ®«м§®ў ЁҐ
®Ўа ¬«ҐЁп COM_MINI, ᢥ¤ҐЁп ® Є®в®а®¬ ЇаЁў®¤пвбп ў ЇаЁ«®¦ҐЁЁ
"Џ07 ‘в ¤ авлҐ ®Ўа ¬«ҐЁп Їа®Ја ¬¬".
2.2. ЋЇЁб ЁҐ Їа®Ја ¬¬л ЈҐҐа жЁЁ §ўгЄ .
Ћ¤Ё Ё§ бЇ®б®Ў®ў ЈҐҐа жЁЁ §ўгЄ ў ЏЉ ЇаҐ¤Ї®« Ј Ґв ЁбЇ®«м§®ў ЁҐ ваЁЈЈҐа
Їа®Ја ¬¬Ёа㥬®Ј® ЁвҐаў «м®Ј® в ©¬Ґа зҐаҐ§ ЎЁв 0 Ї®ав 61H. Џа®Ја ¬¬
ЈҐҐаЁагҐв бҐаЁо §ўгЄ®ў ў®§а бв о饩 з бв®вл. ‡ 票Ґ ў Ї®«Ґ DUR д®а¬ЁагҐв
¤«ЁвҐ«м®бвм Є ¦¤®Ј® §ўгЄ , § 票Ґ ў Ї®«Ґ TON § ¤ Ґв з бв®вг §ўгз Ёп. ‚
з «Ґ а Ў®вл Їа®Ја ¬¬ бзЁвлў Ґв ᮤҐа¦Ё¬®Ґ Ї®ав 61H Ё б®еа пҐв нв®
§ 票Ґ. Љ®¬ ¤ CLI бЎа блў Ґв д« Ј ЇаҐалў Ё©, ®ЎҐбЇҐзЁў п а ў®¬Ґа®Ґ
§ўгз ЁҐ. ЏаЁ ҐҐ ®вбгвбвўЁЁ в ©¬Ґа ЇҐаЁ®¤ЁзҐбЄЁ ЇаҐалў « Ўл ўлЇ®«ҐЁҐ
Їа®Ја ¬¬л.
‡ 票Ґ Ї®«п TON § ¤ Ґв з бв®вг §ўгЄ , ЇаЁзҐ¬ Ў®«миЁҐ § зҐЁп ¤ ов Ё§Єго
з бв®вг, ¬ҐмиЁҐ - ўлб®Єго. Џ®б⥠ЁбЇ®«ҐЁп Їа®Ја ¬¬®© SONOR ®зҐаҐ¤®Ј®
§ўгЄ ® 㢥«ЁзЁў Ґв з бв®вг б¤ўЁЈ®¬ § 票п TON ®¤Ё а §ап¤ ўЇа ў®.
Џ®бЄ®«мЄг 㬥м襨Ґ § 票п TON ЇаЁў®¤Ёв Є б®Єа йҐЁо ¤«ЁвҐ«м®бвЁ §ўгЄ ,
§ 票Ґ DUR ᮮ⢥вб⢥® 㢥«ЁзЁў Ґвбп б¤ўЁЈ®¬ а §ап¤ ў«Ґў®.
Џа®Ја ¬¬ § ўҐаи Ґвбп, Є®Ј¤ § 票Ґ TON 㬥ми Ґвбп ¤® г«п.
2.3. ’ҐЄбв Їа®Ја ¬¬л.
TITLE SONOR (COM); ‡‚“ЉЋѓ…Ќ…ђЂ–€џ
;
SONSG SEGMENT PARA 'Code'
ASSUME CS:SONSG,DS:SONSG,SS:SONSG
ORG 100H
BEGIN JMP SHORT MAIN
;---------------------------------------------------------------
DUR DW 1000 ; ўаҐ¬п §ўгз Ёп
TON DW 256H ; ўлб®в §ўгЄ
;---------------------------------------------------------------
MAIN PROC NEAR
IN AL,61H ; Ї®«г票Ґ Ё б®еа ҐЁҐ
PUSH AX ; ¤ ле Ї®ав
CLI ; § ЇаҐв ЇаҐалў Ё©
CALL PHON ; ЈҐҐа жЁп §ўгЄ
POP AX ; ў®ббв ®ў«ҐЁҐ § зҐЁп Ї®ав
OUT 61H,AL
STI ; а §аҐиҐЁҐ ЇаҐалў Ё©
RET
MAIN ENDP
PHON PROC NEAR
P20: MOV DX,DUR ; гбв ®ўЄ ўаҐ¬ҐЁ §ўгз Ёп
P30: AND AL,11111100B ; ®зЁбвЄ ЎЁв®ў 0 Ё 1
OUT 61H,AL ; ЇҐаҐ¤ з ¤Ё ¬ЁЄ
MOV CX,TON ; гбв ®ўЄ з бв®вл
P40: LOOP P40 ; § ¤Ґа¦Є ўаҐ¬ҐЁ
OR AL,00000010B ; гбв ®ўЄ ЎЁв 1
OUT 61H,AL ; ЇҐаҐ¤ з ¤Ё ¬ЁЄ
MOV CX,TON ; гбв ®ўЄ з бв®вл
P50: LOOP P50 ; § ¤Ґа¦Є ўаҐ¬ҐЁ
DEC DX ; 㬥м襨Ґ ўаҐ¬ҐЁ §ўгз Ёп
JNZ P30 ; Їа®¤®«¦ҐЁҐ?
SHL DUR,1 ; Ґв - 㢥«ЁзҐЁҐ ўаҐ¬ҐЁ,
SHR TON,1 ; 㬥м襨Ґ з бв®вл
JNZ P20 ; г«Ґў п з бв®в ?
RET ; ¤ - ўл室
PHON ENDP
SONSG ENDS
END BEGIN
‚ ЇаЁ«®¦ҐЁЁ "PRT-TMR.TXT" ЇаЁў®¤Ёвбп ¤агЈ®© ў аЁ в Ї®¤®Ў®© Їа®Ја ¬¬л.
2.4. Џ®¤Ј®в®ўЄ Їа®Ја ¬¬л Є ўлЇ®«ҐЁо.
Џ®«л© ⥪бв Їа®Ја ¬¬л ҐўҐ«ЁЄ Ё Ї®в®¬г б«Ґ¤гҐв ўўҐбвЁ ҐЈ® б ¬®бв®п⥫м®.
„«п ᮧ¤ Ёп Їа®Ја ¬¬л вЁЇ COM Ґ®Ўе®¤Ё¬® ЇаЁ ўл§®ўҐ Є®¬Ї®®ўйЁЄ ¤®Ў ў®з®
ўўҐбвЁ Є«оз /T.
3. ‘®¤Ґа¦ ЁҐ ®взҐв
1) ®¬Ґа Ё §ў ЁҐ а Ў®вл
2) 楫м а Ў®вл
3) Ё¤ЁўЁ¤г «м®Ґ § ¤ ЁҐ а Ў®вг
4) гЄ § ЁҐ Ё¬Ґ Ёб室®Ј® Ё ЁбЇ®«пҐ¬®Ј® д ©«®ў
5) ўлў®¤л
ЋвзҐв ЇаҐ¤бв ў«пҐвбп ў ўЁ¤Ґ ⥪бв®ў®Ј® д ©« , ўлЇ®«Ґ®Ј® ў д®а¬ ⥠DOS
(Є®¤®ў п бва Ёж 866). Љ ®взҐвг ¤®«¦л ЇаЁ« Ј вмбп д ©« Ёб室®Ј® Є®¤
Їа®Ја ¬¬л Ё а Ў®зЁ© ЁбЇ®«пҐ¬л© д ©«.
4. ‡ ¤ ЁҐ а Ў®вг
1. ђ §®Ўа вмбп ў ®б®ЎҐ®бвпе COM-Їа®Ја ¬¬ Ё а Ў®вл б Ї®ав ¬Ё.
2. ‚ўҐб⨠⥪бв Їа®Ја ¬¬л ў а Ў®зЁ© Є в «®Ј.
3. ЂбᥬЎ«Ёа®ў вм Ё бЄ®¬Ї®®ў вм COM-Їа®Ја ¬¬г
1) TASM.EXE /LA/Z/ZI <Ё¬п_Їа®Ј.ASM>
2) TLINK.EXE /T <Ё¬п_Їа®Ј.OBJ><Ё¬п_Їа®Ј>
4. ‡ ЇгбвЁвм Ї®«гзҐл© COM-¬®¤г«м Ё гЎҐ¤Ёвмбп ў ҐЈ® а Ў®в®бЇ®б®Ў®бвЁ.
5. Џ®нЄбЇҐаЁ¬ҐвЁа®ў вм б Їа®Ја ¬¬®©, ¬Ґпп з бв®вл Ё Є®«ЁзҐбвў®
ЈҐҐаЁа㥬ле §ўгЄ®ў.
6. ‚ҐбвЁ ў ®взҐв § ЇЁбЁ ®Ў® ўбҐе १г«мв в е а Ў®вл.
5. „®Ї®«ЁвҐ«м®Ґ § ¤ ЁҐ
€бЇ®«м§гп ЇаЁ«®¦ҐЁҐ "PRT-TMR.TXT", ЇЁб вм Їа®Ја ¬¬г б гЇа ў«ҐЁҐ¬ §ўгЄ®¬
®в в ©¬Ґа .
**********************************************************************
**********************************************************************
Соседние файлы в папке 20