在不支持英特爾MPX的處理器上,文檔說所有MPX指令都是NOP。也就是說,正如我查看了所有這些說明,它們都顯示爲前綴0F 1A /r
或0F 1B /r
前綴爲前綴F3
,F2
或66
字節,具體取決於指令。此外,還有類似於BNDMK
的說法:在英特爾MPX之前,「0F 1A/r」和「0F 1B/r」是如何得到NOP的?
此指令的reg-reg格式保留傳統行爲(NOP)。
我試圖在PDF搜索這些操作碼(即我的搜索字符串0F 1
),但我發現,只有MPX的指示說明。查看2014年2月的指令集參考資料,我發現了很多這種形式的說明,但它們不是NOP,例如, F2 0F 12 /r
是MOVDDUP
。並尋找專門爲0F 1A
和0F 1B
我沒有找到任何東西。
尋找NOP我發現多字節NOP 0F 1F /0
,但它不符合MPX指令的形式。
所以我的問題是,它在哪裏記錄0F 1A /r
和0F 1B /r
的遺留行爲是NOP?對於這種形式的指令是否有一些通用規則,或者它們可能代表了NOP形式的非NOP指令(如90
代表xchg eax,eax
)?
所以我得出結論,這是一個未公開的公開功能,一直由Intel和AMD直到MPX實施,並且AMD剛剛發佈了它的文檔。知道了謝謝! – Ruslan