Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Абель.docx
Скачиваний:
19
Добавлен:
26.11.2018
Размер:
569.84 Кб
Скачать

Int 21h ;Вызов dos

Использование директивы EQU для определения кодов делает программу

более понятной:

CR EQU 13 ;или EQU 0DH

LF EQU 10 ;или EQU 0AH

TAB EQU 09 ;или EQU 09H

MESSAGE DB TAB, 'PC Users Group Annual' DB 'Report', CR, LF

ОСНОВНЫЕ ПОЛОЖЕНИЯ НА ПАМЯТЬ

________________________________________________________________

- Команда INT 10Н передает управление в BIOS для ввода с клавиатуры

или вывода на экран. Команда INT 21H передает управление в DOS для

выполнения некоторых более сложных действий при операциях ввода-вывода.

- Будьте внимательны при использовании шестнадцатиричной нотации,

например INT 21 и INT 21H - это не одно и то же.

- Будьте внимательны при установке значений в регистры AХ, BX, CX и

DX для операций ввода-вывода.

- При использовании INT 21H в базовой версии DOS устанавливайте

символ-ограничитель ($) непосредственно в конце области вывода. Будьте

осторожны при очистке области - не удалите символ-ограничитель. Отсутствие

ограничителя может привести к непредвиденным эффектам на экране.

- Для ввода в базовой версии DOS тщательно определяйте список

параметров. Экранные функции INT 21H предполагают, что первый байт

содержит максимальную длину ввода, а второй байт заполняется системой

автоматически значением действительной длины введенных данных.

- Для вывода на экран под управлением расширенной версии DOS

устанавливайте в регистре AН значение 40Н, а в регистре BX - файловый

номер 01.

- Для ввода с клавиатуры под управлением расширенной версии DOS

устанавливайте в регистре АН значение функции 3FH, а в регистре BX -

файловый номер 00. Введенные в область ввода данные завершаются символами

возврат каретки и перевод строки. Данная операция не контролирует ввод,

превышающий по длине максимальное значение.

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ

________________________________________________________________

8.1. Какие шестнадцатиричные значения строки и столбца соответствуют

нижнему правому углу экрана 25х40?

8.2. Напишите команды для установки курсора по координатам: строка

12, столбец 8.

8.3. Напишите команды для очистки экрана, начиная с 0-го столбца 12-й

строки до 79-го столбца 22-й строки.

8.4. Составьте необходимые элементы данных и команды для вывода

запроса 'Введите дату (дд/мм/гг)'. За сообщением должен следовать звуковой

сигнал. Используйте для вывода: а) функцию базовой версии DOS, б) функцию

расширенной версии DOS и файловый номер.

8.5. Составьте необходимые элементы данных и команды для ввода с

клавиатуры в формате вопроса 8.4. Используйте для ввода: а) функцию

базовой версии DOS, б) функцию расширенной версии DOS и файловый номер.

8.6. Укажите стандартные файловые номера для ввода с клавиатуры,

обычного вывода на экран и вывода на принтер.

8.7. Введите в компьютер программу из рис.8.2 со следующими

изменениями, ассемблируйте ее, выполните компоновку и проверку работы: а)

вместо строки 12 середина строки 15; б) вместо очистки всего экрана

очистка только строк от 0 до 15.

8.8. Измените программу из рис.8.2 для использования ее в расширенной

версии DOS. Выполните ее ассемблирование, компоновку и проверку работы.