标题:
ARM程序编写习题
[打印本页]
作者:
look_w
时间:
2017-9-24 15:55
标题:
ARM程序编写习题
习题 3.1 ARM7TDMI
有几种寻址方式?
LDR R1,[R0,#0x04]
属于哪种寻址方式?
3.2 ARM
指令的条件码有多少个?默认条件码是什么?
3.3 ARM
指令中第二个操作数有哪几种形式?
3.4
请指出
MOV
指令与
LDR
加载指令的区别及用途
.
3.5 CMP
指令的功能是什么?写一个程序,判断
R1
的值是否大于
0x30
,是则将
R1
减去
0x30
。
3.6
调用子程序是用
B
还是用
BL
指令?请写出返回子程序的指令。
3.7 ARM
状态与
Thumb
状态的切换指令是什么?请举例说明。
3.8 Thumb
状态与
ARM
状态的寄存器有区别吗?
Thumb
指令对哪些寄存器的访问受到一定限制?
3.9 Thumb
指令集的堆栈入栈、出栈指令是哪两条?
3.10
把下面的
C
代码转换成汇编代码。数组
a
和
b
分别存放在以
0x4000
和
0x5000
为起始地址的存储区内,类型为
long
型(
32
位)。
for
(
i=0;i<8;i++
)
{
a
= b[7-i];
}
3.11
编写程序,将
R1
的高
8
位传送到
R2
的低
8
位
3.12
编写一段
64
位加法运算的程序,要求满足:
[R1:R0]+[R3:R2]
,结果存入
[R1:R0]
中
3.13
编写程序将地址
0x0000 1000
到
0x0000 1030
的数据全部搬迁到
0x0000 2000
到
0x0000 2030
的区域中,并将源数据区清零。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0