Десятичная арифметика
Команда CVD является командой формата RX. По команде CVD содержимое общего регистра, указанного первым операндом, преобразуется из двоичной системы счисления в десятичную, а результат помещается в область памяти, адрес которой указан вторым операндом. Как до преобразования, так и после число рассматривается как целое число со знаком. Отрицательные числа должны быть представлены в дополнительном коде. Результат занимает в памяти 8 байт. Младшие четыре разряда результата используются для представления знака: плюс кодируется комбинацией 1100, минус— 1101. Остальные 60 разрядов содержат 15 цифр в двоично-десятичном коде. В приведенной программе по команде CVD преобразуется содержимое регистра 5. Результат сохраняется в области RES.
Набор команд десятичной арифметики в ЕС ЭВМ обеспечивает возможность выполнения арифметических операций над десятичными числами, а также операций сдвига, сравнения и преобразования формата данных. Все команды десятичной арифметики являются командами формата SS. Результат операций помещается в область, занимаемую первым операндом команды.
Команды десятичной арифметики обрабатывают только данные в упакованном десятичном формате. Единственное исключение представляет команда PACK, у которой один операнд должен быть десятичным числом с зоной. Операнды могут иметь длину от 1 до 16 байт.
При выполнении операций десятичной арифметики могут вызвать прерывание следующие причины: доступ, спецификация, данные, десятичное переполнение и десятичное деление.
Операторы DC определяют десятичные упакованные числа длиной 4 байта.