Cтраница 3
Схема преобразования данных при вводе их с перфокарт. [31] |
Набор команд десятичной арифметики приведен в табл. 2.1. В нее входят 6 основных арифметических команд: АР - - СЛОЖЕНИЕ, ZAP - СЛОЖЕНИЕ С ОЧИСТКОЙ, SP - ВЫЧИТАНИЕ. Буква Р в командах указывает на то, что они работают с десятичными числами, которые находятся в упакованном формате данных. [32]
Арифметические операции десятичной арифметики производятся над целыми десятичными числами, которые находятся в памяти в упакованном формате данных в прямом коде со знаком плюс или минус. В общем виде структура упакованного формата данных приведена ниже. [33]
Схема преобразования данных при вводе их с перфокарт. [34] |
Набор команд десятичной арифметики приведен в табл. 2.1. В нее входят 6 основных арифметических команд: АР - - СЛОЖЕНИЕ, ZAP - СЛОЖЕНИЕ С ОЧИСТКОЙ, SP - ВЫЧИТАНИЕ, МР - УМНОЖЕНИЕ, DP - ДЕЛЕНИЕ, СР - СРАВНЕНИЕ. Буква Р в командах указывает на то, что они работают с десятичными числами, которые находятся в упакованном формате данных. [35]
Все команды десятичной арифметики имеют формат SS, но операнды могут быть различной длины. [36]
Операндами команд десятичной арифметики служат целые десятичные числа в упакованном формате. [37]
Наличие блока десятичной арифметики в АЛУ исключает при решении подобных задач необходимость программированного перевода чисел из одной системы счисления в другую. Использование двух основных систем счисления ( двоичной и двоично-десятичной) позволяет создавать ЭВМ чрезвычайно высокой производительности. [38]
Схема выполнения команды UNPK. [39] |
В набор десятичной арифметики входят команды CVB и CVD. Эти команды связывают десятичную арифметику с операциями с фиксированной точкой. Они позволяют перевести данные из упакованного формата в формат данных с фиксированной точкой и обратно. Такое преобразование данных целесообразно делать в экономических задачах, если в них требуется выполнить достаточно большое число арифметических операций. [40]
Набор команд десятичной арифметики обеспечивает сложение, вычитание, сравнение, умножение и деление, а также преобразование форматов данных ( прил. В результате всех операций типа сложения и сравнения устанавливается признак результата. Десятичные операнды располагаются в основной памяти, начиная с любого байта, и могут иметь дли ну от одного до шестнадцати байтов ( прил. Данные рассматриваются как целые числа. В операции они участвуют выравненными по правым границам. Обработка ведется справа налево. О потере переносов или значащих цифр сигнализируется как о десятичном переполнении. [41]
При выполнении-операций десятичной арифметики десятич-ные-числа трактуются как целые числа со-знаком, имеющие формат переменной длины от 1 до 16 байт. Десятичные цифры 0 - 9 представляются в шестнадцатиричном коде и имеют значения от 0000 до 1001 соответственно. [42]
В группе команд десятичной арифметики отсутствуют специальные команды сдвига. Однако если программа оперирует с десятичными дробями, то требуется следить за положением десятичной точки, что осуществляется путем сдвига. Рассмотрим простые приемы сдвига десятичных чисел. [43]
Выполнение любой команды десятичной арифметики не изменяет поля второго операнда, поэтому во всех последующих примерах приведено только содержимое поля первого операнда после выполнения команды. [44]
Рассмотрим теперь команды десятичной арифметики. В левой колонке табл. 4 приведены обозначения кодов команд на языке ассемблера. Все команды имеют формат SS, поле длины каждой команды содержит длины LI и L2 обоих операндов. [45]