Двоичная арифметика удобна для ЭВМ, так как они работают только с единицами и нулями. Однако человеческое восприятие требует более компактного представления чисел. В описываемом далее символическом языке мы будем использовать шестнадцатеричное представление чисел.

Шестнадцатеричное представление чисел основывается на системе счисления по основанию 16. Каждая цифра в таком числе может иметь значения от 0 до 15. А каждый разряд соответствует степени 16. Шестнадцатеричное представление является удобным методом записи двоичной информации. Каждая шестнадцатеричная цифра соответствует четырем битам. Для преобразования двоичного числа в шестнадцатеричное надо разбить последовательность битов на группы по 4 бита, и значение каждой 4-битовой группы будет цифрой соответствующего шестнадцатеричного представления. Шестнадцатеричное представление чисел по сравнению с двоичным в 4 раза более компактно, чем и удобно для человека.

Небольшая трудность, связанная с шестнадцатеричной системой, состоит в том, что для записи значения одного разряда числа у нас имеются только цифры от 0 до 9. Значения от 10 до 15 мы будем записывать с помощью первых шести букв латинского алфавита от A до F. На рисунке приводится таблица соответствия между десятичными, шестнадцатеричными и двоичными представлениями чисел.

Десятичная Шестнадцатеричная Двоичная
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111

Как видно из таблицы, есть точное соответствие между любой шестнадцатеричной цифрой и каким-либо 4-битовым двоичным числом. Возможность шестнадцатеричного представления обычно имеется в ЭВМ, где длина машинного слова кратна 4. Так как длина машинного слова в микропроцессоре 8088 равна 16 бит, то при записи чисел мы будем пользоваться их шестнадцатеричным представлением. Любое 16-битовое число записывается с помощью четырех шестнадцатеричных цифр. Далее в этой книге числа в шестнадцатеричном представлении будут помечаться в конце латинской буквой "H", а двоичные числа - латинской буквой "B". Десятичные чмсла помечаться не будут, либо будут помечаться в конце латинской буквой "D". Этот способ обозначения полностью соответствует записи чисел в языке ассемблера. В программе, написанной на ассемблере, для представления чисел можно использовать любую из рассмотренных систем счисления: десятичную, двоичную и шестнадцатеричную.

При указании в программе шестнадцатеричных значений необходимо быть уверенным в том, что они будут интерпретированы ассемблером как числа. Если в программе встретилась последовательность символов "FAH", то это может быть как шестнадцатеричное число "FA", так и имя переменной "FAH". В языке ассемблера предполагается, что запись числа начинается с цифры, а переменной - с буквенного символа. Таким образом, в ассемблере "FAH" является переменной. Если нам нужна не переменная, а шестнадцатеричное число, то надо ввести в программу последовательность "0FAH", которая даст требуемое числовое значение и начинается с цифры. Любое шестнадцатеричное число с символами от A до F в крайнем левом разряде должно записываться с нулем в начале, чтобы не допустить неправильную интерпретацию этого числа ассемблером.