文档章节

初学 Delphi 嵌入汇编[25] - 在汇编中调用函数

涂孟超
 涂孟超
发布于 2014/09/26 15:36
字数 133
阅读 9
收藏 0
点赞 0
评论 0
//准备一个在汇编中要调用的函数
function DelphiFun(x,y: Integer): Integer;
begin
  Result := x + y;
end;


//汇编函数
function AsmFun: Integer;
asm
  mov eax, 1      {eax 对应函数的第一个参数, 这里给第一个参数赋值为 1}
  mov edx, 2      {edx 对应函数的第二个参数, 这里给第二个参数赋值为 2}
  call DelphiFun  {call 是调用命令; 返回值在 eax}
end;


//测试
procedure TForm1.Button1Click(Sender: TObject);
var
  num: Integer;
begin
  num := AsmFun;
  ShowMessage(IntToStr(num)); {3}
end;

 
 
 
 
 

 

 

  

© 著作权归作者所有

共有 人打赏支持
涂孟超
粉丝 12
博文 2004
码字总数 14107
作品 0
深圳
程序员
使用C/Delphi编写ShellCode

来源:http://www.bootkitz.com/?p=93 文章谈的很好 这里说的ShellCode指的是一段x86机器码,无需重定位,在内存任何位置都可以执行的代码. 使用C/Delphi编写代码也是由其编译器特性决定的。...

BlAckEagle ⋅ 2013/01/21 ⋅ 5

Delphi中使用汇编(关于POS函数的问题)

在delphi中使用汇编异常的简单,只用使用关键字asm ....end来引导就行了。 得到一个字符在字符串中的位置有很多方法,最简单的就是使用delphi自己的Pos函数 另外一个方法就是使用 循环查找字...

技术小美 ⋅ 2017/11/06 ⋅ 0

C和汇编混合编程及示例

在嵌入式系统开发中,目前使用的主要编程语言是C和汇编,C++已经有相应的编译器,但是现在使用还是比较少的。在稍大规模的嵌入式软件中,例如含有 OS,大部分的代码都是用C编写的,主要是因为...

DB_Terrill ⋅ 2012/04/11 ⋅ 0

关于C51与汇编的实用混合编程

最近研究了下51的混合编程,总结一下吧! 1.生成C51的汇编源码 右键单击项目文件,在弹出的opinion for file ....选择上生成SRC文件,这个可以产生汇编源文件,也能允许在C51中嵌入A51,即汇...

文剑Boy ⋅ 2014/05/01 ⋅ 0

MIPS32 backtrace

在嵌入式开发过程中,经常会遇到出问题了想知道函数调用关系,不过目前我用到的toochain的Libc提供的backtrace只能出来2层,所以就只好另外写代码来backtrace。目前嵌入式mips32在gcc编译器上...

lgl88911 ⋅ 2014/04/11 ⋅ 0

编写高效简洁的C语言代码,是许多软件工程师追求的目标。各位有什么高招呢?请不吝赐教。。。

以下是我个人的一些体会和经验,不对的地方请各位指教。同时希望各位拿出自己的干货分享一下经验 第1招:以空间换时间   计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发...

刘学炜 ⋅ 2012/04/17 ⋅ 4

GCC的内联函数(转)

在程序中,通过把一个函数声明为内联(inline)函数,就可以让gcc把函数的代码集成到调用该函数的代码中去。这样处理可以去掉函数调用时进入/退出时间开销,从而肯定能够加快执行速度。因此把...

栖在云端 ⋅ 2012/03/31 ⋅ 0

Linux 汇编语言开发指南

Linux 汇编语言开发指南 肖文鹏 (xiaowp@263.net), 北京理工大学计算机系硕士研究生 肖文鹏是北京理工大学计算机系的一名硕士研究生,主要从事操作系统和分布式计算环境的研究,喜爱Linux和P...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

exit和__exit的区别

在国嵌内核驱动进阶班视频里创建proc文件的例程中有void exit myprocexit(void)函数,其中的 _exit和常用的exit有什么区别呢? 首先,函数exit()直接是一个sysexit系统调用,而函数exit()则...

兔之 ⋅ 2013/12/13 ⋅ 0

Plugs介绍(翻译)---- C#开源操作系统学习系列六

原文地址:http://www.codeproject.com/KB/cs/CosmosPlugs.aspx 介绍 这篇文章将展示在COSMOS中如何实现基于WINDOWS API调用和内部调用的.net代码。另外,也包含了如何使用COSMOS,汇编或者X...

李恒哲 ⋅ 2011/08/13 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

IDEA创建SpringMVC+Mybatis+Maven项目

视频如下(加载有点慢请见谅,服务器不太好): 视频

影狼 ⋅ 20分钟前 ⋅ 0

前阿里P8架构师:精准定制Java架构师学习计划!

可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。 有不少朋友问,除了掌握J...

java高级架构牛人 ⋅ 23分钟前 ⋅ 0

zookeper学习

https://blog.csdn.net/u012152619/article/category/6470028

~少司命~ ⋅ 24分钟前 ⋅ 0

Spring MVC ,JSON,JQuery,不懂JQuery,跳过了

/spring-mvc-study/src/main/webapp/course_json.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD ......

颖伙虫 ⋅ 24分钟前 ⋅ 0

2018上海云栖大会workshop-日志数据采集与分析对接

摘要: 日志数据采集与分析对接 课程描述 通过日志服务采集用户、数据库、业务等访问数据。演示对于业务日志分析与处理,程序日志查询与监控,打通日志与数据仓库对接案例。 日志种类 网站访...

阿里云云栖社区 ⋅ 25分钟前 ⋅ 0

mahout demo

package com.datamine.CollaborativeFiltering.mysql; import org.apache.mahout.cf.taste.impl.neighborhood.NearestNUserNeighborhood; import org.apache.mahout.cf.taste.impl.recommend......

xiaomin0322 ⋅ 26分钟前 ⋅ 0

red hat openstack 12配置要求

安装 openstack 之前,一般要规划整个系统中,到底要多少台机器来参与openstack, 根据rhosp12的官方文档: 最低要求是3台物理机,1台作为director,一台作为 controller ,一台作为computer....

tututu_jiang ⋅ 28分钟前 ⋅ 0

Rocket-Chip在GitHub上的各个源码

在github上通过搜索Rocket-chip可以得到36个结果:其中 https://github.com/freechipsproject/rocket-chip https://github.com/ucb-bar/riscv-boom https://github.com/ucb-bar/fpga-zynq (......

whoisliang ⋅ 33分钟前 ⋅ 0

【HAVENT原创】CentOS 6.5 下 Nginx 的安装与配置

nginx是轻量级的Web服务器、反向代理服务器及邮件服务器,具有占用内存少,并发能力强的优点,已被广泛应用。本文介绍目前最新版本 1.12.2 的安装。 各版本nginx下载地址:http://nginx.org/...

HAVENT ⋅ 39分钟前 ⋅ 0

查看linux系统重启之前的log -- last_kmsg

当 Linux Kernel 出现 BUG 的时候,后走入 panic flow,这个时候由于 Kernel 出现了严重的问题,adbd 也无法响应 adb 连接请求,这个时候想透过读取 Kernel Log Buffer 来看 Kernel Log 是不...

zyzzu ⋅ 40分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部