如何将MIPS指令转换为十六进制大数?

如何将MIPS指令转换为十六进制大数?,mips,Mips,如何转换MIPS指令,例如addi$1,$290000 如果我以001 000的操作码、10 0000的funct字段和“rs”、“rt”字段的相应寄存器开始,90000到十六进制是5位,而不是4位。。。。所以我的总十六进制表示不适合8位数字 事实上,我更感兴趣的是,当有大量的十六进制数扰乱十六进制表示时,如何从十六进制转换为MIPS。根据,立即值最多为16位。MIPS汇编程序通常实现“合成指令”,将其转换为多个实指令。例如,具有32位立即数操作数的addi合成指令可以转换为lui(将立即数常量

如何转换MIPS指令,例如
addi$1,$290000

如果我以001 000的操作码、10 0000的funct字段和“rs”、“rt”字段的相应寄存器开始,90000到十六进制是5位,而不是4位。。。。所以我的总十六进制表示不适合8位数字


事实上,我更感兴趣的是,当有大量的十六进制数扰乱十六进制表示时,如何从十六进制转换为MIPS。

根据,立即值最多为16位。

MIPS汇编程序通常实现“合成指令”,将其转换为多个实指令。例如,具有32位立即数操作数的
addi
合成指令可以转换为
lui
(将立即数常量的前16位加载到目标寄存器),然后是
addi
(添加到立即数常量的下16位),然后是
add
(添加到源寄存器)

因此,没有一条指令对应于
addi$1,$290000
。如果您的汇编器接受了这一点,您将在分解它生成的内容(或者检查列表文件,如果它生成了一个)时发现,它实际上为这一行汇编生成了多条机器指令