ВВОД С КЛАВИАТУРЫ ПО КОМАНДЕ BIOS INT 16H




ВВОД/ВЫВОД ПО ПРЕРЫВАНИЮ 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, а так же построил программу,запрашивающую у пользователя число, которое бы сохранялось в памяти компьютера.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-12-31 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: