web-dev-qa-db-ja.com

MIPSでは、HIおよびLOとは

私はMIPSの除算について読んでいて、その除算を見つけました

$ 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レジスタはありますか?それらは何のレジスタですか?

21
hodgesmr

これらは、乗算と除算の結果を格納するために使用される特殊レジスターです。それらは直接アドレス指定できません。それらのコンテンツには、特別な指示mfhiおよびmfloを使用してアクセスします

これらは乗算ユニットにあり、それぞれ32ビットです。詳細 ここ

27
codaddict

HIとLOは番号付きレジスタではありません、IIRC。これらは、単一のレジスタに収まらない演算の結果を格納するためにのみ使用されます(たとえば、2つの32ビット整数を乗算すると64ビット整数になる可能性があるため、オーバーフローはHIになります)。

編集: このクラスの説明 によると、これらは実際には特殊レジスターであるため、番号は付けられず、特殊コマンドを使用してのみアクセスできます。

10
Sean

LOは、乗算の場合、最下位ビットを格納し、HIは残りのビットを格納しますが、主に、乗算のLO部分にのみ焦点を当てています。部門では、両方に焦点を当てています。除算のLOは商を格納する場所であり、HIは剰余です。

2
Nick M