直接跳转至内容

Delphi 编程/Delphi 中的汇编程序

来自维基教科书,面向开放世界的开放书籍

自 Turbo Pascal 1.0 以来,在 Borland(目前是 Embarcadero)语言中使用汇编代码很方便。

在 Delphi 中,只需在 asm...end; 之间将汇编块置于代码块内,或者将整个函数过程声明为汇编程序

全局或局部变量可正常使用,但它们显然会用作指针。

示例

function StrLen(S: PChar): Cardinal;
begin
  asm
    MOV   EDX, EDI
    MOV   EDI, EAX
    MOV   ECX,0FFFFFFFFh
    XOR   AL, AL
    REPNE SCASB
    MOV   EAX, 0FFFFFFFEh
    SUB   EAX, ECX
    MOV   EDI, EDX
  end;
end;
function StrLen(S: PChar): Cardinal;
asm
  MOV   EDX, EDI
  MOV   EDI, EAX
  MOV   ECX, 0FFFFFFFFh
  XOR   AL, AL
  REPNE SCASB
  MOV   EAX, 0FFFFFFFEh
  SUB   EAX, ECX
  MOV   EDI, EDX
end;
华夏公益教科书