Читать курсовая по информатике, вычислительной технике, телекоммуникациям: "Програма Txtprintcom - резидентна програма для швидкого і зручного друкування виборчого тексту" Страница 10
Загрузити сміщення
mov si,attribute_table-shift ; таблиць кодів і
;атрибутів вікна повідомлення.
mov cx,6
mov dh,10
loop_1:; Цикл по строках.
push cx
mov cx,30
mov dl,25
loop_2:; Цикл по стовбцях.
push cx
mov ah,2
call callvideo
mov ah,8
call callvideo
cmp dh,15
jb lab_1
cmp dl,27
jb exch_noth
jmp short exch_attr
lab_1:
cmp dh,11
jb lab_2
cmp dl,52
ja exch_attr
jmp short exch_code
lab_2:
cmp dl,52
ja exch_noth
exch_code:
xchg al,byte ptr [di]; Заменити код символа.
inc di
exch_attr:
xchg ah,byte ptr [si]; Заменити атрибут.
inc si
exch_noth:
mov bl,ah; Вивести символ.
mov cx,1
mov ah,9
call callvideo
inc dx
pop cx
loop loop_2
inc dh
pop cx
loop loop_1
mov dx,1900h; Убрати курсор.
mov ah,02h
call callvideo
ret; Вийти з процедури.
xchgmess endp
mess proc
push bp
mov bp,sp
push bx
mov bh,byte ptr ds:[current_video_page-shift]
mov bl,byte ptr ds:[attribute_table-shift]
push bx; Вивести вікно повідомлення.
call xchgmess
pop bx
mov dx,0b29h; Вивести текст повідомлення.
mov si,word ptr [bp+6]
call typestr
mov dx,0c1bh
call typestr
push bx; Подати звуковий сигнал.
mov cx,2
mess_loop:
mov di,550
mov bx,30
call beep
mov di,1100
call beep
loop mess_loop
pop bx
wait_mess:
mov ah,0; Ждати натиснення клавиши.
int 16h
call xchgmess; Восстановити екран.
pop bx
pop bp
ret 4; Вийти з процедури.
mess endp
;Таблиця атрибутів вікна повідомлення.
attribute_table db 29 dup(4eh),14 dup (206),13 dup (4eh)
db 07h,07h
db 28 dup (4eh)
db 07h,07h
db 4eh,26 dup (206),4eh
db 07h,07h
db 28 dup (4eh)
db 30 dup (07h)
;Образ атрибутів вікна повідомлення.
code_tabledb '============================'
db '!Screen Printer:!'
db '!!'
db '!press any key... !'
db '============================'
;****************** Кінець файлу MESSAGE.ASM ************************* ; Файл TYPESTR.ASM
; Модуль основної програми.
;*************************************************************
typestr proc
typestr_loop:
mov ah,2; Встановити курсор в нужну позицию.
call callvideo
lodsb
or al,al; Якщо зустрився кінець строки,
jz end_typestr; то вихід.
mov cx,1
mov ah,9
call callvideo
inc dx; Определити позицію для вивода
jmp short typestr_loop ; следуючого символу.
end_typestr:
push dx; Убрати курсор.
mov dx,1900h
mov ah,2
call callvideo
pop dx
ret; Вийти з процедури.
typestr endp
;******************** Кінець файлу TYPESTR.ASM ************************ ; Файл BEEP.ASM
; Модуль основної програми.
;*************************************************************
beep proc
; Подає звуковой сигнал заданої частоти і тривання.
push bx; Сохранити регістри.
push cx
push di
mov di,1000
mov al,0b6h; Записати у регістр режим таймеру.
out 43h,al
mov dx,14h; Делитель часу равен
mov ax,4f38h; 1331000/частота.
div di
out 42h,al; Записати молодший байт лічильника таймера 2.
mov al,ah
out 42h,al; Записати молодший байт лічильника таймера 2.
in al,61h; Считати поточну установку порта В
push ax; й сохранити її.
or al,3
out 61h,al; Включити динамик.
wait_beep:
mov cx,01fffh
speaker_on:
loop speaker_on
dec bx; Лічильник тривалісті ісчерпан ?
jnz wait_beep; Ні. Продовжити звучання.
pop ax; Да. Восстановити похідну установку
out 61h,al; Порта В.
pop di; Восстановити всі регистри.
pop cx
pop bx
ret; Вийти з процедури.
beep endp
;********************* Кінець файлу BEEP.ASM ************************* ; Файл TELETYPE.ASM
; Модуль основної програми.
;*************************************************************
teletype proc
mov bh,0; Обрати нулеву відеосторінку.
cld
type_next_char:
lodsb; Загрузити наступний символ в AL.
mov ah,0eh
cmp al,0; Якщо кінець строки, то вихід.
je end_teletype
call callvideo ; Вивести символ.
jmp short type_next_char
end_teletype:
ret
teletype endp
;******************** Кінець файлу TELETYPE.ASM **********************
Похожие работы
| Тема: Формування навичок швидкого, правильного, свідомого та виразного читання |
| Предмет/Тип: Педагогика (Реферат) |
| Тема: Формування навички швидкого читання |
| Предмет/Тип: Педагогика (Реферат) |
| Тема: Стратегії диверсифікації: фокусування швидкого реагування, вичікування та можливість їх використання підприємствами України |
| Предмет/Тип: Менеджмент (Контрольная работа) |
| Тема: Вправи на вироблення свідомого, швидкого та правильного читання (урок) |
| Предмет/Тип: Педагогика (Реферат) |
| Тема: Відкриття піцерії швидкого обслуговування "Італія" |
| Предмет/Тип: Маркетинг (Доклад) |
Интересная статья: Быстрое написание курсовой работы

(Назад)
(Cкачать работу)