Составители:
110
4.4. Интерпретатор базовой ЭВМ
Язык микропрограммирования. Микропрограммы можно писать в
виде последовательности 32-битовых двоичных чисел, однако такая
работа весьма утомительна, и можно легко допустить ошибку. Для
облегчения записи и проверки микропрограмм выполнения отдельных
машинных команд и циклов используем их шестнадцатеричное
кодирование. Комментарии к микро-командам будем записывать с
помощью мнемонического языка микро-программирования,
напоминающего алгоритмические языки высокого уровня (СИ, ПАСКАЛЬ
и др.). Рассмотрим примеры такой записи для различных микроопераций.
Пересылка информации из регистра в регистр (регистры)
комментируется посредством оператора присваивания. Например,
пересылка содержимого БР в РД (открыть В19) записывается в виде
0008 0000; БР => РД.
(Для облегчения шестнадцатеричного кодирования используйте рис.
4.9, где представлено разбиение 32-битового регистра на тетрады.)
Пересылка содержимого БР в аккумулятор с установкой признаков
результата (открыть В13, В14, В15 и В22) записывается в виде
0040 Е000; БР => А, С, N, Z.
Обмен информацией между памятью (ОП) и регистром данных
задается следующим образом:
чтение из памяти по адресу, хранимому в РА (открыть В23),
0080 0000; ОП (РА) => РД;
запись в память по адресу, хранимому в РА (открыть В24),
0100 0000; РД => ОП (РА).
Операции, выполняемые в АЛУ, также комментируются
операторами присваивания. При этом обратный код записывается как
функция СОМ, а сдвиги вправо и влево - как функции RAR и RAL
соответственно. Например, суммирование А и РД (открыть В1 и В4)
запишется в виде
0000 0012; А + РД => БР,
вычитание РД из А (открыть В1, В4, В8 и В10)
00000512; А + СОМ (РД) + 1 => БР,
циклический сдвиг содержимого А и С на один разряд вправо (открыть
Bl1)
0000 0800; RAR (А, С) => БР
и, наконец, прибавление единицы к содержимому СК (открыть В3 и В10)
Страницы
- « первая
- ‹ предыдущая
- …
- 111
- 112
- 113
- 114
- 115
- …
- следующая ›
- последняя »
