Некорректность деления
Некорректность деления с фиксированной точкой возникает в следующих случаях: частное превышает размер регистра; происходит деление на нуль; результат выполнения команды CVB превышает 31 разряд.
Рассмотрим функции и использование некоторых команд для операций с фиксированной точкой на конкретных примерах. Команды сдвига будут рассмотрены вместе с логическими командами, команды сравнения и некоторые команды загрузки — вместе с командами переходов.
Первые операторы BALR и USING загружают и определяют регистр базы. Далее следует первая команда обработки, которую рассмотрим подробнее. Команда L является командой формата RX, длина ее равна четырем байтам. По этой Команде выбираются четыре байта из области памяти, адрес которой указывается вторым операндом, и помещаются в общий регистр, указанный первым операндом.
Команда А также является командой формата RX. Она выполняет сложение двух чисел с фиксированной точкой. Одно число находится в регистре, другое—в основной памяти. По этой команде содержимое слова основной памяти складывается с содержимым общего регистра, результат операции помещается в регистр. Номер общего регистра указывается. в команде первым операндом, адрес основной памяти — вторым. В команде А указан общий регистр 5 и адрес PRIB. В регистр 5 предыдущей командой L загружено число, расположенное по адресу НАСНМ. По команде А к этому числу будет прибавлено число, расположенное по адресу PRIB.