mov ss:ebp+FFFFFBE0,edx : TRG+30
SS是堆棧段 EBP是疊層的基指針含義的彙編代碼
FFFFFBE0是跳轉地址 EBP + FFFFFBE0其指向堆棧的存儲器位置
edx : TRG+30
;困惑
我認爲它移動數據(EDX:TRG + 30)到位置(EBP + FFFFFBE0)
mov ss:ebp+FFFFFBE0,edx : TRG+30
SS是堆棧段 EBP是疊層的基指針含義的彙編代碼
FFFFFBE0是跳轉地址 EBP + FFFFFBE0其指向堆棧的存儲器位置
edx : TRG+30
;困惑
我認爲它移動數據(EDX:TRG + 30)到位置(EBP + FFFFFBE0)
的代碼加載來自寄存器edx
一個4字節整數成稱爲TRG
陣列/結構。
確切地說,它正在從該結構寫入字節0x30..0x33。
你的調試器是錯誤標籤的說明,但。它應該是:
mov [ss:ebp-0x420],edx
edx
僅僅是一個寄存器,它的內容之前顯示的語句來自一些代碼。
ebp
是基本指針,它通常指向例程中局部變量的存儲。
: TRG+30
是調試器插入的註釋;它不是指令的一部分。
解釋程序集時,您不能單獨查看指令,您必須將它看作指令序列的一部分。
so colon:是爲了評論? – user143252
我能說什麼,你的調試器壞了。 – Johan
@ user143252通常不是。你確定它是冒號嗎?不能是你的字體+分辨率+液晶顯示器看起來像分號一樣的分號嗎? – Ped7g
你正在運行什麼程序,向你顯示這個輸出?我假設':TRG + 30'是一個註釋,可能讓你知道內存操作數指向哪裏。它不是指令的一部分恕我直言 –
請注意,很有可能'mov [ss:ebp + 0xFFFFFBE0],edx'實際上是'mov [ss:ebp-0x00000420],edx'。 – Brendan