前面知道了一个汇编的赋值指令(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;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}//使用汇编的函数
function add(x,y: Integer): Integer;
varcount: Integer;
beginasmMOV 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);
vari: Integer;
begini := add(2,4);ShowMessage(IntToStr(i)); {6}
end;end.

补充嵌入汇编的注释及分句:
1、注释同 Delphi
2、可以用分号 ; 分句
3、可以用换行分句
4、甚至可以用注释分句


转载于:https://www.cnblogs.com/del/archive/2008/01/23/1050457.html

初学 Delphi 嵌入汇编[3] - 第一个 Delphi 与汇编的例子相关推荐

  1. Delphi真的没落了吗?_说Delphi母语Pascal的另一个应用

    我最近才接触Delphi语言, 而且从目前所有就业招聘的情况来看,Delphi的前景看起来有点不如某些开发工具光鲜,尤其在Borland公司被甲骨文Oracle收购后,好像Delphi注定要被世人遗忘 ...

  2. Delphi XE 使用 MySQL 数据库一个奇怪的问题

    Delphi XE 使用 MySQL 数据库一个奇怪的问题 我用的是自带的 ADO 组件连接 MYSQL ,连接很简单,如下: 1.下载一个 MYSQL 驱动安装上 下载地址 2.连接串 Adoc.C ...

  3. 一个Delphi写的DES算法, 翻译成C#

    其实.NET Framework已经提供实现DES算法的类: System.Security.Cryptography.DESCryptoServiceProvider.之所以要把一个Delphi写的 ...

  4. Delphi十进制和十六进制互转 Delphi 自带函数 IntToHex

    Delphi十进制和十六进制互转 Delphi 自带函数 IntToHex 功能说明:该函数用于将"十进制"转换成"十六进制".该函数有二个参数.第一个参数为要 ...

  5. Linux开发之Delphi FMXLinux(二)、Delphi对Linux操作系统内核态主要的Api封装(FMUX.Api.pas)

    目录 Linux开发之Delphi FMXLinux(二).Delphi对Linux操作系统内核态主要的Api封装(FMUX.Api.pas) 1.代码的版权(比较新的代码库): 2.依赖: 3.其中 ...

  6. delphi每次mysql密码BDE_关于Delphi的BDE

    标题:Delphi 7.0开发技巧集锦(一)------关于Delphi的BDE作者:  出处:  更新时间: 2004年08月09日 Delphi 7.0开发技巧集锦(一) 这里为读者提供一些实用的 ...

  7. delphi基础01-delphi表达式、delphi运算符、delphi函数调用、delphi集合构造函数、delphi索引、(值或变量)delphi类型转换

    delphi基础01-表达式.运算符.函数调用.集合构造函数.索引.(值或变量)类型转换 整理出来,供大家学习使用: http://docwiki.embarcadero.com/RADStudio/ ...

  8. go语言笔记——go是有虚拟机runtime的,不然谁来做GC呢,总不会让用户自己来new和delete进行内存管理吧,还有反射!Go 的 runtime 嵌入到了每一个可执行文件当中...

    2.7 Go 运行时(runtime) 尽管 Go 编译器产生的是本地可执行代码,这些代码仍旧运行在 Go 的 runtime(这部分的代码可以在 runtime 包中找到)当中.这个 runtime ...

  9. 開博客了, 因為搞Delphi 開發的關於Delphi學習

    開博客了, 因為搞Delphi 開發的關於Delphi學習,之前都是用本地TXT文件保存,發現在本地電腦保存非常不方面,而且只能在一台電腦上保存,不容易查看和修改內容.便於以後的記錄只用,以及經驗交流 ...

最新文章

  1. WinForm界面开发之 启动界面
  2. 搜索推荐炼丹笔记:单网络内部集成学习
  3. jQuery 判断所有图片加载完成
  4. (php)thinkphp3.2配置sql_server
  5. 【转】C#中数组复制的4种方法
  6. TCP协议的部分解析(2)
  7. Deep Learning 参数--学习率α、批样本数量batch_size
  8. doxygen 无法生成图片_设计稿智能生成代码如何识别组件?Imgcook 3.0 解析
  9. Keil v5安装和使用
  10. 机器学习(四)神经网络
  11. 机器视觉入门,网友推荐的书目
  12. 数据分析——RFM模型
  13. ios下使用speex进行音频压缩
  14. 服务器运行cad慢,CAD绘图如何提高效率!CAD运行用加速技巧图文教程
  15. 解析2019年新零售社区团购发展方向
  16. XCode 3 中我的常用快捷键
  17. 注册一个公众号多少钱_微信公众号申请注册收费吗?要钱吗?多少钱?
  18. JSH_ERP华夏ERP开发配置
  19. 我家云刷android系统教程,我家云刷OMV试用体验
  20. Volley,Glide,Swiperefreshlayout 简单使用

热门文章

  1. 使用JPA进行Update操作 @Query注解的用法,JPL
  2. Mysql生成UUID
  3. 在idea使用maven工程建立web项目时,启动Tomcat访问不到项目首页。
  4. LeetCode简单题之数组的度
  5. Auto ML自动特征工程
  6. 基于NVIDIA GPUs的深度学习训练新优化
  7. Android系统的启动过程
  8. 2021年大数据Flink(七):​​​​​​​参数总结
  9. C++ 判断指针是否为空
  10. python3 内置函数map 返回的迭代器转为列表