Коды ASCII для чисел
Среди функций DOS нет такой, которая выводит числа. Такую операцию, если надо, приходится реализовывать на основе функций вывода текста на экран. Поэтому, чтобы вывести число, надо предварительно преобразовать его цифры в ASCII-коды этих цифр и выводить на экран эти коды, а не само число. Если же выводить число на экран непосредственно, то экран воспримет его не как число, а как последовательность ASCII-символов - каждый байт числа будет воспринят как один ASCII-символ - и выведет на экран эти символы, а не наше число. Например, если вывести на экран байт 61h, то на экране отобразится символ (буква) 'a', а не число (две цифры) 61, поскольку байт 61h (в двоичной нотации - 01100001) - это и есть ASCII-код буквы 'a'. Для того чтобы "высветить" на экране цифры '61', надо вывести на экран сначала ASCII-код цифры '6' - он равен 36h (00110110), а потом - ASCII-код цифры '1' - 11h (00010001). Тогда на экране отобразится нужная запись: 61. Кодирование цифр и букв-шестнадцатиричных цифр показано в таблице.
Таблица. Представление 16-ричных цифр в коде ASCII
-----------------------------------------------------------------
Цифра Код ASCII Цифра Код ASCII
двоичный 16-рич. двоичный 16-рич.
-----------------------------------------------------------------
0 0011 0000 30h 8 0011 1000 38h
1 0011 0001 31h 9 0011 1001 39h
2 0011 0010 32h A 0100 0001 41h
3 0011 0011 33h B 0100 0010 42h
4 0011 0100 34h C 0100 0011 43h
5 0011 0101 35h D 0100 0100 44h
6 0011 0110 36h E 0100 0101 45h
7 0011 0111 37h F 0100 0110 46h
-----------------------------------------------------------------