請教個很垃圾的問題……
在DELPHI當中。想把某個變數轉換為基址。然后代入到匯編里面。應該怎么……
例如 pushi:='$14515E4'; 在匯編中如何轉換成有效的代碼
asm
MOV ecx,pushi
MOV edx,dword ptr ds:[ecx]
end;
讓匯編代碼變成
asm
MOV ecx,$14515E4
MOV edx,dword ptr ds:[ecx]
end;
uj5u.com熱心網友回復:

上面匯編里面正確的代碼。那么我在DELPHI里面應該怎么寫才能實作呢
asm
MOV ecx,pushi
MOV edx,dword ptr ds:[ecx]
end;
可是這個變數應該怎么賦值才能實作到上圖的代碼。
pushi應該怎么宣告和怎么賦值
uj5u.com熱心網友回復:
你1樓和2樓的匯編是矛盾的,以哪個為準?uj5u.com熱心網友回復:
這個變數到底是字串還是整數?uj5u.com熱心網友回復:
asmLEA ecx,pushi
uj5u.com熱心網友回復:
用lea不行,他是要取pushi的內容再間接尋址,不是取pushi的地址再間接尋址。實際上在Delphi的BASM中可以直接寫:
mov ecx, [large $14515E4]
生成的是直接尋址指令,就是mov ecx, dowrd ptr ds:[0x14515E4]
uj5u.com熱心網友回復:
哦,立即數呀。。。。
uj5u.com熱心網友回復:
var-i:integer;asm:ecx,i
uj5u.com熱心網友回復:
var reg_ptr:ineger;asm
mov ecx,reg_ptr
end;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/63107.html
標籤:語言基礎/算法/系統設計
上一篇:Fastreport中Chart的X軸刻度顯示整數,Y軸本身是小數,,但去自動生成整數刻度.
下一篇:RichEdit多字體格式問題
