2016-12-02 74 views
-3

,所以我的任務dissasemble FPU指令,你可以在這裏找到它們http://mathemainzel.info/files/x86asmref.html#floatDissasembling FPU指令

而且例如採取FADD命令。它有D8/0 d0 d1代碼,其中d0 d1位移[低位字節高位字節]。那麼,我的問題是什麼意思? 上面寫着頁面的頂部:(從Reg字段MODRM位5,4,3)

/0〜7第2或第3操作碼

不過,我不明白這是什麼意思也許你有清楚的解釋是什麼意思/和它後面的數字。它有一定意義嗎? 謝謝!

+4

使用[官方指令集參考](https://software.intel.com/sites/default/files/managed/a4/60/325383-sdm-vol-2abcd.pdf)並閱讀第二章指令格式「和」3.1解釋指令參考頁「 – Jester

+1

你知道modr/m字節是什麼嗎?如果否,請考慮閱讀文檔。如果是,那麼我不明白你爲什麼問這個問題。 – fuz

+0

我知道什麼是modr/m字節。所以3位從紅色字段開始,從其他5位開始 – Valentinno7

回答

2

MODR /米字節具有3個字段:

  • 2比特在比特7,6
  • 3比特REG字段在比特5,4 MOD場,3
  • 3比特MEM在比特字段2,1,0

後面是什麼意思/和數字。

,你讀到這裏的數字簡直是在位5,4,3雲在REG字段的值。
發生這種情況是因爲在這種情況下,指令不需要字段來表示實際寄存器,因此設計人員選擇將其他未使用的位良好使用,並對存儲在此處的操作碼進行擴展。這樣,主操作碼字節D8h可用於多個單一指令。