Вывод символов на экран


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

Функция DOS с номером 2 обеспечивает наиболее непосредственный путь вывода символа на экран. Для этого нужно просто поместить 2 в регистр AH и выводимый символ в регистр DL, а затем вызвать DOS с помощью INT 21h. Следующий код отображает каждый введенный символ на экране:

mov ah,1

int 21h ; получить код следующей нажа

; той клавиши

mov ah,2

mov dl,al ; переместить считанный

; символ из AL в DL

int 21h ; вывести его на экран

Имеется также ряд других функций для считывания и вывода символов и строк символов. Некоторые из них вы найдете в примерах программ данного руководства. Поскольку для описания всех функций DOS потребуется целая книга, мы не можем здесь рассказать обо всех функциях. Однако мы настоятельно рекомендуем вам изучить хотя бы некоторые из соответствующих книг и руководств и узнать о функциях DOS поподробнее, поскольку они являются в программировании на Ассемблере ключевым ресурсом.

Есть еще одно замечание, которое нужно сделать относительно клавиатуры, экрана и файлового ввода и вывода на языке Ассемблера. Те из вас, кто пользовался функциями scanf и printf в языке Си или функциями Readln n Writeln в Паскале, возможно с удивлением узнают, что в DOS не предусмотрено форматного ввода и вывода. DOS выполняет только посимвольный или построчный вводвывод. В Си для печати целой переменной вам требуется сделать следующее:

printf(«\\d\n»,i);

Си автоматически преобразует целое значение, которое хранится в 16битовой ячейке памяти, в строку символов кода ASCII и печатает символы. В Ассемблере ваша программа должна явно преобразовывать переменные в строки символов, перед тем, как вывести их на экран. Аналогично, DOS знает только, как считывать символы и строки символов с клавиатуры, поэтому вам придется писать программы, преобразующие вводимые пользователем строки и символы в другие данные.

В конце следующей главы мы покажем вам пример программы, иллюстрирующий все то, что вам нужно сделать, чтобы напечатать значение переменной. Сейчас запомните только, что функции DOS могут печатать символы или строку символов, и ничего более. Функция по преобразованию данных в символ, с которым может работать DOS, возлагается на вас.

Загрузка...