您的位置 首页 IC

ARM寻址方法试验

一、实验目的1.理解各种寻址方式:立即数;寄存器;寄存器移位;寄存器间接寻址;变址寻址。2.巩固和提高在ADS环境中用汇编语言进行程…

一、试验意图
1. 了解各种寻址方法:当即数;寄存器;寄存器移位;寄存器直接寻址;变址寻址。
2. 稳固和进步在ADS环境顶用汇编语言进行程序设计的基本技能。

二、试验内容
1. 在ADS下树立工程,并装备开发环境。
2. 创立一个汇编语言源程序,并添加到工程中,对其进行修改、编译和链接。
3. 运用AXD调试程序,调查各种寻址方法的功用。
三、试验进程(exp4_1_1.s)
AREA AddressingMode_1,CODE,READONLY
ENTRY
1) MOV R5,#15
2) MOV R2,#0xC
3) MOV R1,R5
4) ADD R0,R1,R2,LSR #3
5) LDR R4,=0x900600
6) STR R0,[R4]
STR R0,[R4,#4]
STR R0,[R4,#4]!
HERE B HERE
END

1) 写出上述指令的寻址方法
2) 履行下面两条指令,改动***的内容,观看寄存器R1的改变。
MOV R5,#15
MOV R1,R5, *** #1
***的内容如下:
LSL:逻辑左移(Logical Shift Left)
ASL:算术左移(Arithmetic Shift Left)
LSR:逻辑右移(Logical Shift Right)
ASR:算术右移(Arithmetic Shift Right)
ROR:循环右移(Rotate Right)
RRX:扩展为1的循环右移(Rotate Right eXtended by 1 place )

3) MOV R5,#0xFFF编译时是否会犯错?有过错
4) 调查履行 MOV R1,R5和ADD R0,R1,R2,LSR #3指令后相关的寄存器的改变。
4)调查履行LDR R4,=0x900600和STR R0,[R4]指令后,相应的存储器和寄存器的改变。


寄存器 register
存储器 memory
R0 32位 0b 00000000 00000000 00000000 00000010

(8位)
0009 0000 00000010
0009 0001
0009 0002
0009 0003

序号 履行指令 指令履行后的改变状况
寄存器(值用16进制表明) 存储器(值用16进制表明)
R0 R1 R2 R3 R4 R5
MOV R5,#15
0 0 0 0 0 15
MOV R2,#0xC
0 0 12 0 0 15
MOV R1,R5
0 15 12 0 0 15
ADD R0,R1,R2,LSR #3
21 15 12 0 0 15
LDR R4,=0x90000
21 15 12 0 589824 15
STR R0,[R4]
21 15 12 0 589824 15
STR R0,[R4,#4]
STR R0,[R4,#4]!

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/262744.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部