Значение этого набора инструкций в Mic-1 [MAL Language]

Последовательность приведенных ниже инструкций Mic-1 реализует новую инструкцию bish8pu x (x - это двоичное смещение в двоичном коде). В чем смысл этого набора инструкций?

bish8pu1    MAR=SP 
bish8pu2    H=TOS << 8
bish8pu3    TOS=MDR=MBRU OR H;wr 
bish8pu4    PC=PC+1;fetch 
bish8pu5    goto Main1

большое спасибо

1 ответ

Решение

Инструкция сдвигает значение в регистре TOS влево на 8 и сохраняет результат в регистре H. Затем он побитовым ИЛИ присваивает значение в регистре H значению непосредственного байта инструкции и сохраняет результирующее значение как в регистре TOS, так и в ячейке памяти, на которую указывает SP.

В основном это вычисляет [SP] = [SP] * 256 + immediate, где [SP] является ячейкой памяти, на которую указывает регистр SP. (То есть, предполагая, что регистр TOS кэширует значение, на которое указывает SP.).

Другие вопросы по тегам