addiu指令编码(MIPS、GCC)
以下是addiu指令操作码(16位指令,GCC选项-mmicromips): 我的目的是检测所有此类指令(addiu指令编码(MIPS、GCC),gcc,assembly,mips,Gcc,Assembly,Mips,以下是addiu指令操作码(16位指令,GCC选项-mmicromips): 我的目的是检测所有此类指令(addiu sp,sp,) 然后解码立即数,在上述情况下(-280)(跟随sp)。 我不明白的是(-280)的编码。 链接到:microMips有一个专门的ADDIUSP指令,汇编程序选择使用该指令。前6位是操作码010011,后9位是编码的立即数110111010=0x1BA,LSB保留在1 立即数的编码使用按4缩放和符号扩展。假设0x1BA=-70(使用9位),则该值为-70*4=-28
addiu sp,sp,
)
然后解码立即数,在上述情况下(-280)(跟随sp)。
我不明白的是(-280)的编码。
链接到:microMips有一个专门的
ADDIUSP
指令,汇编程序选择使用该指令。前6位是操作码010011
,后9位是编码的立即数110111010=0x1BA
,LSB保留在1
立即数的编码使用按4缩放和符号扩展。假设
0x1BA=-70
(使用9位),则该值为-70*4=-280
不确定这是什么类型的mips?16位?我使用的是mips 32位,当然不是32位。。。该指令的mips32机器代码为27 BD FE E8
,其中FE E8
为-280
。抱歉,我忘了提到它是一条microMIPS指令,使用GCC选项-mmicromips编译
full instruction: addiu sp,sp,-280
opcode, hexa: 4F75
opcode, binary: 1001(instruction) 11101(sp is $29) 110101