我正在寫一個裝配的小機器代碼生成器。我有一個關於立即對內存的說明了一個問題:大會字/字節/字的正確使用PTR
讓我們這3種方案:
add [ebx+04], 0x1
add [ebx+04], 0x4040
add [ebx+04], 0x401000
我做的是被眼前的不斷持續,我檢查什麼是它可以容納最小字節數那麼我想無論是其字節的PTR,PTR字,DWORD PTR
首先一個可以容納1個字節,所以我認爲它是:
add byte ptr [ebx+04], 0x1
其次可以容納2字節,因此我認爲它是:在4個字節
add word ptr [ebx+04], 0x4040
第三千篇一律,所以我認爲它是:
add dword ptr [ebx+04], 0x401000
這是正確的嗎?
號你怎麼能指望產生的1 32位補充的嗎? PTR註釋是有原因的。 –
有字節ptr,字ptr等命名的原因。因爲用戶需要能夠選擇哪個指令/操作數。如果你是自己製作的,你可以使用addb,addw,addd而不是x ptr。 –
if add [ebx + 04],0x00000001產生一個dword ptr,如果用戶理解了彙編語言的規則,那麼也許你可以逃避它。 –