Delphi程式裡 該如何加入組合語言??? |
尚未結案
|
nan1218
一般會員 發表:4 回覆:1 積分:1 註冊:2004-08-31 發送簡訊給我 |
|
Skyer
高階會員 發表:43 回覆:111 積分:120 註冊:2002-04-04 發送簡訊給我 |
keyword 是 asm
有兩種使用方式,在 Delphi 中是使用 BASM,跟 VC 的 MASM 有小許不同
嵌一小段
procedure Asm1(a: Integer);
begin
a := a 100;
asm
mov eax, a
and eax, 0FFh
mov a, eax
end;
end; 另一種方式是整個 function 都是 asm
function ASM2(a: Integer);
var
b: Integer;
asm
mov eax, a;
mov b, eax
add eax, 0100h mov eax, Form2 //呼叫 Form2 的一個 member function
call TForm2.Func1
end; 注意的是,如果是 class 的 member function 和使用 fastcall 的話
eax = self
ecx = 最右邊的 parameter
edx = 右邊數來第二個 parameter 在 function 內,eax 代表 return value --
Regards,
Skyer
------
-- Regards, Skyer |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |