Ассемблер и программирование для IBM PC


          

ГЛАВА 8. Экранные операции I: Основные свойства - часть 9


MOV WORD PTR[NAMEFLD],2020H ;Неправильно

Очистка входной области решает проблему ввода коротких имен, за которыми следуют предыдущие данные. Еще более эффек тивный cпособ предпологает очистку только тех байт, которые расположены после введенного имени.

ЭКРАННЫЕ И КЛАВИАТУРНЫЕ ОПЕРАЦИИ: РАСШИРЕННАЯ ВЕРСИЯ DOS ------------------------------------------------------------

Рассмотрим теперь расширенные возможности, введенные в DOS 2.0 (реализованные в стиле операционной системы UNIX). Если вы используете более младшую версию DOS, то не сможете выполнить примеры из данного раздела. Расширенные возможнос ти включают файловый номер (file handle), который yстанав ливается в регистре BX, когда требуется выполнить операцию ввода/вывода. Существуют следующие стандартные файловые номера:

0 Ввод (обычно с клавиатуры) CON 1 Вывод (обычно на экран) CON 2 Вывод по ошибке (на экран) CON 3 Ввод/вывод на внешнее устройство AUX 4 Вывод на печать LPT1 или PRN

Прерывание DOS для ввода/вывода - INT 21H, необходимая функция запрашивается через регистр AH: шест.3F - для ввода, шест.40 - для вывода. В регистр CX заносится число байт для ввода/вывода, а в регистр DX - адрес области ввода/вывода. В результате успешного выполнения операции ввода/вывода очищается флаг переноса (CF) и в регистр AX устанавливается действительное число байт, участвующих в операции. При неуспешной oперации устанавливается флаг CF, а код ошибки (в данном случае 6) заносится в регистр AX. Поскольку регистр AX может содержать как длину данных, так и код ошибки, то единственный способ определить наличие ошибки - проверить флаг CF, хотя ошибки чтения с клавиатуры и вывода на экран - явления крайне редкие. Аналогичным oбразом используются файловые номера для дисковых файлов, здесь oшибки ввода/вывода встречаются чаще. Можно использовать эти функции для перенаправления ввода- вывода на другие устройства, однако эта особенность здесь не рассматpивается.

ВЫВОД НА ЭКРАН: РАСШИРЕННАЯ ВЕРСИЯ DOS ------------------------------------------------------------




Содержание  Назад  Вперед