Как мы заметили выше, мы можем рассматривать каждый байт информации
не как двоичное число, а как символьное значение. Каждое из
двоичных чисел от 0 до 255 может представлять определенный символ.
Фиг. 2.13 показывает множество символов IBM PC. Колонки здесь
соответствуют старшим 4 битам символьного кода, а ряды - младшим 4
битам этого кода. Так, позиция таблицы 41Н соответствует символу
"A", а код 5ЕН представляет символ "^".
ЪДДДВДДДТДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДї ЪДДДВДДДТДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДї
ідесі= >є 0 і16 і32 і48 і64 і80 і96 і112і ідесі= >є128і144і160і176і192і208і224і240і
ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ
і ішстє 0 і 1 і 2 і 3 і 4 і 5 і 6 і 7 і і ішстє 8 і 9 і A і B і C і D і E і F і
ЖНННШНННОНННШНННШНННШНННШНННШНННШНННШНННµ ЖНННШНННОНННШНННШНННШНННШНННШНННШНННШНННµ
і 0 і 0 єпусі > іпрбі 0 і @ і P і ` і p і і 0 і 0 є А і Р і а і ° і А і Р і р і і
ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ
і 1 і 1 є і < і ! і 1 і A і Q і a і q і і 1 і 1 є Б і С і б і ± і Б і С і с і і
ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ
і 2 і 2 є і і " і 2 і B і R і b і r і і 2 і 2 є В і Т і в і І і В і Т і т і і
ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ
і 3 і 3 є і ! і # і 3 і C і S і c і s і і 3 і 3 є Г і У і г і і і Г і У і у і і
ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ
і 4 і 4 є і і $ і 4 і D і T і d і t і і 4 і 4 є Д і Ф і д і ґ і Д і Ф і ф і і
ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ
і 5 і 5 є і і % і 5 і E і U і e і u і і 5 і 5 є Е і Х і е і µ і Е і Х і х і і
ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ
і 6 і 6 є і і & і 6 і F і V і f і v і і 6 і 6 є Ж і Ц і ж і ¶ і Ж і Ц і ц і і
ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ
і 7 і 7 є і і ' і 7 і G і W і g і w і і 7 і 7 є З і Ч і з і · і З і Ч і ч і і
ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ
і 8 і 8 є і і ( і 8 і H і X і h і x і і 8 і 8 є И і Ш і и і ё і И і Ш і ш і і
ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ
і 9 і 9 є і і ) і 9 і I і Y і i і y і і 9 і 9 є Й і Щ і й і № і Й і Щ і щ і і
ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ
і10 і A є і і * і : і J і Z і j і z і і10 і A є К і Ъ і к і є і К і Ъ і ъ і і
ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ
і11 і B є і і + і ; і K і [ і k і { і і11 і B є Л і Ы і л і » і Л і Ы і ы і і
ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ
і12 і C є і і , і < і L і \ і l і | і і12 і C є М і Ь і м і ј і М і Ь і ь і і
ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ
і13 і D є і і - і = і M і ] і m і } і і13 і D є Н і Э і н і Ѕ і Н і Э і э і і
ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ
і14 і E є і і . і > і N і ^ і n і ~ і і14 і E є О і Ю і о і ѕ і О і Ю і ю і і
ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ ГДДДЕДДДЧДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДЕДДДґ
і15 і F є і і / і ? і O і _ і o і і і15 і F є П і Я і п і ї і П і Я і я і і
АДДДБДДДРДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДЩ АДДДБДДДРДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДЩ
Фиг. 2.13 Набор символов IBM
Набор символов IBM PC является расширением набора символов
ASCII (Американский стандартный код для обмена информацией). В
наборе ASCII значения символов от 20Н до 7ЕН представляют обычные
символы латинского алфавита, числовые символы и знаки препинания.
Коды от 0Н до 1FH обычно служат управляюшими символами. На Фиг.
2.14 показаны управляющие символы ASCII из этого диапазона. Эти
символы имеют значение при передаче на принтеры IBM или другие
ASCII-принтеры. Однако на Фиг. 2.13 видно, что эти управляющие
символы могут также появляться на экране в виде графических симво-
лов. В IBM PC управляющая часть таблицы ASCII используется для
графических изображений, с целью более полно реализовать возмож-
ности видеоадапторов. Поскольку видеоадапторы могут изобразить
любой из 256 кодов, то нет оснований строго регламентировать
применение какого-либо из кодов. Разработчики рассматривали все 32
символа из управляющей части таблицы как предназначенные главным
образом для графического изображения и обычно не печатаемые
принтером. Короче говоря, первые 32 значения являются управляющими
кодами при передаче их на принтер, но изображаются как графические
символы при выводе их на дисплей.
Символьные значения от 80Н до 0FFH являются расширением набора
символов ASCII для IBM PC. Эти символы подобраны разработчиками
IBM так, чтобы расширить изобразительные возможности компьютера.
Наборы иностранных, графических и научных символов позволяют
использовать IBM PC в самых разнообразных приложениях.
Код Символ Значение
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
0 NUL Пусто
7 BEL Сигнал
9 HT Горизонтальная табуляция
0A LF Пропуск строки
0B VT Вертикальная табуляция
0C FF Прогон страницы
0D CR Возврат каретки
0E SO Шаг назад
0F SI Шаг вперед
11 DC1 Управление 1
12 DC2 Управление 2
13 DC3 Управление 3
14 DC4 Управление 4
18 CAN Стоп
1B ESC Выход
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Фиг. 2.14 Управляющие коды IBM
В некоторых случаях вы захотите вводить символьные коды в па-
мять для их дальнейшего использования программой. Примером может
служить сообщение, которое в определенный момент выполнения прог-
раммы должно быть выдано оператору. Вместо потска кодов символов в
таблице, мы можем сразу ввести строку символов в текст программы.
Ассемблер позволяет это сделать с помощю оператора DB. В поле
Microsoft (R) Macro Assembler Version 5.00 10/31/88 22:30:38
Фиг. 2.15 Определение байтов для текста ASCII Page 1-1
1 PAGE ,132
2 TITLE Фиг. 2.15 Определение байтов для текста ASCII
3
4 0000 9D E2 AE 20 E1 AE AE DB 'Это сообщение',10,13
5 A1 E9 A5 AD A8 A5 0A
6 0D
7
8 END
Фиг. 2.15 Определение байтов для текста ASCII
операндов мы вместо ввода чисел (кодов) помещаем заключенную в
кавычки строку символов. Ассемблер подберет соответствующие
значения кодов и поместит их в память - каждый символ в отдельный
байт. Так ассемблер может работать только с символами в диапазоне
от 20Н до 0FFH. в диапазоне от 0Н до 1FH символы должны вводиться
в программу в виде чисел, а не ограниченной кавычками строки. Это
связано с тем, что в тексте исходного файла некоторые управляющие
символы используются для обозначения начала и конца строки.
Пример на Фиг. 2.15 показывает создание 15 байт данных в
программе. Первые 13 байтов соответствуют 13-ти символам текстовой
строки заключенной в кавычки. Первый байт имеет значение 9DH,
второй 0E2H и т.д. Последние два байта в 17-ти байтном сообщении -
это коды возврата каретки и прогона строки. Если мы отправим это
17-байтное собщение на принтер, он напечатает заключенный в кавычки
текст. Управляющие символы предписывают принтеру перейти после
этого на следующую строку документа.