//計算 x 的 n 次方的函數
function Fun(x,n: Integer): Integer;
asm
//mov eax, x {因為 eax 會先獲取第一個參數, 這句可以省略}
mov ecx, n {ecx 是個計數寄存器, 會記錄循環的次數, 每循環一次 ecx 的值 就會減1}
sub ecx, 1
@Lable1: add eax, eax {內部標簽必須使用 @ 前綴; 也可以使用 Delphi 的標簽}
loop @Lable1 {循環到標簽執行}
end;
//測試
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(IntToStr(Fun(2,10))); {1024}
end;