Как мы заметили выше, мы можем рассматривать каждый байт информации не как двоичное число, а как символьное значение. Каждое из двоичных чисел от 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
Код Символ Значение
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
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-байтное сообщение на принтер, он напечатает заключенный в кавычки текст. Управляющие символы предписывают принтеру перейти после этого на следующую строку документа.