嵌入式_实验报告实验一

嵌入式_实验报告实验一

ID:1335120

大小:286.00 KB

页数:5页

时间:2017-11-10

嵌入式_实验报告实验一_第1页
嵌入式_实验报告实验一_第2页
嵌入式_实验报告实验一_第3页
嵌入式_实验报告实验一_第4页
嵌入式_实验报告实验一_第5页
资源描述:

《嵌入式_实验报告实验一》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、嵌入式系统实验报告实验名称:汇编指令实验2 班级:姓名:学号:实验地点:日期:一、实验目的:1.掌握ARM数据处理指令的使用方法;2.了解ARM指令灵活的第2个操作数。二、实验环境:硬件:PC机一台软件:Windows98/XP/2000系统,ADS1.2集成开发环境三、实验内容和要求:1.使用MOV和MVN指令访问ARM通用寄存器;2.使用ADD、SUB、AND、ORR、CMP、TST等指令完成数据加减运算及逻辑运算。四、实验步骤:1.启动ADS1.2,使用ARMExecutableImage工程模板建立一个工程Instruction2。2.建立汇编源文件TEST3.S

2、,编写实验程序,然后添加到工程中。3.设置工程连接地址ROBase为0x40000000,RWBase为0x40003000。设置调试入口地址Imageentrypoint为0x40000000。4.编译连接工程,选择【Project】->【Debug】,启动AXD进行软件仿真调试。5.打开寄存器窗口(ProcessorRegisters),选择Current项监视各寄存器的值。6.单步运行程序,观察寄存器值的变化。五、实验结果与分析(含程序、数据记录及分析和实验总结等):XEQU11;定义X的值为11YEQU8;定义Y的值为8BIT23EQU(1<<23);定义BIT2

3、3的值为0x00800000AREAExample3,CODE,READONLY;声明代码段Example3ENTRY;标识程序入口CODE32;声明32位ARM指令START;使用MOV、ADD指令实现:R8=R3=X+YMOVR0,#X;R0<=X,X的值必须是8位图数据MOVR1,#Y;R1<=Y,Y的值必须是8位图数据ADDR3,R0,R1;即是R3=X+YMOVR8,R3;R8<=R3;使用MOV、MVN、SUB指令实现:R5=0x5FFFFFF8-R8*8MVNR0,#0xA0000007;0xA0000007的反码为0x5FFFFFF8SUBR5,R0,R8

4、,LSL#3;R8左移3位,结果即是R8*8;使用CMP指令判断(5*Y/2)>(2*X)吗?若大于则R5=R5&0xFFFF0000,否则R5=R5

5、0x000000FFMOVR0,#YADDR0,R0,R0,LSL#2;计算R0=Y+4*Y=5*YMOVR0,R0,LSR#1;计算R0=5*Y/2MOVR1,#XMOVR1,R1,LSL#1;计算R1=2*XCMPR0,R1;比较R0和R1,即(5*Y/2)和(2*X)进行比较LDRHIR2,=0xFFFF0000;若(5*Y/2)>(2*X),则R2<=0xFFFF0000ANDHIR5,R5,R2;若(5*Y/2)

6、>(2*X),则R5=R5&R2ORRLSR5,R5,#0x000000FF;若(5*Y/2)≤(2*X),则R5=R5

7、0x000000FF;使用TST指令测试R5的bit23是否为1,若是则将bit6位清零(使用BIC指令)TSTR5,#BIT23BICNER5,R5,#0x00000040BSTARTEND实验截图:六、教师评语:实验成绩:教师:(签名要全称)年月日

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。