1

普通操作码和设置了 MSB(最高有效位)的操作码有什么区别?

例子:

0036  5E000001           [4] return     1   2
003A  1E008000           [5] return     0   1

第一个操作码 (0x5E/1011110) 设置了 MSB,而第二个操作码 (0x1E/0011110) 没有。

编辑:将“字节”更正为“位”,呵呵。

4

1 回答 1

1

经过一番谷歌搜索,我找到了 Lua 源代码的标题(lopcodes.h),它更好地解释了指令格式。

将操作码读取为字节似乎是错误的,应该将其读取为 6 位:

All instructions have an opcode in the first 6 bits.
Instructions can have the following fields:
`A' : 8 bits
`B' : 9 bits
`C' : 9 bits
`Bx' : 18 bits (`B' and `C' together)
`sBx' : signed Bx
于 2011-07-24T16:27:33.673 回答