addiu指令编码(MIPS、GCC)

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指令操作码(16位指令,GCC选项-mmicromips):

我的目的是检测所有此类指令(
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