下面的Mic-1指令序列实现了一条新指令bish8pu x(x是二进制代码中8位的偏移量)。这套说明是什么意思?
bish8pu1 MAR=SP
bish8pu2 H=TOS << 8
bish8pu3 TOS=MDR=MBRU OR H;wr
bish8pu4 PC=PC+1;fetch
bish8pu5 goto Main1
非常感谢
答案 0 :(得分:0)
指令将TOS寄存器中的值向左移8,并将结果存储在H寄存器中。然后,它将H寄存器中的值与指令的立即字节的值进行按位或运算,并将结果值存储在TOS寄存器和SP指向的存储器中的位置。
基本上它计算[SP] = [SP] * 256 + immediate
,其中[SP]
是SP寄存器指向的内存位置。 (也就是说,假设TOS寄存器缓存SP指向的值。)。