C和汇编语言混合编程.pptVIP

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C和汇编语言混合编程

7.1 ARM C/C++编译器 7.2 在C/C++程序中内嵌汇编指令 7.3 从汇编程序中访问C程序变量 7.4 汇编程序、C程序及C++程序相互调用 7.5 嵌入式C编程;7.1 ARM C/C++编译器;7.2 在C/C++程序中内嵌汇编指令;7.2 在C/C++程序中内嵌汇编指令;7.2 在C/C++程序中内嵌汇编指令;7.2 在C/C++程序中内嵌汇编指令;7.2 在C/C++程序中内嵌汇编指令;7.3 从汇编程序中访问C程序变量;7.3 从汇编程序中访问C程序变量;7.3 从汇编程序中访问C程序变量;C程序与汇编程序互相调用规则 ;ATPCS中各寄存器的使用规则及其名称 ;ATPCS中各寄存器的使用规则及其名称;7.4 汇编程序、C程序及C++程序相互调用;C程序调用汇编程序(调用汇编的C 函数): #include stdio.h extern void strcopy(char *d,const char *s); //声明外部函 //数,即要调用的汇编子程序 int main(void) { const char *srcstr=“First string-source”; char dstsrt[] =“Second string-destination”; printf(“Before copying:\n”); printf(“’%s’\n ‘%s\n,”srcstr,dststr); //显示源字符串和目 //标字符串的内容 strcopy(dststr,srcstr); //调用汇编子程序,R0=dststr //R1=srcstr printf(“After copying:\n”) printf(“’%s’\n ‘%s\n,”srcstr,dststr); //显示strcopy 复制 //字符串结果 return(0); };C程序调用汇编程序(被调用汇编子程序): AREA SCopy,CODE,READONLY EXPORT strcopy ;声明汇编程序strcopy,以便外部 ;程序引用 strcopy ;R0 为目标字符串的地址 ;R1 为源字符串的地址 ; LDRB R2,[R1],#1 ;读取字节数据,源地址加1 STRB R2,[R0],#1 ;保存读取的1 字节数据,目标地 ;址加1 CMP r2,#0 ;判断字符串是否复制完毕 BNE strcopy ;没有复制完毕,继续循环 MOV pc,lr ;返回 END;7.4 汇编程序、C程序及C++程序相互调用;7.4 汇编程序、C程序及C++程序相互调用;汇编调用C 程序的汇编程序 AREA sample, CODE,READONLY IMPORT sum5 ;声明C程序sum5() EXPORT sample ;声明可被外部程序引用 ENTRY STR LR,[SP,#-4]! ;保存返回地址 MOV R0,#1 ;设置参数1 MOV R1,#2 ;设置参数2 MOV R2,#3 ;设置参数3 MOV R3,#4 ;设置参数4 MOV R4,#5 ;参数5通过数据栈传递 STR R4,[SP,#-4]!; 汇编调用C 程序的汇编程序 BL sum5 ;调用sum5(),结果从R0返回 ADD SP,SP,#4 ;调整SP,准备返回 LDR PC,[SP],#4 END;7.5 嵌入式C编程;7.5 嵌入式C编程;3、条

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档