我们被要求给出以下指令的可能编码,以十六进制为单位,以小endian表示:
r1 <- Memoryr2+r3
其中r1 (ECX)、r2 (EDX)和r3 (EBX)的初始值分别为0x137dd、0xb和0x1f。
我很困惑。我知道指令被编码为32位,其中前几位是操作码,其他位是操作数的地址,但在这种情况下,操作数的地址是什么?
谢谢!
发布于 2014-02-22 17:36:46
这里的操作数是r2和r3。指令将来自内存位置的地址(存储在r2 +r3中的值)的值加载到寄存器r1中。
所以指令会是这样的:
opcode + target destination + source operand 1 + source operand 2这个问题似乎不完整,因为它没有为这个操作提供操作码,但是操作数的地址应该是r2和r3的地址(而不是r2和r3中的值!)。
https://stackoverflow.com/questions/21814388
复制相似问题