초학 Delphi 삽입 어셈블리[3] - 첫 번째 Delphi와 어셈블리의 예

1269 단어 Delphi
앞에서 어셈블리의 값 부여 명령어 (MOV) 를 알았고, 덧셈 명령 (ADD) 을 알면 예를 들 수 있다.
예: ADD AX, BX;이것은 Delphi의 AX: = AX + BX와 같습니다.
추가 목록 - Delphi는 다음 레지스터를 어셈블리로 관리할 수 있습니다.
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
16비트 레지스터: 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 + ECX      EAX}

    MOV count,EAX  {  EAX       count}

  end;

  Result := count; {   }



{asm            ,    ;           }

end;





//  

procedure TForm1.Button1Click(Sender: TObject);

var

  i: Integer;

begin

  i := add(2,4);

  ShowMessage(IntToStr(i)); {6}

end;



end.


 
   
어셈블리에 포함된 주석 및 구절을 추가합니다.
1. 주석은 Delphi와 같다
2. 분호를 사용할 수 있다.분구
3. 줄을 바꾸어 문장을 나눌 수 있다
4、심지어 주석으로 문장을 나눌 수 있다

좋은 웹페이지 즐겨찾기