Виды машинных циклов. Слово состояния процессора. Слово состояния МП КР580ВМ80А. Ввод-вывод в режиме прерывания. Алгоритм обслуживания прерываний, страница 30

Итак, рассмотрим основные цифровые коды, наиболее часто применяемые в вычислительной технике.

Десятичный код в вычислительных устройствах практически не используется по причинам, о которых уже говорилось. Если исходная информация вводится в устройство в десятичном коде (например, с клавиатуры), то уже на этапе ввода эта информация переводится в более удобный (для устройства) двоичный код.

Естественный  или натуральный двоичный код (B-код) в цифровых системах используется как единственно понятный для вычислительных средств. Если в этом коде представлено какое-то число, то перейти к другим кодам можно с помощью специальных логических схем – преобразователей кода.

Шестнадцатеричный код (H-код) используется программистом на этапе составления машинно-ориентированной программы. Иногда и клавиатура вычислительного устройства содержит шестнадцатеричные знаки. Естественно, что на этапе записи программы в память устройства числа из H-кода должны быть преобразованы в двоичные.

Восьмеричный код (Q-код) соответствует представлению чисел в восьмеричной системе. Большинство микропроцессоров и микро-ЭВМ обрабатывают группы из 4, 8 или 16 бит. В этих случаях гораздо удобнее шестнадцатеричная запись, чем восьмеричная. Восьмеричную запись используют, когда группы бит делятся на 3 (например, в 12-разрядных словах).

Двоично-десятичный (BCD-код). Если стоит задача хранения, обработки или отображения именно десятичных чисел, то можно прибегнуть к одной из разновидностей двоично-десятичного кода, когда кодируется не все число целиком, а каждая его цифра кодируется отдельно, с помощью одного из двоичных представлений. Например, если число 3710 представляется в естественном двоичном коде как

3710 = 1001012, то представление такого двоичного числа в виде десятичного на индикаторе технически трудно. Гораздо проще представлять цифры 3 и 7 по отдельности. В BCD-коде (binarycodedecimal) цифры 3 и 7 закодированы естественным двоичным кодом

3710 = 0011 01112/10 , и вывод такой информации на индикацию осуществляется гораздо проще, с минимумом преобразований (например, с помощью достаточно простых микросхем – дешифраторов). Несмотря на то, что для двоично-десятичного представления требуется большее число двоичных разрядов, простота преобразований для отображения целиком компенсирует этот недостаток.

Числа от 0 до 9 можно закодировать двоичным образом многими способами. Для двоичного кода требуется как минимум четыре двоичных разряда. Поскольку количество кодовых комбинаций для четырех разрядов рано 16, шесть комбинаций являются лишними, и в различных кодах избыточными («лишними»), считаются какие-то свои комбинации.

Наиболее употребимый код – это код, представляющий десятичную цифру естественным двоичным кодом. Поскольку веса разрядов такого кода – числа 8, 4, 2 и 1, код так и называется – код «8421». Именно этот код представлен в примере.

Ряд других кодов (код «2421», код Айкена и другие) имеют свои особенности (самодополнение, помехоустойчивость и пр.).

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

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

В случае, когда вычислительное средство работает с отрицательными числами, для индикации знака числа отводится отдельный разряд, как правило, старший. При 0 в знаковом разряде число считается положительным, при 1 – отрицательным. Поскольку один разряд будет занят признаком знака, для отображения модуля числа остается на один разряд меньше. Для операций с числами со знаками и используется дополнительный код.

В дополнительном коде любое число (например, восьмиразрядное) представляется следующим образом: