Lazarus Inline Assembler/ko
From Lazarus wiki
Jump to navigationJump to searchThe printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
│
English (en) │
español (es) │
français (fr) │
日本語 (ja) │
한국어 (ko) │
русский (ru) │
Tiếng Việt (vi) │
이것은 다른 사람들이 많은 기여를 할 수 있게하는 역활을 하게 하려고 한 것이다. 다음은 시작하깅 아주 간단한 예제이다:
unit unt_asm;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
btnGo: TButton;
edtInput: TEdit;
edtOutput: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure btnGoClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{ TForm1 }
procedure TForm1.btnGoClick(Sender: TObject);
var
num, answer : integer;
begin
num := StrToInt(edtInput.Text);
//이것은x86 상에서 라자루스가 있어야한다.
{$ASMMODE intel}
asm
MOV EAX, num
ADD EAX, 110B //이진수 110을 더한다
SUB EAX, 2 //십진수 2를 뺀다
MOV answer, EAX
end;
edtOutput.Text := IntToStr(answer);
end;
initialization
{$I unt_asm.lrs}
end.