Контрольная работа: Микропрограммирование операций ЭВМ
Как замечено выше, микрооперации и двоичные выражения составляют группу конструкций средней сложности.
1.3.1. Микрооперации
В Ф-языке используется десять типов микроопераций. К первому типу
относится микрооперация установки, она предназначена для задания начального значения слову, части слова, отдельному разряду.
Структура этой и всех других операций включает в себя три части: левую (ЛЧ), среднюю и правую (ПЧ) части. Структуру можно показать следующим образом:
ЛЧ : = ПЧ.
Средняя часть является знаком присваивания, левая часть есть та информационная единица (слово, фрагмент слова, отдельный разряд), которой и надлежит присвоить первоначальное значение.
Естественно, что правая часть должна представлять собой какую-либо константу.
Особенностью рассматриваемой операции является то, что правая часть есть константа.
Например, записи
А(1: 3):=000,
В1(1:32):=10101010101010101010101010101010,
В(5):=1
являются выражениями микроопераций установки в 1, 2 и 3 разрядах слова А нулевых значений, во всех разрядах слова В1 значения 1010…1010, в 5-м разряде слова В единичного значения.
Если установка касается какого-либо типового узла с памятью, то нулевая константа в правой части означает обнуление или "сброс" содержимого узла.
Не следует путать запись микрооперации с записью того, что слово, часть слова, разряд слова имеют конкретное значение.
Например, запись А (1:3) = 101 не является микрооперацией, она означает, что у первых трех разрядов слова А имеется значение 101.
На первоначальных этапах освоения микроопераций следует отражать первоначальное значение (до выполнения микрооперации) и значение после выполнения микрооперации. Применительно к слову А выполнение микрооперации установки можно отразить следующим образом:
до: А (1:3) = 101, после: А (1:3) = 000.
Ко второму типу относится микрооперация передачи, особенностью этой микрооперации является то, что и правая часть есть слово. Данная микрооперация обеспечивает замену значения левого слова на значение правого слова.
Левое и правое слова могут иметь разные длины (nl ,np ), через nl ,np обозначены количества разрядов в левом и правом словах соответственно.
Возможны три случая отношения между nl , np :
nl = np ,
nl < np ,
3)nl > np .
В первом случае проблем по согласованию длин нет, значение правого слова оказывается в левом слове.
Во втором случае у правого слова имеются лишние разряды, требуется
отбрасывание определенных разрядов правого слова, в Ф-языке установлено, что отбрасывать нужно с левой стороны.
Пусть, например, имеются микрооперация А(1:3):= В(1:6), а также А(1:3) = 110, В(1:6) = 101001, тогда после выполнения данной микрооперации будет А(1:3) = 001. Значение 101 в старших разрядах слова В отброшено.
В третьем случае у левого слова имеются лишние разряды, требуется доопределить лишние разряды указанного слова. Доопределяются левые лишние разряды нулями.