实验二_arm汇编语言程序设计

实验二_arm汇编语言程序设计

ID:6165470

大小:132.50 KB

页数:5页

时间:2018-01-05

实验二_arm汇编语言程序设计_第1页
实验二_arm汇编语言程序设计_第2页
实验二_arm汇编语言程序设计_第3页
实验二_arm汇编语言程序设计_第4页
实验二_arm汇编语言程序设计_第5页
资源描述:

《实验二_arm汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验二ARM汇编语言程序设计实验目的1、了解ARM汇编语言程序的结构特点2、了解ARM汇编语言程序的编写方法3、掌握用ARM汇编语言设计简单程序实验仪器设备及软件ARM实验箱,计算机,ADS程序开发软件实验原理1、存储空间的格式ARM920将存储空间视为从0开始由字节组成的线性集合,字节0-3中保存了第一个字,字节4-7中保存了第二个字,依此类推。字节还可以按小端格式或大端格式排列。ARM实验箱中存储器的配置见附录C。2、ARM的寄存器ARM状态下任何时刻都可以看到16个通过寄存器(r0-r15),1或2个状态寄存器(C

2、PSR,SPSR),在特权模式下会切换到具体模下的寄存器组。每个寄存器都是32位的,并且每个通用寄存器都可以作为数据处理的源数据或目标数据寄存器。因此可以编写出更精简的程序。3、ARM指令的条件执行状态寄存器中的N,Z,C,V是数据处理指令影响的标志。几乎每条ARM指令可以根据状态位或状态位的逻辑运算有条件执行。条件执行的指令后缀参考教材。4、桶形移器ARM的桶形移位器,使ARM指令的中第二个操作数非常录活。利用移位器,一条ARM指令可以完成更多功能。移位操作有:LSL逻辑左移LSR逻辑右移ASL算术左移ASR算术右移R

3、OR循环右移RRX带扩展循环右称实验内容1、把内存中ramaddr开始的ramword个字清零(1)用后变址法ramaddrequ0x31000000ramwordequ64clrrammovr0,#0movr1,#ramwordldrr2,=ramaddrclrram1strr0,[r2],#4subsr1,r1,#1bneclrram1movpc,lrLTORG(2)用前变址法clrrambakmovr0,#0movr1,#ramwordldrr2,=ramaddr-4clrram2strr0,[r2,#4]!sub

4、sr1,r1,#1bneclrram2movpc,lrLTORG2、把寄存器中,r0-r12的32位无符号32位数进行求和,和的低32位保存在r1中,高32位保存在r0中。add13baddsr1,r0,r1movr0,#0adcr0,r0,#0addsr1,r1,r2adcr0,r0,#0addsr1,r1,r3adcr0,r0,#0。。。。。。。。。。。。movpc,lr以上程序在主程序完成初始化后调后。打开寄存器,内存窗口等,观察程序执行前后的变化,及执行过程中的一些状态,并记录。实验步骤1、打开超级终端2、打开H

5、-JTAG,搜索ARM,3、在D:ARMarm2中打开asm2.mcp文件进入metrowerkscodeWarriorforARMDeveloperSuiteV1.2中,点击Debug开始编译。4、编译成功后进入AXD环境中,要先将超级终端进入Vivi环境中,再点击options,并点击configureTarget,进行设置。点击Add添加C:ProgramFiles中点击H-JTAG文件夹中打开H-JTAG.dll。然后点击OK。5、在2410INT.S文件中设置断点(位置“;//呼叫主应用程序bMain”

6、),然后点击ProcessorViews,选择Register和Memory两个。单步执行时跳入aa.s文件。在MemoryStartaddress中输入0x31000000.此时,进行清零把0x31000000开始的内存256字节清零。6.单步执行时,可以清楚的看到Memory中每当执行完strr0,[r2],就有四个字节(32位)的数据被清理。直到清零256个字节。7、调试完毕,整理实验箱,并放回原位。实验程序及调试过程实验思考题1、在子程序调用时,子程序的下一条语句的地址保存在哪里?2、编写程序计算r0-r12中1

7、6位二进制无符号数的和,每个寄存器中保存两个16位二进制无符号数。答:1、在子程序调用时,子程序的下一条语句的地址保存在r0=0x310001594

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

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

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