Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 2735|回复: 3

Lazarus调用汇编的简单例子

[复制链接]

该用户从未签到

发表于 2013-4-10 11:02:40 | 显示全部楼层 |阅读模式
  1. unit unt_asm;
  2. {$mode objfpc}{$H+}
  3. interface
  4. uses
  5.   Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;
  6. type
  7.   { TForm1 }
  8.   TForm1 = class(TForm)
  9.     btnGo: TButton;
  10.     edtInput: TEdit;
  11.     edtOutput: TEdit;
  12.     Label1: TLabel;
  13.     Label2: TLabel;
  14.     procedure btnGoClick(Sender: TObject);
  15.   private
  16.     { private declarations }
  17.   public
  18.     { public declarations }
  19.   end;
  20. var
  21.   Form1: TForm1;
  22. implementation
  23. { TForm1 }

  24. procedure TForm1.btnGoClick(Sender: TObject);
  25. var
  26.   num, answer : integer;
  27. begin
  28.   num := StrToInt(edtInput.Text);
  29.   //This is required with Lazarus on x86:
  30.   {$ASMMODE intel}
  31.   asm
  32.     MOV EAX, num
  33.     ADD EAX, 110B //add binary 110
  34.     SUB EAX, 2    //subtract decimal 2
  35.     MOV answer, EAX
  36.   end;
  37.   edtOutput.Text := IntToStr(answer);
  38. end;

  39. initialization
  40.   {$I unt_asm.lrs}
  41. end.
复制代码
回复

使用道具 举报

该用户从未签到

发表于 2013-8-29 22:42:38 | 显示全部楼层
学习了,谢谢。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2013-10-12 17:12:02 | 显示全部楼层
你是怎么嵌入的啊,我怎么嵌不了呢,具体一些,谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2013-10-16 16:26:11 | 显示全部楼层
在wince下如何潜入汇编呢
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-5-2 20:32 , Processed in 0.026653 second(s), 10 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表