电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

实验九 ARM数据处理指令数据加载存储指令实验VIP免费

实验九 ARM数据处理指令数据加载存储指令实验_第1页
1/10
实验九 ARM数据处理指令数据加载存储指令实验_第2页
2/10
实验九 ARM数据处理指令数据加载存储指令实验_第3页
3/10
实验九ARM数据处理指令/数据加载存储指令实验1、实验目的掌握基本的数据处理指令使用方法,并能够完成简单的数据处理操作学会使用条件码标志掌握基本的单寄存器传送指令和多寄存器传送指令的使用方法2、实验内容任务一:ARM运算指令的使用(1)请按以前实验要求创建项目,并添加exp5_1_1.s源文件,文件内容如下,要求补充完整代码:(2)然后再通过单步运行程序,观察相关寄存器和存储器相应地址上的值的变化情况,核对程序的准确性。任务二:利用数据处理指令实现位处理(1)在项目中删除exp5_1_1.s,并添加exp5_2_1.s源文件,文件内容如下,同样要求补充完整代码,目的在于将0x3FC0的第4-11位用0xDD替换,即变成0x3DD0:(2)然后阅读代码手工计算每一步的执行结果,并填入表1中(注意只需完成START部分的代码即可)。完成后再通过单步运行程序,观察相关寄存器和存储器相应地址上的值的变化情况,核对和之前你在表上填的值是否一致。执行File->ReloadCurrentImage命令可以重新加载和运行当前映像文件。表1exp5_2_1.s单步运行结果序号执行指令指令执行后的变化情况(用十六进制表示)寄存器R1R2R3R150------0x00x00x00x800010x3FC00x00x00x800420x3FC00XFF00x00x800830x3FC00XFF00xDD0x800C40x30000Xff00xDD0x801050x30000Xff00xdd00x801460x3dd00xff00xdd00x8018任务三:乘法指令的使用(1)在项目中删除exp5_2_1.s,并添加exp5_3_1.s源文件,文件内容如下,同样要求补充完整代码:(2)然后阅读代码手工计算每一步的执行结果,并填入表2中(注意只需完成START部分的代码即可)。完成后再通过单步运行程序,观察相关寄存器和存储器相应地址上的值的变化情况,核对和之前你在表上填的值是否一致。执行File->ReloadCurrentImage命令可以重新加载和运行当前映像文件。表2exp5_3_1.s单步运行结果序号执行指令指令执行后的变化情况(用十六进制表示)寄存器R0R1R2R3R4R5R6R7R8R9R10R150-----0x00x00x00x00x00x00x00x00x00x00x00x800010x3F0x800420x3F0x3D0x800830x3F0x3D0Xff0000000x800c40x3f0x3d0xff0000000x3fc00x801050x3f0x3d0xff0000000x3fc00xf030x801460x3f0x3d0xff0000000x3fc00xf420x801870x3f0x3d0xff0000000x3fc00x400000000x801c80x3f0x3d0xff0000000x3fc00x400000000x3f800x802090x3f0x3d0xff0000000x3fc00x400000000xffffffc00x8024任务四:ARM单寄存器传送指令的使用(1)在项目中删除exp5_3_1.s,并添加exp6_1_1.s源文件,文件内容如下:程序解读:程序的功能是将存储器SRC处的源数据通过数据传送指令送到DST处代码(2)伪指令ADR是将一个寄存器相关表达式或程序相关表达式的地址存入寄存器,在例子中相当于使R1指向SRC地址,R2指向DST地址,即初始化地址指针;代码(3)DCB的作用是分配一组字节内存并定义其内容为指定字符串,也可以用“=”代替。例如:SRC=“onesmall”DST=“threebig”代码(4)ALIGN的作用是以字边界对齐当前内存段。注:伪指令并不是ARM的汇编语言,没有相应的机器码,它是由汇编器提供的,在程序中的作用是为程序做准备工作。另外,不同的汇编器支持的伪指令可能不同。(2)请先阅读程序,手工计算每一步的执行结果,并填入表3中(注意只需完成START部分的代码即可)。然后再通过单步运行程序,观察相关寄存器和存储器相应地址上的值的变化情况,核对和之前你在表上填的值是否一致。执行File->ReloadCurrentImage命令可以重新加载和运行当前映像文件。表3exp6_1_1.s单步运行结果序号指向指令指令执行后的变化情况寄存器(值用十六进制表示)存储器(值用十六进制表示)R0R1R2PC0x80300x80310x80320x80330x80340x80350x80360x80370x80380x80390--------0x00x00x00x80000x740x680x720x650x650x200x620x690x670x2110x80300x800420x803c0x800830x20656e6f0x800c40x80100x6f0x6e0x650x2050x80340x801460x80400x801870x6c616d730x801c80x80200x730x6d0x610x6c90x80440x8024100x8028110x802c任务五:多寄存器存储/加载指令的使用(1)在项目中删除exp6_1_1.s,并添加exp6_2_1.s源文件,文件内容如下:程序解读:程序的功能是计算给定数组...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

实验九 ARM数据处理指令数据加载存储指令实验

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部