2017-02-17 115 views
-1
mov  ss:ebp+FFFFFBE0,edx : TRG+30 

SS是堆棧段 EBP是疊層的基指針含義的彙編代碼

FFFFFBE0是跳轉地址 EBP + FFFFFBE0其指向堆棧的存儲器位置

edx : TRG+30;困惑

我認爲它移動數據(EDX:TRG + 30)到位置(EBP + FFFFFBE0)

+1

你正在運行什麼程序,向你顯示這個輸出?我假設':TRG + 30'是一個註釋,可能讓你知道內存操作數指向哪裏。它不是指令的一部分恕我直言 –

+1

請注意,很有可能'mov [ss:ebp + 0xFFFFFBE0],edx'實際上是'mov [ss:ebp-0x00000420],edx'。 – Brendan

回答

0

的代碼加載來自寄存器edx一個4字節整數成稱爲TRG陣列/結構。
確切地說,它正在從該結構寫入字節0x30..0x33。

你的調試器是錯誤標籤的說明,但。它應該是:

mov [ss:ebp-0x420],edx 

edx僅僅是一個寄存器,它的內容之前顯示的語句來自一些代碼。
ebp是基本指針,它通常指向例程中局部變量的存儲。
: TRG+30是調試器插入的註釋;它不是指令的一部分。

解釋程序集時,您不能單獨查看指令,您必須將它看作指令序列的一部分。

+0

so colon:是爲了評論? – user143252

+0

我能說什麼,你的調試器壞了。 – Johan

+0

@ user143252通常不是。你確定它是冒號嗎?不能是你的字體+分辨率+液晶顯示器看起來像分號一樣的分號嗎? – Ped7g