2
此指令有一些容易混淆的模式,這裏是爲Intel的x64手冊的862頁上的64位版本表:64 LAR指令(加載訪問權限字節)
Opcode Instruction Description
0F 02 /r LAR r16, r16/m16 r16 ← access rights referenced by r16/m16
0F 02 /r LAR reg, r32/m16 reg ← access rights referenced by r32/m16
是'什麼大小寄存器REG「?這是一個需要16位66H前綴的指令嗎?或者67H或REX.W前綴可能?我認爲它需要一個前綴,因爲操作碼是相同的......
那是 'REG/mem16' 總是一個16位的寄存器?英特爾的參考資料列出它作爲r16和r32 ... –
@RyanBrown在AMD文檔上,它總是16位。英特爾在小記錄中提到「僅使用16-0比特,其他比特被忽略」,所以這意味着32比特被接受但是沒用。另外,我經常使用[this](https://defuse.ca/online-x86-assembler.htm)進行快速測試(不是100%可靠但方便),並且它似乎強制使用16位。 – ElderBug
不錯,謝謝!這將派上用場 –