首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 內嵌組合語言:第一個完整範例 - 加法函數

     編輯:Delphi

MOV 與 ADD 指令實現整數加法

掌握 MOV(賦值/傳送)與 ADD(加法)兩條基本指令,即可編寫第一個內嵌組合語言函數。

可用寄存器速查

  • 32 位:EAX EBX ECX EDX ESP EBP ESI EDI
  • 16 位:AX BX CX DX SP BP SI DI
  • 8 位:AL BL CL DL AH BH CH DH
  • 段寄存器:CS DS SS ES
  • 協處理器棧:ST

完整工程代碼

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.

組合語言語法補充

  1. 註釋:同 Delphi,用 { } 或 //
  2. 分句:換行、分號 ;、甚至註釋均可分隔語句
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved