我正在阅读MIPS中的分区,我发现了div
将$ s除以$ t并将商存储在$ LO中,余数存入$ HI
http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html
维基百科说
HI和LO用于访问乘法器/除法器结果,由mfhi(从高位移动)和mflo命令访问 .
http://en.wikipedia.org/wiki/MIPS_architecture
HI和LO寄存器吗?它们是多少个寄存器?
我正在阅读MIPS中的分区,我发现了div
将$ s除以$ t并将商存储在$ LO中,余数存入$ HI
http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html
维基百科说
HI和LO用于访问乘法器/除法器结果,由mfhi(从高位移动)和mflo命令访问 .
http://en.wikipedia.org/wiki/MIPS_architecture
HI和LO寄存器吗?它们是多少个寄存器?
3 回答
这些是用于存储乘法和除法结果的特殊寄存器 . 它们不能直接寻址 . 他们的内容可通过特殊说明访问
mfhi
和mflo
它们存在于乘法单元中,每个单位为32位 . 更多信息here .
HI和LO没有编号寄存器,IIRC . 它们仅用于存储不适合单个寄存器的操作结果(例如,将两个32位整数相乘可能会产生64位整数,因此溢出进入HI) .
编辑:根据this class description,它们确实是特殊的寄存器,因此它们没有编号,只能使用特殊命令访问 .
LO做的是乘法,它存储最低有效位,HI存储其余的位,但主要是,我们只关注LO部分进行乘法 . 在分工中,我们专注于两者 . 分裂中的LO是应该存储商的位置,HI是余数 .