KEIL C51集成开发环境C和汇编语言的相互调用.pdf

KEIL C51集成开发环境C和汇编语言的相互调用.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
KEIL C51集成开发环境C和汇编语言的相互调用

维普资讯 第27卷 第 1期 兰 州 交 通 大 学 学 报 V()1.27No.1 2008年 2月 JournalofLanzhouJiaotongUniversity Feh.2008 文章编号:1001—4373(2008)01—013卜O4 KEILC51集成开发环境 C和汇编语言的相互调用 严天峰, 王耀琦 (兰州交通大学 电子与信息工程学院,甘肃 兰州 730070) 摘 要:目前C语言已成为开发单片机项 目的主要工具,但一些特殊的应用场合仍然需要汇编语言编写程序,如编 写时序要求非常严格的接 口协议时,这必然涉及到C与汇编的相互调用,即混合编程的问题.详细介绍了KE1L C51环境下的C和汇编语言相互调用的方法和原则,并具体说明混合编程的细节和应注意的问题. 关键词 :KEILC51汇编 调用 混合编程 中图分类号:TP311.11 文献标识码:A 目前,C语言已是单片机应用系统的主流编程 时,每个函数都生成一个以?PR?函数名?模块名 工具,它具有代码可靠性高,可移植性好,易于维护 为段名的程序代码段,如果该函数包括无明确存储 的特点.特别是德国KEII公司推出功能强大的基 器类型声明的局部变量,将生成一个字节类型的局 于WINDOWS平台的51系列单片机集成开发工具 部数据段;当参数中有位变量时,还将生成一个位类 /*Vision之后,这一趋势越发明显.采用C语言几乎 型的局部位段,用来存放在函数内部已定义的位标 可以完成江编语言的所有工作,可以大在提高程序 量和位变量参数.在 SMAII编译模式下,局部段 的开发效率.但在一些特殊应用的场合仍然需要通 的命名原则如表 1所示_1]. 过汇编语言编写程序,比如对时序要求非常严格的 接口协议和中断向量的地址处理等等.另外还存在 表 1 局部段的命名原则 Tab.1 Namingprincipleoflocalse~ ent 一 种情况,即程序员原先已用汇编语言编写了大量 的子程序,现在虽然改用 C语言开发设计,但又不 想重写代码;或者想充分发挥 C语言在数值计算的 优势,通过汇编语言调用 C来实现复杂的数学计 算.这必然要涉及到C与汇编的相互调用,即混合 编程的问题.C与汇编的混合编程,重点是参数的传 每个局部段的段名表示该段的起始地址.假如, 递和函数值的返回以及 C51对 目标代码的段管理, 模块 example包含一个名为 “func”的函数,其程序 这是嵌人式系统混合编程过程中实现开发和运行效 代码段的命名为”?PR?func?example,其中func 率统一的关键环节. (函数名)即为该段的起始地址.如果func函数包含 1 C51编译器对程序和数据代码段的管理 有DATA和BIT对象的局部变量,局部数据段和 局部位段的起始地址则定义为?func?BYTE和? C51能否成功调用汇编语言的前提条件之一是

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档