ВВОД/ВЫВОД ПО ПРЕРЫВАНИЮ INT 10H
AH=0: Установка режима дисплея. В AL указывается номер режима
AL=0: Текстовый черно-белый 40х25
AL=1: Текстовый цветной 40х25
AL=2: Текстовый черно-белый 80х25
AL=3: Текстовый цветной 80х25
AL=4: Графический цветной 320х200
Например, установить цветной графический режим:
MOV AH,0
MOV AL,4
INT 10H
AH=6: Очистка окна (скроллинг вверх)
MOV AH,6;задаем процедуру скроллинга вверх
MOV AL,0;очищаем все окно
MOV BH,7;байт атрибутов для заполнения
MOV CH,3;строка верхнего левого угла
MOV CL,4;столбец верхнего левого угла
MOV DH,13;строка нижнего правого угла
MOV DL,15;столбец нижнего правого угла
INT 10H
AH=2: Установка курсора в заданную позицию.
MOV AH,2;устанавливаем номер функции
MOV BH,0;номер активной страницы
MOV DH,13;строка установки курсора
MOV DL,20;столбец установки курсора
INT 10H;позиционируем курсор
AH=9: Вывод символа с атрибутами на экран
MOV AH,9;задаем функцию записи с атрибутами
MOV AL,CHAR;символ в AL
MOV BL,112;атрибуты в BL
MOV AH,6;задаем процедуру скроллинга вверх
MOV BH,0;активная страница
MOV CX,1;вывести один раз
INT 10H
AH=0AH: Вывод символа без атрибутов на экран
AH=0EH: Вывод символа на экран с перемещением курсора
ВВОД С КЛАВИАТУРЫПО КОМАНДЕ BIOS INT 16H
Команда BIOS INT 16H выполняет специальную операцию, которая всоответствии с кодом в регистре АН обеспечивает следующие три функцииввода с клавиатуры.
АН = 00: Чтение символа. Данная функция помещает в регистр ALочередной ASCII-символ, введенный с клавиатуры, и устанавливает скэн-код врегистре АН. Если на клавиатуре нажата одна из специальных клавиш,например, Home или F1, то в регистр AL заносится ОО. Автоматическое эхосимвола на экран не происходит.
АН = 01: Определение наличия введенного символа. Данная функциясбрасывает флаг нуля (ZF=0), если имеется символ для чтения с клавиатуры;очередной символ и скэн-код будут помещены в регистры AL и АНсоответственно и данный элемент останется в буфере.
АН = 02: Определение текущего состояния клавиатуры. Даннаяфункция возвращает в регистре AL состояние клавиатуры из адреса памяти417Н:\
Рисунок 1 – Формат конфигурационной ROM-таблицы
Рисунок 2 - Упрощенная схема обработки программного прерывания Int n
Ход работы:
Напишем программу, запрашивающую у пользователя число, которое бы сохранялось в памяти компьютера.
В ходе данной лабораторной работы достаточно реализовать считывание данных, вводимых пользователем с клавиатуры. На следующей лабораторной работе мы допишем данную программу, чтобы она могла выводить результат.
Подключаем директории и библиотеки, для этого проверяем путь к директориям.Открываем опции и вписываем необходимые данные директории.
Рисунок 2 – Путь файла
Пишем код программы.
Рисунок 3 – Листинг кода
Рисунок 4 – Листинг кода
Рисунок 5 – Листинг кода
Рисунок 6 – Листинг кода
После создания программы переходим в командную строку DOSBoxи при помощи команды “tasm<имя файла>” проверяем его на наличие ошибок. Затем пишем команду “tlink<имя файла>”, чтобы еще раз убедиться в корректности. И наконец вводим название файла для его запуска. Программа успешно запустилась и просит ввести значения переменных.
Рисунок 7 – Программа успешно запускается
Вывод:
В ходе лабораторной работы я освоил стандартные способы ввода-вывода DOS, а так же построил программу,запрашивающую у пользователя число, которое бы сохранялось в памяти компьютера.