쉽습니다. 지금 시도해 볼 수 있습니다 :).
-----어셈블리를 배울 때 했던 테스트입니다. 첫 번째 프로그램은 단지 감상을 드리기 위한 것입니다. 자세한 내용은 추후 포스팅을 통해 알려드리겠습니다.
단위 Unit1;
인터페이스
용도
Windows, 메시지, SysUtils, 변형, 클래스, 그래픽, 컨트롤, 양식,
대화 상자, StdCtrls, ExtCtrls;
유형
TForm1 = 클래스(TForm)
모양1: T모양;
라벨1: TLabel;
라벨2: TLabel;
라벨3: TLabel;
버튼1: T버튼;
Button2: T버튼;
라벨4: TLabel;
라벨5: TLabel;
Label6: TLabel;
Button3: T버튼;
PROcedure Button1Click(Sender: TObject);
절차 Button2Click(보내는 사람: TObject);
//Button3Click(Sender: TObject) 절차;
//BtCalcuClick(sender: TObject) 절차;
사적인
{비공개 선언}
공공의
{공개 선언}
끝;
var
Form1: TForm1;
함수 Sum1(X,Y:정수):정수;
함수 Sum2(X,Y:정수):정수;stdcall;
function Sum3(var X,Y:integer):integer;stdcall;
구현
{$R *.dfm}
절차 TForm1.Button1Click(Sender: TObject);
var
i,j:정수;
시작하다
label1.Caption:=inttostr(sum1(2,3));
label2.Caption:=inttostr(sum2(2,3));
나는:=2;
j:=3;
label3.Caption:=inttostr(sum1(i,j));
끝;
//델파이 프로그램 요약
함수 Sum1(X,Y:정수):정수;
시작하다
결과:=X+Y;
끝;
//어셈블리 합계 1---
함수 Sum2(X,Y:정수):정수;stdcall;
시작하다
asm
이동 eax,X
eax,Y 추가
mov @결과, eax
끝;
끝;
//어셈블리 합계 2---
function Sum3(var X,Y:integer):integer;stdcall;
시작하다
asm
이동 eax,X
mov eax,[eax]
이동 edx,Y
eax 추가,[edx]
mov @결과, eax
끝;
끝;
절차 TForm1.Button2Click(Sender: TObject);
시작하다
닫다;
끝;
{절차 TForm1.Button3Click(Sender: TObject);
var
QuitFlag:부울;
OutBufPtr:워드;
시작하다
asm
이동,QuitFlag
mov bx,OutBufPtr
끝;
끝;}
끝.