您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > C语言中嵌入汇编语言在本论坛中的集锦
C语言中嵌入汇编语言在本论坛中的集锦论坛中的一些个人看法,我收集了一下,对错的话,大家见仁见智啊下面是一个简单的例子,具体参数传递等,看书$NOMOD51ACCDATA0E0HP_VMEQU0DFE2HP_PAGEEQU0DFE0HNAMEVM?C_VM?VMSEGMENTCODEPUBLICC_VMMOVACC,#00HPUSHACCPUSHACCMOVDPTR,#P_VMMOVA,#0CHMOVX@DPTR,ANOPRETEND看了KEIL-C的手册,介绍可以这样加入汇编#pragmaasm;nop;nop;#pragmaendasm;在properties项使能对话框中的GenerateAssemblerSRCFile和AssemblerSRCFile选项。但为何我这样做一直编译通不过呢,它一直提示语法错误。请大虾指教已经搞定,是我在开始处定义了一个NOP,所以在使用写ASMNOP时冲突才会报错。请教:C语言调用汇编程序时,如何使Assemblyoutputfile项激活请教:C语言调用汇编程序时,创建汇编子程序框架时,需要在Workbench菜单Project中选择Option命令,并在其中的ICC430选项类中,对list设置:Assemblyoutputfile,可是这个选项时灰色的,如何才能激活??C语言调用汇编程序不需要任何设置,只要将汇编的函数另外保存成一个独立的汇编文件,并把该文件添加到工程中。在C语言中要声明该汇编函数为外部函数,当然汇编的写法要注意一些事项,这要看一些相关的资料了。我是想用c语言写个框架,自动生成汇编源程序,这样就需要设置以上的选项。不过可以自己写汇编的框架,就是以上你所说的办法,现在已经好了,谢谢你!keilc能编译汇编程序吗?keilc能编译汇编程序吗?当然可以了,内嵌汇编语句就可以了#pragmasrc命令c语言和汇编语言怎么连接谁有c语言和汇编语言怎么连接的资料告诉我一下建议:用C语言做个框架,编译后改为汇编框架,填入汇编程序,一般可以保证和C语言兼容.注意格式_asm{.....................}如果你用KEILC高版本的话可以分别编写C和汇编的模块,存成2个文件,分别添加到你的项目里,然后BUILDALL就行了,系统集成环境回自动联接的。早期版本需要分别编译生成OBJ文件,然后联接就可以了。用内联inline请教keilc51中加入汇编我在网上下载了一段程序,可怎么也不懂,调了半天也没调通,请大家看看应该怎么用呀,程序中的shiftR1是干什么的,还有x,ruturn(x)返回什么值?这是下载的程序://asm.h#ifdefASMunsignedlongshiftR1(registerunsignedlong);#elseexternunsignedlongshiftR1(registerunsignedlong);#endif//endofasm.h//asm.c#defineASM#includeasm.h#includereg52.h#pragmaOT(4,speed)unsignedlongshiftR1(registerunsignedlongx){#pragmaasmclrcmova,r4rrcamovr4,amova,r5rrcamovr5,amova,r6rrcamovr6,amova,r7rrcamovr7,a#pragmaendasmreturn(x);}//endofasm.cx=x*2;x为4位长整型。r4567是放x的在C51中插入汇编问题!请教各位:1、我想在C51的程序中插入汇编程序,然后用KEIL编译。使用的格式是asm(ljmp8000h);。但在用keil编译是提示有错。是否要include什么头文件。2、在C51的源程序中能否进行绝对地址的调用与跳转。如;LCALL8000HLJMP8000H。1。混合编程我也想学哦,不过我用WAVE试过几次都不行,现在听说WAVE有指令能用了,不过我没试过哦!2。好象没有哦,不如没必要有呀,因为有都没用!KEILC51中是不能直接嵌入汇编,C196就可以。{f2)我使用的是wave,可以先用c51编个子程序接口(定好接口变量),再在a51下用汇编编子程序。最后用L51把这两部分联结起来(注意用参数,避免程序重叠)。我没用过什么特殊的头文件,至于是否可以用长跳转语句不是很清楚。绝对地址跳转应该不能用。楼上的说的对,keilc51中要想嵌入汇编,必须单独写一汇编的程序文件,然后和c51的程序文件连接编译。其中还牵扯一些问题,参数、程序名等,去老古那里看看吧KEILC51中是可以直接嵌入汇编,方法为#Pragmaasm汇编行#pragma,注意在写汇编之后要记得加END这样子就OK了。(这样我试过了,编译时时需要勾选SRC项,不过软仿真执行时遇到莫名其妙的问题。如整个程序不从MAIN处执行等,不知怎么回事?)
本文标题:C语言中嵌入汇编语言在本论坛中的集锦
链接地址:https://www.777doc.com/doc-7914562 .html