Принципы работы системы IBM/370

Описание логической структуры вычислительных машин Системы 370. Особенности мультипроцессирования. Команды общего назначения и управления системой, обработки десятичных данных и команды с плавающей точкой. Средства обработки машинных ошибок (коррекция).

Рубрика Программирование, компьютеры и кибернетика
Вид книга
Язык русский
Дата добавления 12.06.2014
Размер файла 658,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

доступ (выборка второго операнда, запись в память на место первого операнда).

Замечания по программированию

Команда ПЕРЕСЫЛКА ДЛИННАЯ может быть использована для очистки памяти. Для этого нужно в качестве символа-заполнителя взять байт, содержащий только нули, и задать нулевое значение счетчика длины второго операнда.

Если счетчик первого операнда равен нулю, операция заключается в установке признака результата, а также установки старших байтов в регистрах R1 и R2 равными нулю.

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

Поскольку выполнение команды ПЕРЕСЫЛКА ДЛИННАЯ может быть прервано, ее нельзя использовать в ситуациях, которые предполагают непрерываемое выполнение данной команды или отсутствие продвижения интервального таймера во время ее выполнения. Обычно также не следует допускать, чтобы сама команда ПЕРЕСЫЛКА ДЛИННАЯ была расположена в поле своего первого операнда, так как при этом в случае возобновления выполнения после прерывания или в случае повторной выборки команды в отсутствие прерывания возможна выборка и расшифровка нового содержимого ячейки, отведенной для команды.

Если команда ПЕРЕСЫЛКА ДЛИННАЯ должна выполняться с помощью команды ВЫПОЛНИТЬ, необходимо принимать специальные меры предосторожности, которые обсуждаются в замечаниях по программированию для команды ВЫПОЛНИТЬ.

Если кнопка “стоп” будет нажата во время выполнения команды ПЕРЕСЫЛКА ДЛИННАЯ или команды СРАВНЕНИЕ КОДОВ ДЛИННОЕ, процессор перейдет в состояние “стоп” после завершения выполнения следующего элемента операции. Аналогично в режиме покомандного выполнения каждый раз выполняется только один элемент операции. Количество данных, обрабатываемое в одном элементе операции, зависит от модели и может также зависеть от конкретных условий, вызывающих прерывание выполнения команды.

ПЕРЕСЫЛКА ЦИФР

MVN D1(L,B1),D2(B2) [SS]

+----------------------------------------------------+

¦ D1 ¦ L ¦ B1 ¦ D1 ¦ B2 ¦ D2 ¦

+----------------------------------------------------+

0 7 8 15 16 19 20 31 32 35 36 47

Младшие 4 бита каждого байта из поля второго операнда (цифры) помещаются в младшие биты соответствующих байтов в поле первого операнда. Старшие 4 бита каждого байта в поле первого операнда остаются без изменения.

Каждое поле операнда обрабатывается слева направо. Если операнды перекрываются, результат получается таким, как если бы операнды обрабатывались по одному байту за один раз и каждый байт результата записывался в память сразу же после выборки нужного байта операнда.

Признак результата не изменяется.

Программные прерывания:

доступ (выборка второго операнда, выборка и запись в память первого операнда).

Замечания по программированию

Выполнение команды ПЕРЕСЫЛКА ЦИФР заключается в выборке четырех старших битов каждого байта из поля первого операнда и последующей записи в память модифицированного значения байта. Запись в память конкретного байта не обязательно производится сразу же после его выборки.

ПЕРЕСЫЛКА СО СДВИГОМ

MVO D1(L1,B1),D2(L2,B2) [SS]

+--------------------------------------------------------+

¦ F1 ¦ L1 ¦ L2 ¦ B1 ¦ D1 ¦ B2 ¦ D2 ¦

+--------------------------------------------------------+

0 7 8 11 12 15 16 19 20 31 32 35 36 47

Второй операнд помещается слева от младших 4 битов первого операнда и вплотную к этим битам. Младшие 4 бита первого операнда присоединяются в качестве младших битов ко второму операнду, и результат помещается на место первого операнда. Байты первого и второго операндов не проверяются на допустимость кодов.

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

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

Признак результата не изменяется.

Программные прерывания:

доступ (выборка второго операнда, выборка и запись в память первого операнда).

Замечания по программированию

При выполнении команды MVO выборка и последующая запись в память младшего байта первого операнда не обязательно производятся непосредственно друг за другом.

ПЕРЕСЫЛКА ЗОН

MVZ D1(L,B1),D2(B2) [SS]

+----------------------------------------------------+

¦ D3 ¦ L ¦ B1 ¦ D1 ¦ B2 ¦ D2 ¦

+----------------------------------------------------+

0 7 8 15 16 19 20 31 32 35 36 47

Старшие 4 бита каждого байта из поля второго операнда (зоны) помещаются в старшие биты соответствующих байтов в поле первого операнда. Младшие 4 бита каждого байта в поле первого операнда остаются без изменения.

Каждое поле операнда обрабатывается слева направо. Если операнды перекрываются, результат получается таким, как если бы операнды обрабатывались по одному байту за один раз и каждый байт результата записывался в память сразу же после выборки нужного байта операнда.

Признак результата не изменяется.

Программные прерывания:

доступ (выборка второго операнда, выборка и запись в память первого операнда).

Замечания по программированию

Выполнение команды ПЕРЕСЫЛКА ЗОН заключается в выборке четырех младших битов каждого байта из поля первого операнда и последующей записи в память модифицированного значения байта. Запись в память конкретного байта не обязательно производится сразу же после его выборки.

УМНОЖЕНИЕ

MR R1,R2 [RR]

+--------------------+

¦ 1C ¦ R1 ¦ R2 ¦

+--------------------+

0 7 8 11 12 15

M R1,D2(X2,B2) [RX]

+--------------------------------------+

¦ 5C ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Произведение множителя (второй операнд) и множимого (первый операнд) помещается на место множимого.

Как множитель, так и множимое рассматриваются как целые числа со знаком, состоящие из 32 разрядов, включая знаковый. Произведение всегда представляет собой целое число со знаком, состоящее из 64 разрядов, включая знаковый, и помещается в два смежных общих регистра с четным и нечетным номерами. Поскольку произведение замещает множимое, поле R1 кода команды должно указывать общий регистр с четным номером. Если в поле R1 указан регистр с нечетным номером, фиксируется особый случай спецификации. Множимое берется из нечетного регистра пары. Содержимое четного регистра, замещаемое произведением игнорируется, если только в этом регистре не находится множитель. Переполнение произойти не может.

Знак произведения определяется по правилам алгебры в зависимости от знаков сомножителей. В случае нулевого результата знак произведения всегда положителен.

Признак результата не изменяется.

Программные прерывания:

доступ (выборка второго операнда в команде M);

спецификация.

Замечания по программированию

Значащая часть произведения обычно содержит 62 разряда или меньше. Только при перемножении двух максимальных отрицательных чисел получается произведение с 63 значащими разрядами. Так как для представления отрицательных чисел используется дополнительный код, то в любом случае значение знакового разряда произведения распространяется направо на старшие биты произведения вплоть до первого значащего бита.

УМНОЖЕНИЕ ПОЛУСЛОВА

MH R1,D2(X2,B2) [RX]

+--------------------------------------+

¦ 4C ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Произведение множителя (второй операнд) и множимого (первый операнд) помещается на место множимого. Второй операнд имеет длину 2 байта и рассматривается как целое число со знаком, состоящее из 16 разрядов, включая знаковый.

Как множитель, так и множимое рассматриваются как целые числа со знаком, состоящие из 32 разрядов, включая знаковый. Перед умножением множитель расширяется до 32 битов путем присвоения значения знакового разряда старшим 16 битам. Множимое замещается младшей частью произведения. Биты, расположенные левее 32 младших битов произведения, на значимость не проверяются; указание о переполнении не делается.

Знак произведения определяется по правилам алгебры в зависимости от знаков сомножителей. В случае нулевого результата знак произведения всегда положителен.

Признак результата не изменяется.

Программные прерывания:

доступ (выборка второго операнда).

Замечания по программированию

Значащая часть произведения обычно содержит 46 разрядов или меньшее их количество, за исключением случая, когда перемножаются два максимальных отрицательных числа, произведение которых имеет 47 значащих битов. Так как в результате выполнения операции запоминаются без изменения лишь 32 младших бита произведения, а все биты, расположенные левее, теряются, то в случае переполнения значение знакового бита результата может отличаться от истинного значения знака произведения.

ИЛИ

OR R1,R2 [RR]

+--------------------+

¦ 16 ¦ R1 ¦ R2 ¦

+--------------------+

0 7 8 11 12 15

O R1,D2(X2,B2) [RX]

+--------------------------------------+

¦ 56 ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

OI D1(B1),I2 [SI]

+-------------------------------+

¦ 96 ¦ I2 ¦ B1 ¦ D1 ¦

+-------------------------------+

0 7 8 15 16 19 20 31

OC D1(L,B1),D2(B2) [SS]

+----------------------------------------------------+

¦ D6 ¦ L ¦ B1 ¦ D1 ¦ B2 ¦ D2 ¦

+----------------------------------------------------+

0 7 8 15 16 19 20 31 32 35 36 47

Поразрядная логическая сумма (ИЛИ) первого и второго операндов помещается на место первого операнда.

Операнды обрабатываются как логические величины, не имеющие внутренней структуры. операция выполняется над соответствующими парами битов. Бит результата устанавливается в единицу, если соответствующий бит какого-нибудь одного или обоих операндов содержит единицу; в противном случае этот бит результата устанавливается в нуль.

В случае команды OC поля операндов обрабатываются слева направо. Если операнды перекрываются, результат получается таким, как если бы операнды обрабатывались побайтно и каждый байт результата записывался в память сразу же после выборки нужного байта операнда.

Признак результата:

0 - результат равен нулю;

1 - результат не равен нулю;

2 - не бывает;

3 - не бывает.

Программные прерывания:

доступ (выборка второго операнда в командах O и OC, выборка и запись в память первого операнда в командах OI и OC).

Замечания по программированию

Команда ИЛИ может быть использована для установки некоторого бита в единицу.

Выполнение команд OI и OC состоит в выборке байта первого операнда из основной памяти и последующей записи в память модифицированного значения. Запись конкретного байта не обязательно производится сразу же после его выборки. Поэтому команду ИЛИ нельзя использовать для модификации значения в разделяемой ячейке основной памяти без учета возможных, но непредсказуемых последствий, если существует вероятность, что в то же время может производить изменение в этой ячейке другой процессор. В случае команды OI в память записывается только один байт.

УПАКОВАТЬ

PACK D1(L1,B1),D2(L2,B2) [SS]

+--------------------------------------------------------+

¦ F2 ¦ L1 ¦ L2 ¦ B1 ¦ D1 ¦ B2 ¦ D2 ¦

+--------------------------------------------------------+

0 7 8 11 12 15 16 19 20 31 32 35 36 47

Второй операнд преобразуется из зонного формата в упакованный формат, и результат помещается на место первого операнда.

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

Результат получается таким, как если бы поля обрабатывались справа налево. Если это необходимо, второй операнд дополняется старшими нулями. Старшие значащие цифры второго операнда, не помещающиеся в поле первого операнда, отбрасываются.

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

Признак результата не изменяется.

Программные прерывания:

доступ (выборка второго операнда, запись в память на место первого операнда).

Замечания по программированию

Команда УПАКОВАТЬ может быть использована для перестановки двух цифр в одном байте. Для этого нужно задать нулевые значения в полях L1 и L2 данной команды и указать один и тот же адрес для обоих операндов.

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

УСТАНОВИТЬ МАСКУ ПРОГРАММЫ

SPM R1 [RR]

+--------------------+

¦ 04 ¦ R1 ¦ //// ¦

+--------------------+

0 7 8 11 12 15

Биты 2-7 общего регистра, заданного полем R1, замещают биты признака результата и маски программы в текущем PSW. Биты 12-15 кода данной команды игнорируются.

Биты 0-1 и 8-31 регистра, заданного полем R1, игнорируются. Содержимое самого регистра остается без изменения.

С помощью этой команды можно установить признак результата и биты маски как в состоянии “задача”, так и в состоянии “супервизор”.

Признак результата устанавливается в соответствии со значениями битов 2-3 регистра, заданного полем R1.

Программные прерывания отсутствуют.

Замечания по программированию

В позиции 2-7 общего регистра содержимое полей признака результата и маски программы из PSW может быть перенесено с помощью команды ПЕРЕХОД С ВОЗВРАТОМ.

СДВИГ ВЛЕВО ДВОЙНОЙ АРИФМЕТИЧЕСКИЙ

SLDA R1,D2(B2) [RS]

+--------------------------------------+

¦ 8F ¦ R1 ¦ //// ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Целая часть первого операнда длиной в двойное слово сдвигается влево на число двоичных позиций, определяемое адресом второго операнда. Содержимое битов 12-15 данной команды игнорируется.

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

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

Первый операнд рассматривается как число, состоящее из 63 разрядов целой части и знакового бита - старшего разряда регистра с четным номером. При сдвиге знак числа не изменяется. Старший бит регистра с нечетным номером используется как один из разрядов целой части числа, а содержимое этого регистра участвует в сдвиге как продолжение целой части числа, находящейся в регистре с нечетным номером. В освобождающиеся разряды регистров заносятся нули.

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

Признак результата:

0 - результат равен нулю;

1 - результат меньше нуля;

2 - результат больше нуля;

3 - переполнение.

Программные прерывания:

спецификация;

переполнение с фиксированной точкой.

Замечания по программированию

Восемь команд сдвига обеспечивают три пары разновидностей сдвига. Сдвиг может быть влево или вправо, обычный или двойной, арифметический или кода. Арифметические сдвиги отличаются от сдвигов кода тем, что при их выполнении фиксируется переполнение, устанавливается признак результата и старший разряд используется в качестве знакового.

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

Если в команде арифметического двойного сдвига указана величина сдвига, равная нулю, операция заключается в проверке знака и величины исходного числа двойной длины. Для аналогичной проверки числа одиночной длины можно использовать команду арифметического сдвига одиночной длины с нулевой величиной сдвига, однако лучше для этой цели использовать команду ЗАГРУЗКА И ПРОВЕРКА, так как она занимает меньше памяти и на многих моделях ЭВМ выполняется быстрее.

Регистр базы, участвующий в образовании адреса второго операнда, позволяет косвенно задать величину сдвига. Если поле B2 содержит нулевое значение, косвенное определение величины сдвига отсутствует.

Арифметический сдвиг числа влево на одну позицию эквивалентен умножению числа со знаком на 2. Аналогичный эффект имеет сдвиг кода, но для чисел без знака.

В результате сдвига положительного числа на 63 разряда с помощью команды СДВИГ ВЛЕВО ДВОЙНОЙ АРИФМЕТИЧЕСКИЙ получается нулевой результат, при сдвиге отрицательного числа - результат -263.

СДВИГ ВЛЕВО ДВОЙНОЙ КОДА

SLDL R1,D2(B2) [RS]

+--------------------------------------+

¦ 8D ¦ R1 ¦ //// ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Первый операнд, представляющий собой двойное слово, сдвигается влево на число двоичных позиций, определяемое адресом второго операнда. Содержимое битов 12-15 кода данной команды игнорируется.

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

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

В сдвиге участвуют все 64 разряда первого операнда. Старшие биты без проверки выдвигаются за пределы общего регистра с четным номером и теряются. В освобождающиеся позиции регистров заносятся нули.

Признак результата остается без изменения.

Программные прерывания:

спецификация.

СДВИГ ВЛЕВО АРИФМЕТИЧЕСКИЙ

SLA R1,D2(B2) [RS]

+--------------------------------------+

¦ 8B ¦ R1 ¦ //// ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Целая часть первого операнда сдвигается влево на число двоичных позиций, определяемое адресом второго операнда. Содержимое битов 12-15 данной команды игнорируется.

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

Знак первого операнда остается без изменения. В сдвиге влево принимает участие 31 разряд целой части числа. В освобождающиеся младшие позиции заносятся нули.

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

Признак результата:

0 - результат равен нулю;

1 - результат меньше нуля;

2 - результат больше нуля;

3 - переполнение.

Программные прерывания:

спецификация;

переполнение с фиксированной точкой.

Замечания по программированию

Если величина сдвига задана числом в пределах от 31 до 63, то вся целая часть будет сдвинута за пределы регистра. В результате сдвига за пределы регистра положительного числа регистр будет содержать нулевое значение. В случае сдвига отрицательного числа регистр будет содержать значение -231.

СДВИГ ВЛЕВО КОДА

SLL R1,D2(B2) [RS]

+--------------------------------------+

¦ 89 ¦ R1 ¦ //// ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Первый операнд сдвигается влево на число двоичных позиций, определяемое адресом второго операнда. Содержимое битов 12-15 кода данной команды игнорируется.

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

В сдвиге участвуют все 32 разряда первого операнда. Старшие биты без проверки выдвигаются за пределы общего регистра и теряются. В освобождающиеся позиции регистров заносятся нули.

Признак результата остается без изменения.

Программные прерывания отсутствуют.

СДВИГ ВПРАВО ДВОЙНОЙ АРИФМЕТИЧЕСКИЙ

SRDA R1,D2(B2) [RS]

+--------------------------------------+

¦ 8E ¦ R1 ¦ //// ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Целая часть первого операнда длиной в двойное слово сдвигается вправо на число двоичных позиций, определяемое адресом второго операнда. Содержимое битов 12-15 данной команды игнорируется.

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

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

Первый операнд рассматривается как число, состоящее из 63 разрядов целой части и знакового бита - старшего разряда регистра с четным номером. При сдвиге знак числа не изменяется. Старший бит регистра с нечетным номером используется как один из разрядов целой части числа, а содержимое этого регистра участвует в сдвиге как продолжение целой части числа, находящейся в регистре с нечетным номером. Младшие биты без проверки выдвигаются за пределы нечетного регистра и теряются. В освобождающиеся разряды регистров заносятся биты, равные знаковому.

Признак результата:

0 - результат равен нулю;

1 - результат меньше нуля;

2 - результат больше нуля;

3 - не бывает.

Программные прерывания:

спецификация.

Замечания по программированию

Сдвиг вправо на один разряд эквиваленте делению числа на 2 с округлением в сторону меньшего числа. Если четное число сдвигается вправо на одну позицию, результат получается таким, как при делении данного числа на 2. Если сдвигается нечетное число, результат совпадает с результатом деления на 2 следующего меньшего четного числа. Например, число +5, сдвинутое вправо на одну позицию, дает результат, равный +2, в то время как число -5 дает результат, равный -3.

Если величина сдвига равна 63, вся целая часть числа будет выдвинута за пределы регистров. Если такая операция выполняется над положительным числом, будет получен нулевой результат, а если над отрицательным - результат -1.

СДВИГ ВПРАВО ДВОЙНОЙ КОДА

SRDL R1,D2(B2) [RS]

+--------------------------------------+

¦ 8C ¦ R1 ¦ //// ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Первый операнд, представляющий собой двойное слово, сдвигается вправо на число двоичных позиций, определяемое адресом второго операнда. Содержимое битов 12-15 кода данной команды игнорируется.

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

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

В сдвиге участвуют все 64 разряда первого операнда. Младшие биты без проверки выдвигаются за пределы общего регистра с нечетным номером и теряются. В освобождающиеся позиции регистров заносятся нули.

Признак результата остается без изменения.

Программные прерывания:

спецификация.

СДВИГ ВПРАВО АРИФМЕТИЧЕСКИЙ

SRA R1,D2(B2) [RS]

+--------------------------------------+

¦ 8A ¦ R1 ¦ //// ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Целая часть первого операнда сдвигается вправо на число двоичных позиций, определяемое адресом второго операнда. Содержимое битов 12-15 данной команды игнорируется.

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

Знак первого операнда остается без изменения. В сдвиге вправо принимает участие 31 разряд целой части числа. В освобождающиеся позиции заносятся биты, равные знаковому разряду числа. Младшие биты без проверки выдвигаются за пределы регистра и теряются.

Признак результата:

0 - результат равен нулю;

1 - результат меньше нуля;

2 - результат больше нуля;

3 - не бывает.

Программные прерывания отсутствуют.

Замечания по программированию

Если величина сдвига находится в пределах от 31 до 63, вся целая часть числа будет выдвинута за пределы регистров. Если такая операция выполняется над положительным числом, будет получен нулевой результат, а если над отрицательным - результат -1.

СДВИГ ВПРАВО КОДА

SRL R1,D2(B2) [RS]

+--------------------------------------+

¦ 88 ¦ R1 ¦ //// ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Первый операнд сдвигается вправо на число двоичных позиций, определяемое адресом второго операнда. Содержимое битов 12-15 кода данной команды игнорируется.

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

В сдвиге участвуют все 32 разряда первого операнда. Младшие биты без проверки выдвигаются за пределы общего регистра и теряются. В освобождающиеся позиции регистра заносятся нули.

Признак результата остается без изменения.

Программные прерывания отсутствуют.

ЗАПИСЬ В ПАМЯТЬ

ST R1,D2(X2,B2) [RX]

+--------------------------------------+

¦ 50 ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Первый операнд записывается в память по адресу второго операнда.

32 разряда из общего регистра помещаются без изменения на место второго операнда.

Признак результата не изменяется.

Программные прерывания:

доступ (запись в память на место второго операнда).

ЗАПИСЬ В ПАМЯТЬ СИМВОЛА

STC R1,D2(X2,B2) [RX]

+--------------------------------------+

¦ 42 ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Биты 24-31 общего регистра, заданного полем R1, помещаются без изменения на место второго операнда. Длина второго операнда равна одному байту. Содержимое общего регистра остается без изменения.

Признак результата не изменяется.

Программные прерывания:

доступ (запись в память на место второго операнда).

ЗАПИСЬ В ПАМЯТЬ СИМВОЛОВ ПО МАСКЕ

STCM R1,M3,D2(B2) [RS]

+--------------------------------------+

¦ BF ¦ R1 ¦ M3 ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Байты, выделенные из первого операнда с помощью маски, помещаются в смежные ячейки памяти, начиная с ячейки, имеющей адрес второго операнда.

В качестве маски используется содержимое поля M3, занимающего в коде команды разряды 12-15. Четыре бита маски соответствуют слева направо четырем позициям байтов общего регистра, заданного полем R1. Байты, соответствующие единичным битам маски, помещаются в том же порядке в последовательные смежные ячейки памяти, начиная с ячейки. определенной адресом второго операнда. Число записываемых в память байтов равно числу единичных битов маски. Содержимое общего регистра остается без изменения.

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

Признак результата не изменяется.

Программные прерывания:

доступ (запись в память на место второго операнда).

ЗАПИСЬ В ПАМЯТЬ ПОКАЗАНИЯ ЧАСОВ

STCK D2(B2) [S]

+--------------------------+

¦ B205 ¦ B2 ¦ D2 ¦

+--------------------------+

0 15 16 19 20 31

Текущее показание часов записывается в 8-байтовое поле памяти, задаваемое адресом второго операнда, при условии, что часы либо выставлены, либо не выставлены, либо неисправны.

Показание часов выражается числом с фиксированной точкой без знака, состоящим из 64 разрядов. В биты поля памяти, соответствующие неиспользуемым младшим битам часов, записываются нули.

Если часы сломаны, нельзя сказать заранее, какое значение будет записано в память.

Если часы выключены, в поле операнда записываются нули.

Достоверность показания часов, записанного в память с помощью данной команды, определяется по установленному признаку результата.

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

Признак результата:

0 - часы выставлены;

1 - часы не выставлены;

2 - часы неисправны;

3 - часы стоят или выключены.

Программные прерывания:

доступ (запись в память на место операнда).

Замечания по программированию

Признак результата, равный 0, обычно показывает, что часы выставлены управляющей программой и идут. Таким образом, показание часов можно использовать как для измерения истекшего промежутка времени, так и для указания точного времени и календарной даты. Признак результата, равный 1, означает, что часы идут, но не выставлены и показывают время, истекшее с момента включения питания часов. В этом случае показания часов можно использовать для измерения истекшего промежутка времени, но не для указания точного времени. Значение признака результата, равное 2 или 3, означает, что показания часов, полученные с помощью команды ЗАПИСЬ В ПАМЯТЬ ПОКАЗАНИЯ ЧАСОВ, нельзя использовать для измерения или указания времени. Признак результата, равный 3, говорит о том, что часы либо стоят, либо выключены. Обычно эти два состояния можно отличить друг от друга, так как при выключенных часах в полем памяти записываются нули.

К содержимому бита 31 часов прибавляется единица каждые 1,048576 с. Таким образом, старшее слово часов может обеспечить достаточную разрешающую способность для применений, предусматривающих участие человека.

Для обеспечения совместимости работы при переходе от одной системы к другой необходимо установить стандартное начало отсчета времени (начало “эпохи”), т.е. календарную дату и время, которым соответствует показание часов, равное нулю. В качестве стандартного начала отсчета рекомендуется принять момент времени, соответствующий 0 ч по Гринвичу 1 января 1900 года. Следует отметить, что некоторые ранние системы обеспечения часов не используют предлагаемое начало отсчета. Программа, использующая показания часов для определения времени и даты, обычно имеет возможность узнать, какая система обеспечения часов применяется. При стандартном начале отсчета в бит 0 была установлена единица в 11 ч 56 мин 53,685248 с по Гринвичу 11 мая 1971 года. Следовательно, в большинстве случаев программа может проверить старший бит, чтобы определить, соответствует ли показание часов стандартной системе отсчета.

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

ЗАПИСЬ В ПАМЯТЬ ПОЛУСЛОВА

STH R1,D2(X2,B2) [RX]

+--------------------------------------+

¦ 40 ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Содержимое разрядов 16-31 общего регистра, заданного полем R1, без изменения записывается в память по адресу второго операнда. Второй операнд имеет длину два байта.

Содержимое регистра не изменяется.

Признак результата не изменяется.

Программные прерывания:

доступ (запись в память на место второго операнда).

ЗАПИСЬ В ПАМЯТЬ ГРУППОВАЯ

STM R1,R3,D2(B2) [RS]

+--------------------------------------+

¦ 90 ¦ R1 ¦ R3 ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Содержимое группы общих регистров, начиная с регистра, заданного полем R1, и кончая регистром, заданным полем R3, записывается в ячейки памяти, начиная с ячейки, заданной адресом второго операнда.

Область памяти, в которую помещается содержимое общих регистров, начинается с ячейки, адрес которой равен адресу второго операнда, и состоит из требуемого количества ячеек. Запись в память содержимого общих регистров производится в порядке возрастания их адресов, начиная с регистра, заданного полем R1, и кончая регистром, заданным полем R3, включительно. За регистром с адресом 15 следует регистр с адресом 0.

Признак результата не изменяется.

Программные прерывания:

доступ (запись второго операнда).

ВЫЧИТАНИЕ

SR R1,R2 [RR]

+--------------------+

¦ 1B ¦ R1 ¦ R2 ¦

+--------------------+

0 7 8 11 12 15

S R1,D2(X2,B2) [RX]

+--------------------------------------+

¦ 5B ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Второй операнд вычитается из первого операнда, и разность помещается на место первого операнда.

Вычитание представляет собой сложение первого операнда с обратным кодом второго операнда с добавлением единицы к младшему биту. Кок и при выполнении команды СЛОЖЕНИЕ, в операции участвуют все 32 разряда каждого операнда. Если переносы из знакового бита и старшего бита целой части одновременно либо отсутствуют, либо присутствуют, то это говорит о том, что вычитание выполнено нормально. Наличие переноса лишь из одного из указанных битов говорит о переполнении. Если бит маски переполнения в операции с фиксированной точкой равен единице, то переполнение вызывает программное прерывание.

Признак результата:

0 - разность равна нулю;

1 - разность меньше нуля;

2 - разность больше нуля;

3 - переполнение.

Программные прерывания:

доступ (выборка второго операнда в команде S);

переполнение с фиксированной точкой.

Замечания по программированию

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

Если поля R1 и R2 в формате RR задают один и тот же регистр, вычитание эквивалентно очистке этого регистра.

Вычитание максимального отрицательного числа из другого максимального отрицательного числа дает нулевой результат. Переполнение при этом не возникает.

ВЫЧИТАНИЕ ПОЛУСЛОВА

SH R1,D2(X2,B2) [RX]

+--------------------------------------+

¦ 4B ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Второй операнд вычитается из первого операнда, и разность помещается на место первого операнда. Второй операнд имеет длину два байта и рассматривается как целое число со знаком, состоящее из 16 разрядов, включая знаковый.

Перед вычитанием второй операнд расширяется до 32 битов путем установки значения знакового разряда в 16 старших битов.

Вычитание представляет собой сложение первого операнда с обратным кодом расширенного второго операнда при одновременном добавлении единицы к младшему биту. Как и при выполнении команды СЛОЖЕНИЕ, в операции участвуют все 32 разряда каждого операнда. Если переносы из знакового бита и старшего бита целой части одновременно либо отсутствуют, либо присутствуют, то это говорит о том, что вычитание выполнено нормально. Наличие переноса лишь из одного из указанных битов говорит о переполнении. Если бит маски переполнения в операции с фиксированной точкой равен единице, то переполнение вызывает программное прерывание.

Признак результата:

0 - разность равна нулю;

1 - разность меньше нуля;

2 - разность больше нуля;

3 - переполнение.

Программные прерывания:

доступ (выборка второго операнда в команде S);

переполнение с фиксированной точкой.

ВЫЧИТАНИЕ КОДОВ

SLR R1,R2 [RR]

+--------------------+

¦ 1F ¦ R1 ¦ R2 ¦

+--------------------+

0 7 8 11 12 15

SL R1,D2(X2,B2) [RX]

+--------------------------------------+

¦ 5F ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

+--------------------------------------+

0 7 8 11 12 15 16 19 20 31

Второй операнд вычитается из первого операнда, и разность помещается на место первого операнда.

Вычитание представляет собой сложение первого операнда с обратным кодом второго операнда с добавлением единицы к младшему биту. Кок и при выполнении команды СЛОЖЕНИЕ, в операции участвуют все 32 разряда каждого операнда; значение знакового бита результата после операции не изменяется. Данная команда отличается от команды ВЫЧИТАНИЕ отсутствием прерывания по переполнению и тем, как устанавливается признак результата.

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

Признак результата:

0 - не бывает;

1 - разность не равна нулю и перенос отсутствует;

2 - разность равна нулю и есть перенос;

3 - разность не равна нулю и есть перенос.

Программные прерывания:

доступ (выборка второго операнда в команде SL).

Замечания по программированию

Использование обратного кода и младшей единицы вместо дополнительного кода второго операнда приводит к переносу при вычитании нуля или максимального отрицательного числа. Нулевая разность не может быть получена при отсутствии переноса из знакового бита.

ОБРАЩЕНИЕ К СУПЕРВИЗОРУ

SVC I [RR]

+--------------+

¦ 0A ¦ I ¦

+--------------+

0 7 8 15

Данная команда вызывает прерывание при обращении к супервизору; код прерывания задается полем I.

Содержимое битов 8-15 кода данной команды вместе с присоединенными к нему 8 старшими нулевыми битами образует код прерывания при обращении к супервизору, который записывается в память во время прерывания. Старое PSW записывается в ячейку 32, а новое PSW выбирается из ячейки 96. Команда допустима как в состоянии “задача”, так и в состоянии “супервизор”.

Признак результата не изменяется.

Программные прерывания отсутствуют.

ПРОВЕРИТЬ И УСТАНОВИТЬ

TS D2(B2) [S]

+---------------------------------+

¦ 93 ¦ ////// ¦ B2 ¦ D2 ¦

+---------------------------------+

0 7 8 15 16 19 20 31

В зависимости от значения крайнего левого разряда (бит 0) в байте, расположенном по адресу второго операнда, устанавливается признак результата, после чего все биты указанного байта устанавливаются равными единице. Содержимое битов 8-15 кода данной команды игнорируются.

Все биты байта в памяти устанавливаются равными единице после того, как исходный байт выбран для проверки старшего бита. В период от момента выборки и до момента записи в память запрещается доступ к этой ячейке со стороны какого-либо другого процессора. Перед выборкой исходного байта и еще раз после записи в память байта, состоящего из единиц, выполняется временная отмена совмещений. Выполнение команды процессором задерживается до тех пор, пока не будут завершены все предыдущие обращения к основной памяти по отношению к каналам и другим процессорам. Только после этого производится выборка байта. До тех пор пока байт, состоящий из единиц, не записан в основную память, доступ к последующим командам или их операндам по отношению к каналам и другим процессорам не производится.

Признак результата:

0 - крайний левый бит указанного байта равен нулю;

1 - крайний левый бит указанного байта равен единице;

2 - не бывает;

3 - не бывает.

Программные прерывания:

доступ (выборка и запись второго операнда).

Замечания по программированию

Команда ПРОВЕРИТЬ И УСТАНОВИТЬ может применяться для управляемого совместного использования общей области памяти несколькими программами. В этих целях бит 0 какого-либо байта должен быть определен как управляющий. Для достижения блокировки можно установить соглашение о том, что общая область считается доступной для использования, если в указанном бите находится нуль, и что она уже находится в использовании, если в этом бите находится единица. Перед тем как обратиться к общей области, каждая программа обязана проверить байт с управляющим битом с помощью команды ПРОВЕРИТЬ И УСТАНОВИТЬ. Если в результате проверки устанавливается признак результата 0, область можно использовать; если этот признак равен 1, использование области не разрешается. Поскольку команда ПРОВЕРИТЬ И УСТАНОВИТЬ запрещает доступ другого процессора к указанному байту между моментами выборки (для проверки) и записи в память байта, состоящего из единиц (установка), устраняется возможность проверки байта второй программой до того, как первая установить его новое значение.

Следует заметить, что команда ПРОВЕРИТЬ И УСТАНОВИТЬ не обеспечивает блокировки доступа каналов к памяти.

ПРОВЕРИТЬ ПО МАСКЕ

TM D1(B1),I2 [SI]

+-------------------------------+

¦ 91 ¦ I2 ¦ B1 ¦ D1 ¦

+-------------------------------+

0 7 8 15 16 19 20 31

Состояние выделенных с помощью маски битов первого операнда используется для того, чтобы установить признак результата.

Байт данных, находящийся непосредственно в поле I2, используется как 8-разрядная маска. Биты маски соответствуют битам символа в памяти, определяемого адресом первого операнда.

Бит маски, равный единице, указывает на то, что соответствующий бит в памяти должен быть проверен. Если бит маски равен нулю, соответствующий бит в памяти не проверяется. Если все отобранные таким образом биты в памяти равны нулю, признак результата устанавливается равным нулю. Этот признак будет также равен нулю и в том случае, когда все биты маски равны нулю. Если все выделенные биты в памяти равны единице, признак устанавливается равным 3. В остальных случаях признак устанавливается равным единице. Символ в памяти не изменяется.

Признак результата:

0 - все выделенные биты равны нулю или маска равна нулю;

1 - среди выделенных битов есть и нули, и единицы;

2 - не бывает;

3 - все выделенные биты равны единице.

Программные прерывания:

доступ (выборка первого операнда).

ПЕРЕКОДИРОВАТЬ

TR D1(L,B1),D2(B2) [SS]

+----------------------------------------------------+

¦ DC ¦ L ¦ B1 ¦ D1 ¦ B2 ¦ D2 ¦

+----------------------------------------------------+

0 7 8 15 16 19 20 31 32 35 36 47

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

Поле L данной команды относится только к первому операнду.

Байты первого операнда выбираются для перекодирования один за другим слева направо. Каждый раз значение байта-аргумента прибавляется к значению начального адреса второго операнда. Сложение выполняется по правилам адресной арифметики; байт-аргумент рассматривается как целое число без знака, состоящее из 8 разрядов, и дополняется старшими нулями. Полученная сумма используется в качестве адреса байта-функции, который затем замещает исходный байт-аргумент.

Операция продолжается до тех пор, пока не окончится поле первого операнда. Словарь не изменяется, если только он не перекрывается полем первого операнда.

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

Признак результата не изменяется.

Программные прерывания:

доступ (выборка второго операнда, выборка первого операнда и запись в память на место первого операнда).

Замечания по программированию

Команда ПЕРЕКОДИРОВАТЬ может быть использована для преобразования данных из одного кода в другой.

Другой целью применения этой команды является реорганизация данных. Для этого в область результата помещается нужный образец, который задается в качестве первого операнда команды ПЕРЕКОДИРОВАТЬ. Данные, подлежащие реорганизации, задаются в качестве второго операнда. При выполнении команды данные с помощью образца устанавливаются в нужном порядке.

Поскольку байт-аргумент, значение которого прибавляется к начальному значению адреса словаря для получения адреса байта-функции, состоит из 8 разрядов, словарь может состоять из 256 байтов. Размер словаря можно уменьшить в тех случаях, когда известно, что в поле первого операнда будут встречаться не все значения аргументов.

Выборка и последующая запись конкретного байта в поле первого операнда не обязательно следуют непосредственно друг за другом.

ПЕРЕКОДИРОВАТЬ И ПРОВЕРИТЬ

TRT D1(L,B1),D2(B2) [SS]

+----------------------------------------------------+

¦ DD ¦ L ¦ B1 ¦ D1 ¦ B2 ¦ D2 ¦

+----------------------------------------------------+

0 7 8 15 16 19 20 31 32 35 36 47

Байты первого операнда используются как аргументы для обращения к словарю, указанному адресом второго операнда.

Поле L данной команды относится только к первому операнду.

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

Байты первого операнда выбираются для перекодирования один за другим слева направо. Первый операнд в памяти не изменяется. Выборка байта-функции из словаря производится таким же образом, как при выполнении команды ПЕРЕКОДИРОВАТЬ. Затем производится проверка этого байта на равенство нулю.

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

Если байт-функция не равна нулю, то адрес соответствующего аргумента помещается в младшие 24 разряда общего регистра 1. Этот адрес указывает аргумент, который обрабатывался последним. Содержимое старших 8 разрядов регистра 1 не изменяется. Байт-функция помещается в младшие 8 разрядов общего регистра 2. Содержимое битов 0-23 общего регистра 2 не изменяется. Если один или более байтов-аргументов не были обработаны, признак результата устанавливается равным 1. Если же ненулевая байт-функция оказалась у самого последнего байта-аргумента, то признак результата устанавливается равным 2.

Признак результата:

0 - все байты-функции равны нулю;

1 - ненулевая байт-функция обнаружена до окончания поля первого операнда;

2 - ненулевая байт-функция соответствует последнему байту-аргументу;

3 - не бывает.

Программные прерывания:

доступ (выборка первого и второго операндов).

Замечания по программированию

Команда ПЕРЕКОДИРОВАТЬ И ПРОВЕРИТЬ может быть использована для просмотра первого операнда с целью обнаружения символов специального назначения. В этом случае второй операнд (словарь) должен содержать нулевые байты-функции для тех символов (аргументов), которые пропускаются. и ненулевые байты-функции для символов (аргументов), которые нужно обнаружить.

РАСПАКОВАТЬ

UNPK D1(L1,B1),D2(L2,B2) [SS]

+--------------------------------------------------------+

¦ F3 ¦ L1 ¦ L2 ¦ B1 ¦ D1 ¦ B2 ¦ D2 ¦


Подобные документы

  • Анализ двоичной, восьмеричной и шестнадцатеричной систем счисления и перевода десятичных чисел. Форматы хранения чисел с плавающей точкой. Программа для преобразования массива констант в формат числа с плавающей точкой на эмуляторе микро-ЭВМ СМ-1800.

    курсовая работа [266,9 K], добавлен 24.12.2013

  • Общая характеристика и преимущество использования двоично-десятичных чисел с плавающей точкой. Разработка цифрового автомата. Функциональное назначение выводов корпуса МК51, арифметико-логического устройства, портов. Примеры деления данных чисел.

    курсовая работа [719,3 K], добавлен 12.09.2015

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

    курсовая работа [1,1 M], добавлен 26.04.2015

  • Операции, осуществляемые при реализации алгоритмов цифровой обработки сигналов. Применение процессора ADSP-2106x для операций с фиксированной и плавающей точкой. Исключения при выполнении операций с плавающей точкой, режимы и границы округления.

    реферат [35,2 K], добавлен 13.11.2009

  • Основные форматы данных и их представление. Запись чисел в формат с плавающей точкой. Вычитание чисел в формате с плавающей точкой. Регистры операндов и результата, размером формата числа с плавающей точкой, двойной точности. Поля смещённого порядка.

    курсовая работа [78,9 K], добавлен 09.09.2014

  • Проектирование блоков устройства контроля по модулю три матричного умножителя с сокращением вычислений для обработки мантисс чисел с плавающей точкой. Методика выполнения арифметических операций, порядок обработки мантисс по n-разрядным операндам.

    курсовая работа [125,2 K], добавлен 24.09.2010

  • Периоды применения средств вычислительной техники. Переход к новому поколению электронно-вычислительных машин. Системы, основанные на знаниях. Экспертные системы и искусственный интеллект. Этапы обработки данных на ЭВМ. Иерархическая структура знания.

    презентация [170,6 K], добавлен 14.08.2013

  • Общее представление о записи данных. Виды регистров и типов данных с плавающей точкой. Модель выполнения программы SIMD. Формат данных в памяти регистра с плавающей точкой. Состояние и управление потоковым разрешением. Поле управления округлением.

    реферат [1,1 M], добавлен 06.01.2011

  • Понятие машинной команды как закодированного по определенным правилам указания микропроцессору на выполнение некоторой операции или действия. Элементы машинных команд (код операции, операнд) и их виды (передачи данных, управления, арифметико-логические).

    презентация [120,6 K], добавлен 14.10.2013

  • Арифметические команды языка Assembler в архитектуре x86. Организация ветвлений и циклов в программах. Ввод строк с клавиатуры и команды пакетной обработки (строковые команды). Алгоритм вывода на экран в текстовом режиме с использованием средств BIOS.

    контрольная работа [18,0 K], добавлен 05.07.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.