ВУЗ:
Составители:
71
Глава 3 Примеры программ
3.1 Ввод-вывод символьной информации
В этой главе рассмотрены различные аспекты ввода-вывода
символьной информации с использованием функций DOS и BIOS, а также
непосредственный вывод информации в область видеопамяти. Все приемы
программирования представлены в виде примеров программ, решающих
конкретные задачи.
Задача 3.1.1. Вывести на середину пустого экрана мигающее слово
"ТЕКСТ" в текстовом режиме CGA 80 символов * 25 строк.
а) Используя функции DOS.
б) Используя функции BIOS.
в) Помещая символы непосредственно в экранную область.
а. Использование функций DOS
Assume CS: Code, DS: Code
Code SEGMENT
org 100h
Start: mov ax,cs
mov ds,ax
; Установка видеорежима 03
mov ah,0 ; Функция 0
mov al,3 ; Режим 3
int 10h
; Вывод текста (мигание в ДОС нельзя)
mov ah,9 ; Функция 9
lea dx,text ; Смещение текста (DS)
int 21h
; Ожидание ввода клавиши пробела
loop1: mov ah,7 ; Функция 7 (нефильтр. ввод без эха)
int 21h
cmp al,' ' ; Пробел ?
jnz loop1 ; Нет !
; Выход из программы
int 20h
text db 25 dup(0ah),0dh ; Очистка экрана
db 38 dup(20h),'ТЕКСТ' ; Вывод слова на середину
db 12 dup(0ah),0dh,'$' ; На середину экрана
Code ENDS
END Start
б. Использование функций BIOS
71
Глава 3 Примеры программ
3.1 Ввод-вывод символьной информации
В этой главе рассмотрены различные аспекты ввода-вывода
символьной информации с использованием функций DOS и BIOS, а также
непосредственный вывод информации в область видеопамяти. Все приемы
программирования представлены в виде примеров программ, решающих
конкретные задачи.
Задача 3.1.1. Вывести на середину пустого экрана мигающее слово
"ТЕКСТ" в текстовом режиме CGA 80 символов * 25 строк.
а) Используя функции DOS.
б) Используя функции BIOS.
в) Помещая символы непосредственно в экранную область.
а. Использование функций DOS
Assume CS: Code, DS: Code
Code SEGMENT
org 100h
Start: mov ax,cs
mov ds,ax
; Установка видеорежима 03
mov ah,0 ; Функция 0
mov al,3 ; Режим 3
int 10h
; Вывод текста (мигание в ДОС нельзя)
mov ah,9 ; Функция 9
lea dx,text ; Смещение текста (DS)
int 21h
; Ожидание ввода клавиши пробела
loop1: mov ah,7 ; Функция 7 (нефильтр. ввод без эха)
int 21h
cmp al,' ' ; Пробел ?
jnz loop1 ; Нет !
; Выход из программы
int 20h
text db 25 dup(0ah),0dh ; Очистка экрана
db 38 dup(20h),'ТЕКСТ' ; Вывод слова на середину
db 12 dup(0ah),0dh,'$' ; На середину экрана
Code ENDS
END Start
б. Использование функций BIOS
Страницы
- « первая
- ‹ предыдущая
- …
- 69
- 70
- 71
- 72
- 73
- …
- следующая ›
- последняя »
