Lazarus Inline Assembler/fr
한국어 · English · Español · Français · Tiếng Việt · Русский · 日本語
Ceci est une ébauche pour encourager les autres à contribuer davantage. Voici un exemple très simple pour commencer:
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);
//This is required with Lazarus on x86:
{$ASMMODE intel}
asm//add binary 110//subtract decimal 2
MOV EAX, num
ADD EAX, 110B //add binary 110
SUB EAX, 2 //subtract decimal 2
MOV answer, EAX
END;
edtOutput.Text := IntToStr(answer);
end;
initialization
{$I unt_asm.lrs}
end.Exemple de VirtualTreeview pour Lazarus
From the Free Pascal wiki, page "Lazarus Inline Assembler/fr", as it stood on 2020-06-09 after a change by Pikki, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.