掌握 MOV(賦值/傳送)與 ADD(加法)兩條基本指令,即可編寫第一個內嵌組合語言函數。
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var Form1: TForm1;
implementation {$R *.dfm}
function Add(x, y: Integer): Integer;
var count: Integer;
begin
asm
MOV EAX, x {x → EAX}
MOV ECX, y {y → ECX}
ADD EAX, ECX {EAX = EAX + ECX}
MOV count, EAX {結果 → 變量}
end;
Result := count; {返回}
end;
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
begin
i := Add(2, 4);
ShowMessage(IntToStr(i)); {6}
end;
end.
{ } 或 //;、甚至註釋均可分隔語句