的ADD
指令文檔從this page具有下表與各種編碼:在指令編碼表中使用「r/m8」是什麼意思?
相信imm8
意味着立即值的大小是8個比特(例如:BYTE 123
)。
而且我相信,r32
意味着寄存器,其長度爲32位(如:EAX
)
但什麼是r/m8
是什麼意思?這是否意味着我可以使用大小爲8位的寄存器(例如:AL]
)或大小爲8位的存儲器位置(例如:BYTE [myvar]
)?
的ADD
指令文檔從this page具有下表與各種編碼:在指令編碼表中使用「r/m8」是什麼意思?
相信imm8
意味着立即值的大小是8個比特(例如:BYTE 123
)。
而且我相信,r32
意味着寄存器,其長度爲32位(如:EAX
)
但什麼是r/m8
是什麼意思?這是否意味着我可以使用大小爲8位的寄存器(例如:AL]
)或大小爲8位的存儲器位置(例如:BYTE [myvar]
)?
該網頁是官方intel文檔的html轉換。你應該閱讀代替,特別是因爲它在操作碼彙總表它說的一段3.1.1.3指令列:
R/M8 - 字節操作數,字節 的任意內容通用寄存器(AL,CL,DL,BL,AH,CH,DH,BH,BPL,SPL, DIL和SIL)或內存中的字節。字節寄存器R8L-R15L爲 ,可通過使用REX.R在64位模式下使用。
所以是的,這意味着你說什麼。
在英特爾手冊中看到的所有縮寫中,這是更直觀的縮寫之一。 「r」表示寄存器,「m」表示內存,一個數字表示操作數大小。比[「mod-reg-r/m byte」](http://www.c-jump.com/CIS77/CPU/x86/X77_0270_modrm_byte.htm)更清楚。 –
你一直在圍繞同樣的問題跳舞,你真的在追求什麼?如果您的立即數必須簽名,那麼您不能使用8位立即編碼添加9位值,您必須使用16位。 –
請只問你想問的問題...... –
@old_timer這個問題與我問的任何其他問題完全沒有關係,我只想知道縮寫的含義。 – user247763