初学 Delphi 嵌入汇编[14] - 常量与变量在汇编中的一个区别

//常量可以在汇编语句中运算
function Fun: Integer;
const
  a = 11;
  b = 5;
asm
  mov eax, a-b
end;


//测试
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  i := Fun;
  ShowMessage(IntToStr(i)); {6}
end;

//变量不可以, 方法中的参数也都属于变量
function Fun: Integer;
var
  x,y: Integer;
asm
  mov x, 11
  mov y, 5
  //mov eax, x-y {不能这样使用}
  mov eax, x
  sub eax, y     {sub 是减, 就像 add 是加一样}
end;


//测试
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  i := Fun;
  ShowMessage(IntToStr(i)); {6}
end;