如何在4位汇编中存储大于4位的值?

时间:2014-06-25 21:50:18

标签: assembly numbers bit

我最近一直在考虑装配,我无法理解大于4位的值是如何存储并用于4位装配的。在我看来,你只能在4位汇编中使用值0 - 15,但我看到的值明显大于15。同样通过4位汇编我的意思是总共8位。 4表示指令,4表示操作数,例如0000 0000。

1 个答案:

答案 0 :(得分:0)

在汇编语言中编码immediates有不同的解决方案:
在CISC机器中,可变长度指令通常允许机器字大小的指令编码在一个指令中,该指令自然比机器字(操作码+立即数)长。在RISC机器上,固定长度的指令通常会阻止加载机器字词。相反,多个指令将立即部分加载到寄存器中。例如,在32位MIPS上,通过

加载32位值
lui $reg, (16-bit immediate upper half)
ori $reg, (16-bit immediate lower half)

使用寄存器是可以接受的,因为RISC计算机往往有很多它们。