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. Содержимое ОП до и после выполнения машинной команды