Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kratkie_otvety_ekzamen_CP_2011-12.docx
Скачиваний:
20
Добавлен:
14.04.2019
Размер:
132.13 Кб
Скачать
  1. Использование функций Int 21h (02h, 06h, 09h) для вывода информации на экран.

- Вывод символа на экран (02h int 21h)

Функция 02h позволяет вывести один символ на экран. Вход: АН » 02h — вывод символа; DL = символ для вывода.

Функция 02h проверяет наличие в клавиатурном буфере символов нажатия комбинации Ctrl+C (Ctrl+Break), при обнаружении которых производится вызов прерывания int 23h. Для того чтобы вывести строку, необходимо использовать цикл.

- Прямой вывод символа на экран (06h int 21h)

Функция 06h выводит один символ на экран. Эта функция универсальна, так как используется и для ввода, и для вывода символа.

Вход: АН = 06h — вывод символа на экран; DL = символ для вывода (за исключением 0ffn).

Функция 06h не проверяет наличие в буфере символов нажатия комбинации Ctrl+C (Ctrl+Break). Порядок использования данной функции аналогичен порядку использования функции 02h.

- Вывод строки на экран (09h int 21h)

Функция 09h выводит строку символов на экран.

Вход: АН = 09h — вывод строки на экран; DS: DX — адрес строки для вывода с завершающим символом $.

Функция 09h проверяет наличие в клавиатурном буфере символов нажатия комбинации Ctrl+C (Ctrl+Break), при обнаружении которых производится вызов прерывания int 23h.

  1. Использование функций Int 21h для ввода, вывода информации в файл.

- Функция 40H: запись в файл

Вход: AH = 40H BX = дескриптор файла DS:DX = адрес буфера, содержащего записываемые данные CX = число записываемых байт

CX байт данных записывается в файл или на устройство с дескриптора, заданного в BX. данные берутся из буфера, адресуемого через DS:DX. данные записываются, начиная с текущей позиции указателя чтения/записи файла.

Выход: AX = код ошибки если CF установлен AL = число реально считанных байт (лучший тест для ошибок)

- Функция 3fH: чтение из файла

Вход: AH = 3fH BX = описатель файла DS:DX = адрес буфера для чтения данных

CX = число считываемых байт .

CX байт данных считываются из файла или устройства с описателем, указанным в BX. данные читаются с текущей позиции указателя чтения/записи файла и помещаются в буфер вызывающей программы, адресуемый через DS:DX.

Выход: AX = код ошибки если CF установлен или число действительно прочитанных байт

  1. Использование функций Int 10h bios (00h,4Fh,02h).

- INT 10h, АН = 00 — Установить видеорежим

Ввод: AL = номер режима в младших 7 битах

Вывод: нет.

Вызов этой функции приводит к тому, что экран переводится в выбранный режим. Если старший бит AL не установлен в 1, экран очищается. Номера текстовых режимов — 0, 1, 2, 3 и 7. 0 и 1 — 16-цветные режимы 40x25 (с 25 строками по 40 символов в строке), 2 и 3 — 16-цветные режимы 80x25, 7 — монохромный режим 80x25.

- INT 10h, АН = 4Fh, AL = 02 — Установить SuperVGA-видеорежим

Ввод: ВХ = номер режима в младших 13 битах

Вывод: AL = 4Fh, если эта функция поддерживается АН = 0, если переключение произошло успешно АН = 1, если произошла ошибка

Если бит 15 регистра ВХ установлен в 1, видеопамять не очищается. Текстовые режимы, которые можно вызвать с использованием этой функции: 80x60 (режим 108h), 132x25 (109h), 132x43 (10Ah), 132x50 (10Bh), 132x60 (10Ch).

Видеорежим, используемый в DOS по умолчанию, — текстовый режим 3.

- INT 10h, АН = 02 — Установить положение курсора

Ввод: АН = 02 ВН = номер страницы DH = строка DL = столбец

С помощью этой функции можно установить курсор в любую позицию экрана, и дальнейший вывод текста будет происходить из этой позиции. Отсчет номера строки и столбца ведется от верхнего левого угла экрана (символ в левой верхней позиции имеет координаты 0, 0). Номера страниц 0 – 3 (для режимов 2 и 3)и 0 – 7 (для режимов 1 и 2) соответствуют области памяти, содержимое которой в данный момент отображается на экране. Можно вывести текст в неактивную в настоящий момент страницу, а затем переключиться на нее, чтобы изображение изменилось мгновенно.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]