Команды для операций
Команды для операций с фиксированной точкой выполняют операции над числами с фиксированной точкой длиной в слово или полуслово. Эти команды используют общие регистры и могут быть следующих форматов: RR, RX и RS. Команды для операций с фиксированной точкой выполняют следующие операции: загрузку, сложение, вычитание, умножение, деление, запись в память, перевод чисел из десятичной системы в двоичную и из двоичной системы в десятичную, сдвиг.
При выполнении большинства команд для операций с фиксированной точкой устанавливается признак результата. Признак результата устанавливается равным одному из четырех значений: О, 1, 2 или 3. Для большинства операций признак результата 0, 1 или 2 указывает, что результат операции соответственно равен нулю, меньше или больше нуля. Признак результата, равный 3, указывает на то, что произошло переполнение. В операциях сравнения признак результата 0, 1, 2 указывает, что первый операнд соответственно равен второму, меньше или больше его.
При выполнении операций с фиксированной точкой в некоторых случаях возникает программное прерывание. Прерывание программы вызывают следующие причины: доступ, спецификация, данные, переполнение, некорректность деления с фиксированной точкой.
Прерывание по доступу вызывается разными причинами, основной из них является обращение к адресу памяти, которого вообще нет в вычислительной системе или который недоступен для программы.
Прерывание по спецификации возникает, если в команде указан нечетный регистр для пары общих регистров, содержащих операнд длиной 64 разряда.
Прерывание, по данным вызывается неправильным кодом знака иди цифры десятичного операнда при выполнении команды CVB.
Прерывание по переполнению происходит в том случае, если результат выполнения операции превышает допустимый диапазон дацных.