Значение этого набора инструкций в 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.).