原创 如何在KEILC52里面嵌入汇编

2008-5-25 11:23 3453 8 9 分类: MCU/ 嵌入式

.通过使用预处理指令#asm 和#endasm来使用汇编语言。用户编写的汇编语言可以紧跟在#asm之后,而在#endasm之前结束。如下所示:


        # asm


        /*汇编源程序*/


        # endasm


    在#asm和#endasm之间的语句将作为汇编语言的语句输出到由编译器产生的汇编语言文件中。



    2.通过使用预处理指令# pragma asm和函数_asm()来使用汇编语言。在程序的开头加上预处理指令#pragma asm,在该预处理指令之前只能有注释和其它预处理指令。


    _asm()函数可按以下方式使用。


    _asm(汇编语言字符串)


    在汇编语言字符串中,可以通过回车和换行符把各个语句分开。



    在C语言中使用汇编语言,可以操作C语言中的全局变量或完成用C语言难于完成的功能,但要注意以下几点:


    ① #asm不允许嵌套使用。


    ② 当使用asm语句时,编译系统并不输出目标模块,而只输出汇编源文件。


    ③ _asm只能用小写字母,如果写成大写,就作为普通变量。


    ④ #asm#endasm和_asm只能用在函数内。

文章评论1条评论)

登录后参与讨论

用户1654196 2008-5-25 16:12

可到http://blog.ednchina.com/blog/zhszz/侃侃c语言和汇编的混合编程.兄长讲的方法只适用与KEIL软件,对于那些对该软件不熟悉的用户来讲,那些额外的设置很困难啊。
相关推荐阅读
用户1006913 2008-07-15 10:40
Labview中chart和Graph的区别
Graph和Chart在它们各自显示和更新数据的方式上有所不同。使用Graph的VI通常用Array收集数据,然后将他们在Graph上画出来,就像电子数据表一样,先存储数据然后描绘出图像。与此不同的是...
用户1006913 2008-07-13 17:06
.c文件和.h文件的概念与联系
   如果说难题最难的部分是基本概念,可能很多人都会持反对意见,但实际上也确实如此。我高中的时候学物理,老师抓的重点就是概念——概念一定要搞清,于是难题也成了容易题。如果你能分析清楚一道物理难题存在着...
用户1006913 2008-05-29 10:22
关于嵌入式系统--献给热爱此道的初学者们
如何学习嵌入式系统(基于ARM平台) 前言    网上看到众多网友都问了关于嵌入式系统方面的很多问题,很多都可在这里找到答案,希望我的这篇文章能给他们以启发。也请大家不要轻易转载。 一、嵌入式系统的概...
用户1006913 2008-05-27 19:47
初学GDB
初次尝试GDB(原创)今天在一个老哥的博客看到了一篇Linux环境下C语言调试的文章,就自己学着弄了一弄:学会了很多东西但是,也发现了一些问题,源程序是这样的(请原谅我没有把其中的错误改过来 只是直接...
用户1006913 2008-05-24 20:14
我们使用Keil C调试某系统时积累的一些经验
我们使用Keil C调试某系统时积累的一些经验1、在Windows2000下面,我们可以把字体设置为Courier,这样就可以显示正常。2、当使用有片外内存的MCU(如W77E58,它有1K片外内存)...
我要评论
1
8
关闭 站长推荐上一条 /2 下一条