2011-10-24 33 views
0

Im在我大會作業的某個部分卡住了。在MIPS中查找float的指數

我讀取浮點值並通過牛頓方法做平方根函數。我得到的公式工作正常,但無法從浮點數中提取指數。 (對於我在循環中的初步猜測)

我認爲即時通訊應該使用浮動上的AND掩碼或某種左移操作,但所有在網上找到的信息都是用於處理整數。

我不是新裝配,但新的MIPS,所以任何幫助,將不勝感激。謝謝。

+1

提示:您可以將32位浮點數視爲32位整數。 – user786653

+0

我能夠左右移動浮點寄存器嗎?或者我需要將它們複製到一個int寄存器來調製它們? – Bob

+0

指令集參考將告訴您是否存在這樣的指令。由於它是作業,我猜它是一個受限制的子集,所以不需要很長時間才能弄清楚。無論如何,如果你知道如何通過將它們複製到一個整數寄存器來實現它,它將只是一個優化。 – user786653

回答

1

總結:

  • 你有一個32位單精度浮點的浮點寄存器點數。
  • 你想操縱它,就好像它是一個32位整數。
  • 您只能操作正常寄存器中的整數值。
  • 如果您直接從浮點寄存器移動到正常寄存器,它將被轉換。

看來你不能直接從浮點寄存器中獲取它。你通常如何將價值註冊到註冊表中?

+0

我真的不知道我會如何做到這一點,我可以看到你正在試圖幫助微妙,但我不知道接下來會做什麼。 – Bob

+0

你可以用'LW'將一個整數從內存加載到一個「普通」寄存器,並用'SW'將其存回。我假設你也可以從內存中加載和存儲浮點數(未修改!),對吧? – user786653

+0

好的,這樣做更有意義。我不認爲我有足夠的座位時間來適應事情的發展。我想我可以從這裏拿走它。非常感謝你的幫助。 – Bob