arm实验ARM汇编和C语言混合编程_第1页
arm实验ARM汇编和C语言混合编程_第2页
arm实验ARM汇编和C语言混合编程_第3页
arm实验ARM汇编和C语言混合编程_第4页
arm实验ARM汇编和C语言混合编程_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

辽宁工程技术大学上机试验报告成绩成绩课程名称汇编语言程序设计——基于ARM体系构造试验题目院系ARM汇编和C语言混合编程软件学院 专业 软件工程班级姓名学号试验日期法。试验 2.把握汇编程序调用C程序的方法。目的了解C程序调用汇编程序的方法。试验 硬件:PC机预备 软件:ADS1.2集成开发环境试验 本次共有 2 个练习,完成 2 进度建立一个工程。CPU。添加启动代码。选择开发工具。试验 5.建立汇编程序源文件。内容 散加载文件和调试脚本文件。7.将程序源文件添加到工程中。设置编译链接掌握选项。编译链接工程。试验步骤:1ARMC变量ADS1.2testtest2.o,将源程序文件添加到工程工程中。建立汇编程序访问所C源程序。test2.oARMC语言变量的访问。C程序要求汇编程序通过BLg调用C5个数相减,R0、R1、R2、R3和堆栈来传递。Ctest3.stest4.c。试验work,然后建立汇编程序test3.stest4.c,参加内容工程,重编译并链接程序,使用存放器观看器和内存观看器,运用单步续执行方式调试程序,验证ARM汇编程序对C语言程序的调用。调试时使stepBLgstepin方式,单步进入C5个数相减,调用函数运行完毕后程序又回到汇编语言程序。整个调试过程演示了汇编语言程C语言程序的过程。3.CARM汇编程序Ctest6.csrcstr复制到目标字符串strcopy由汇编程序实现,该段汇编程序在test5.s中。2程序代码:test1.spreserve8areareset,code,readonlyentrycode32exportarmcodeimportglobvararmcode ldrr1,=globvarldrr0,[r1]addr0,r0,#2strr0,[r1]试验 movpc,lr分析 endtest2.c#include<stdio.h>intglobvar=3;int_main{return(0);}试验截图:3分析:在0x8018的位置上实现了3+2。程序代码:test3.s试验分析 areareset,code,readonly续 entrycode32exportreset;arm_addimportgldrsp,=0x31000100strlr,[sp,#-4]!movr0,#20movr1,#1movr2,#2movr3,#3movr4,#4strr4,[sp,#-4]!blgaddsp,sp,#4ldrpc,[sp],#4endtest4.c#include<stdio.h>intg(inta,intb,intc,intd,inte){returna-b-c-d-e;}4运行结果截图:试验分析 试验分析:续 分别存入存放器中,然后通过调用C语言程序,进展相减,最终将结果存到R0中。程序代码:test5.sstrcopytest6.c

areaSCopy,code,readonlyentryexportstrcopyldrbr2,[r1],#1strbr2,[r0],#1cmpr2,#0bnestrcopymovpc,lrend#include<stdio.h>externvoidstrcopy(char*d,constchar*s);intmain(void){ constchar*srcstr=“Firststring-souce“;chardststr[]=“Secondstring-destination“;printf(“Beforecopying:\n“);printf(“ %s\n %s\n“,srcstr,dststr);strcopy(dststr,srcstr);5printf(“Aftercopying:\n“);printf(“ %s\n %s\n“,srcstr,dststr);return(0);}运行截图:而且结果也能出来。续ARMLinkerImagee

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论