SI – «память – непосредственный операнд»
Команда одноадресная, в адресной части размещаются поля В1 и D1, по содержимому которых осуществляется определение поля ОП, в котором находится значение 1-го операнда. В отличие от других машинных команд в данной машинной команде заниматься определением адреса 2-го операнда нет необходимости. Значение 2-го операнда находится в поле I2, т.е. 2-й операнд находится не в ОП или РОН, а в самой команде. Результат выполненной машинной команды помещается по адресу 1-го операнда А1, который определяется по формуле
А1 = [В1] + D1 (7.5)
Можно привести практический пример использования этой команды: если при наборе текста в текстовом редакторе обнаруживается ошибка в каком-то слове, исправление сводится к замене одной буквы на другую, т.е. вместо буквы «а» необходимо поставить букву «и». В. С точки зрения внутри машинного представления информации необходимо поменять содержимое байта ОП, в котором находится значение символа «а» в коде ДКОИ, на значение символа «и», что фактически эквивалентно записи значения I2 ( двоичного представления символа «и» в коде ДКОИ) в однобайтное поле ОП с адресом А1, в котором до выполнения команды находилось двоичное представление символа «а». Для машинных команд формата SI характерно выполнение команд «пересылка непосредственная» (КОП = MVI). Вполне очевидным является факт однобайтности операндов, поскольку поле I2 имеет фиксированную длину восемь двоичных разрядов. Такими параметрами обладают только символьные и логические переменные.
Задание 4. Используя формат команды SI, заполнить поля команды информацией, представленной в 16-ричной СС, и представить внутреннее содержимое использованных РОН и полей ОП до и после выполнения операции. КОП=92 – операция записи содержимого поля I2= 02 в байт ОП с адресом А1 = (В1) + D1= 00А0000016 + 50016 = 00А0050016, где В1 = 4, (В1) = 00А0000016, смещение 1-го операнда относительно базового D1 = 500.
Этапность выполнения задания 4:
1. Записать 16-ричное представление полей машинной команды:
9 2 | 5 0 0 |
0 7 8 1112 1516 2324 31
2. Выполнение операции сводится к следующим действиям: содержимое разрядов с 8-го по 15-й машинной команды должно быть записано в байт ОП с номером или адресом А1 = 00А0050016 .
3. В соответствии с правилами внутри машинного представления, представить содержимое РОН с номером 4, являющегося базовым для 1-го операнда, до и после выполнения операции в 16-ричной СС (рис. 7.8).
До выполнения После выполнения
машинной команды машинной команды
А0 | А0 | |||||||||||
-- | -- | |||||||||||
F | F |
Рис. 7.8. Содержимое РОН до и после выполнения машинной команды
4. Содержимое поля ОП, закрепленное за 1-м операндом, с адресом А1 = 00А0050016 до и после выполнения машинной команды представлено на рис. 7.9.
До выполнения После выполнения
машинной команды машинной команды
1-й операнд | 0 0 | 00A00500 | 1-й операнд | 0 2 | 00A00500 | ||||||||
0 0 | 00A00501 | 0 0 | 00A00501 | ||||||||||
0 0 | 00A00502 | 0 0 | 00A00502 | ||||||||||
0 0 | 00A00503 | 0 0 | 00A00503 | ||||||||||
0 0 | 00A00504 | 0 0 | 00A00504 | ||||||||||
FFFFFFFF | FFFFFFFF | ||||||||||||
Рис. 7.9. Содержимое ОП до и после выполнения машинной команды