博文原址:http://blog.163.com/liujie_267/blog/static/874692172010612461343/

1、在 C 文件中要嵌入汇编代码片以如下方式加入汇编代码:

#pragma ASM

; Assembler Code Here

#pragma ENDASM

2、在 Project 窗口中包含汇编代码的 C 文件上右键,选择“Options for ...”,点击右边的“Generate

Assembler SRC File”

和“Assemble SRC File”,使检查框由灰色变成黑色(有效)状态;

3、根据选择的编译模式,把相应的库文件(如 Small 模式时,是 Keil\C51\Lib\C51S.Lib)加入工程中,

该文件必须作为工程的最

后文件;

4、编译,即可生成目标代码。

来个实例吧:

#i nclude

void main(void)

{

P2=1;

#pragma asm

MOV

R7,#10

DEL:MOV R6,#20

DJNZ

R6,$

DJNZ

R7,DEL

#pragma endasm

P2=0;

}

C51调用汇编函数

1.无参数传递的函数调用

先来个例子:其中example.c和example.a51为项目中的两个文件

**********************

汇编和c语言函数的参数传递,C51中汇编的使用及参数传递与数据返回相关推荐

  1. 汇编调用c语言函数 call printf,如何在汇编调用c语言函数?

    一. 参数传递的基本规则(ATPCS(ARM-Thumb Procedure Call Standard)) 1. 参数传递 二.汇编程序.C程序相互调用举例 1. C程序调用汇编程序 汇编程序的设计 ...

  2. C语言中递归什么时候能够省略return引发的思考:通过内联汇编解读C语言函数return的本质...

    C语言中递归什么时候能够省略return引发的思考:通过内联汇编解读C语言函数return的本质 事情的经过是这种,博主在用C写一个简单的业务时使用递归,因为粗心而忘了写return.结果发现返回的结 ...

  3. C语言累加函数代码,ARM汇编程序---通过ARM汇编调用C语言函数实现累加

    在C语言中定义实现一个累加的函数,参数是累加的最大值,从1加到此值.下面是代码: 汇编代码:其中注意开始的参数的定义要紧靠前面,负责无法读出,其中要将C语言函数导入:IMPORT+函数名,并将你定义的 ...

  4. 汇编和c语言函数的参数,C函数与汇编函数之间参数及返回值传递方法

    AAPCS对ARM结构的一些标准做了定义,在这里我们只重点介绍函数调用部分,如图8所示,AAPCS为ARM的R0~R15寄存器做了定义,明确了它们在函数中的职责: 图 8 AAPCS关于ARM寄存器的 ...

  5. 分段函数if语句_C语言函数系列之库函数中基础必会函数(一)

    !!!阅前提醒:!!! 此文为c语言函数系列的第一篇,全系列字数将达到1w字以上且全为干货内容,请各位仔细阅读并打开编译器运行文章中出现的代码进行试验以确保能理解文章内容 if判断函数(以图中显示代码 ...

  6. 【ATT 与 Intel】汇编与C语言相互调用及内联汇编

    目录 一.ATT 与 Intel 二.函数调用的约定 三.C语言调用汇编程序 四.汇编程序调用C语言 五.内联汇编 5.1.基本asm格式 5.2.扩展asm格式 5.3.使用占位符来替代寄存器名称 ...

  7. c51语言定义位变量,C51中定义一个可位寻址的变量LED访问P1口访问P1.1引脚的方法是 。...

    C51中定义一个可位寻址的变量LED访问P1口访问P1.1引脚的方法是 . 更多相关问题 铸造全冠颈部肩台通常为A.0.2-0.4mmB.0.03mmC.0.3mmD.0.5-0.8mmE.1.0mm ...

  8. C语言函数题- 删除字符串中下标为i的字符

    6-2 删除字符串中下标为i的字符 (10分) 本题要求实现一个函数,删除字符串中的下标为i的字符,i的值保证合法,即字符串一定存在下标为i的字符. 函数接口定义: void delstring ( ...

  9. 汇编和c语言函数的参数传递,c文件汇编后函数参数传递的不同之处

    mac下clang编译后函数的参数先保存在寄存器中(以一定的规则保存),然后在函数中压入栈里, 以待后用.例如上篇例子,红色部分: .global _decToBin _decToBin: pushq ...

最新文章

  1. 【Learning Notes】线性链条件随机场(CRF)原理及实现
  2. 解决pycharm创建github工程但push失败的问题
  3. java面试题标签_java面试笔试题 (WEB)
  4. 3.PHP条件语句及其字符串相关函数
  5. iTerm的安装以及配置Oh My Zsh
  6. 【Python】5种基本但功能非常强大的可视化类型
  7. 泛型(比较杂 后期整理)
  8. 工作26:后端数据接口问题
  9. hashmap hash冲突怎么解决_HashMap原理及冲突之简谈
  10. 微信小程序代码组成 小程序涉及到的文件类型
  11. IPV6 Socket编程
  12. 互联网产品总监的经验总结:从0-1为你讲明白BI与数据可视化
  13. PyTorch学习—2.张量的创建与张量的操作
  14. 第11周学习进度情况
  15. IOS视频播放器VKVideoPlayer简单教程
  16. 大4女生想做软件测试岗,如何系统性学习测试呢?
  17. 海外有哪些免费的0元虚拟主机(免费空间或者免费虚拟主机)
  18. 整车智能-浅谈“车内生命体征检测方案”
  19. 如何把 Excel 数据按分类拆分为多个
  20. windows 总是弹出 windows installer 安装,关不了的解决方法

热门文章

  1. 熊太郎's present
  2. 我想转行做软件测试,有必要报培训班吗?我听说好多人说自学就行...
  3. 一句话介绍Oracle的体系结构
  4. Python学习的第一天 Day1
  5. html设置编码格式
  6. LNK2005 LNK1169
  7. linux环境用usb麦克风阵列ALSA音频设备录音
  8. Vagrant详细教程
  9. 机器学习算法工程师面试总结
  10. 受控组件与费受控组件