2022年实验六ARM数据加载与存储指令实验 .pdf
《2022年实验六ARM数据加载与存储指令实验 .pdf》由会员分享,可在线阅读,更多相关《2022年实验六ARM数据加载与存储指令实验 .pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验六ARM 数据加载与存储指令实验一、实验目的1、熟悉教学ADS 集成开发环境,2、懂得各种ARM 寻址方式,并能自己动手写一些简单小程序。3、能够运行程序并进行简单分析二、实验环境硬件: PC 机一台。软件: Windows98/XP/2000 系统, ADS 集成开发环境。三、预备知识LDR 和 STR用于字和无符号字节指令格式:LDR/STRcondT Rd, LDR/STRcondBT Rd, 指令 LDRcondT Rd, , 加载指定地址的字数据到Rd 中;指令 STRcondT Rd,存储 Rd 中的字数据到指定的地址单元中。LDRcondBT Rd,指令加载指定地址的字节数据
2、到Rd 的的最低字节中 (Rd 的高 24 位清零);STRcondBT Rd,指令存储Rd 中的最低字节数据到指定的地址单元中。T 为可选后缀,若有T,那么即使处理器是在特权模式下,存储系统也将访问看成处理器是在用户模式下,T 在用户模式下无效,不能与前索引偏移一起使用T。地址部分可用的形式有4 种:零偏移 (zero offset) Rn ,Rn 的值作为传送数据的地址。如:LDR R0,R1 ;前索引偏移 (pre-indexed offset) Rn , Flexoffset! 在数据传送之前, 将偏移量 Flexoffset 加到 Rn 中。其结果作为传送数据的存储器地址。若使用后缀
3、“!” ,则结果写回到Rn 中,35 且 Rn 不允许是R15,如:LDRB R0,R1,#8 LDR R0,R1,#8 !程序相对偏移(program relative) label ( label 必须是在当前指令的土4KB 范围内 ) 。程序相对偏移是前索引形式的另一种版本。从 PC 计算偏移量, 并将 PC 作为 Rn 生成前索引指令,不能使用后缀“!” ,如:LDR R0,place ;place 地址装入R0 后索引偏移 (post-indexed offset) Rn ,Flexoffset。在数据传送后,将偏移量Flexoffset 加到 Rn 中,结果写回到Rn, Rn 不允
4、许是 R15,如:LDR R0,R1,R2,LSL 2 ;将存储器地址为R1 的字数据读入寄存器R0,并将新地址R1R24 写入 R1。四、实验内容(1)分析单寄存器操作,并学会简化给出的代码同时实现相同的效果;(2)使用多寄存器操作指令:LDMIA 、STMIA 实验上面单寄存器操作所实现的功能;(3)给出实验所提供的堆栈操作的代码执行过程的详细分析;(4)根据给出的用C 写成的数码管显示,用相应的汇编实现同样功能。五、实验程序(1)单寄存器操作代码如下:AREA Lab1, CODE ENTRY 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
5、- - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - START ADR R1,SRC ADR R2,DST COPY LDR R0,R1 STR R0,R2 ADD R1,R1,#0 x4 ADD R2,R2,#0 x4 LDR R0,R1 STR R0,R2 ADD R1,R1,#0 x4 ADD R2,R2,#0 x4 LDR R0,R1 STR R0,R2 STOP B STOP SRC DCB one small! ALIGN DST DCB three big! END 对以上这段用单寄存器操作实现的代码的分析:功
6、能实现的就是将“one small!”穿送到“ three big!”所在的内存空间,不过因为只是通过单寄存器来实现传送操作的,显得有些繁琐,这里是加一次数据,在分别给2 个寄存器加地址,一共写了3 段相同的代码才完成,下面我对这段不断重复的代码:LDR R0,R1 ;STR R0,R2 ;ADD R1,R1,#0 x4 ;ADD R2,R2,#0 x4 加以修改,使用两条指令实现与上面代码相同的功能操作:简化如下:指令一:LDR R0,R1 ,#0 x4;指令二: STR R0,R2 ,#0 x4。(2)多寄存器操作实验尽管前一个实验在完成后,对繁琐的蛋寄存器操作加以简化,提高了一点效率,但
7、是这是在寄存器之间传递数据,那么就有了更加高效的方法来实现相同的功能。那就是使用多寄存器操作指令: LDMIA 、STMIA 实验上面代码的功能。下面我给出了给出完整的代码实现:AREA Lab1, CODE ENTRY START ADR R1,SRC ADR R2,DST COPY LDMIA R1!,R3,R4,R5 STMIA R2!,R3,R4,R5 STOP B STOP SRC DCB one small! ALIGN DST DCB three big! END 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年实验六ARM数据加载与存储指令实验 2022 实验 ARM 数据 加载 存储 指令
限制150内