直接跳轉至內容

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;
華夏公益教科書