Assembly mips中HI和LO寄存器的专用说明

Assembly mips中HI和LO寄存器的专用说明,assembly,mips,Assembly,Mips,为什么我们需要专门的指令来访问HI和LO寄存器?例如mfhi$s0。为什么我们不使用添加$s0、$zero、Hi 为什么我们不使用添加$s0、$zero、Hi 因为MIPS使用固定的指令宽度(每条指令4字节),这限制了可以编码的操作码/操作数组合的数量。寄存器操作数字段为5位宽,这意味着您可以指定32个寄存器中的任意一个,这恰好是32个通用寄存器

为什么我们需要专门的指令来访问
HI
LO
寄存器?例如
mfhi$s0
。为什么我们不使用
添加$s0、$zero、Hi

为什么我们不使用
添加$s0、$zero、Hi

因为MIPS使用固定的指令宽度(每条指令4字节),这限制了可以编码的操作码/操作数组合的数量。寄存器操作数字段为5位宽,这意味着您可以指定32个寄存器中的任意一个,这恰好是32个通用寄存器