嵌入式期末复习题目
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章复习题目
1. 存储一个 32位数0x876165至U 2000H 〜2003H 四个字节单
元中,若以小端模式存
储,则2000H 存储单元的内容为(C )。
A 、0x00
B 、0x87
C 、0x65
D 、0x61
2. 存储一个32位数0x2168465到2000H 〜2003H 四个字节单
元中,若以大端模式存储,则2000H 存储单元的内容为(D )
A 0x21
B 、 0x68
C 、 0x65
D 、 0x02
3. 若 R 仁2000H (2000H)=0x86 , (2008H)=0x39,则执行指令 LDR R0, [R1 ,# 8] !后 R0 的值为(D )。
〃数据存储格式有两种:
C1)大端模式;较高的
有效字节存放在较低的
存储器地址,较低的冇 效字节存放在较高的存 储器ffiht.
'■L
L 童 15-
7.
7
q -J
iF
----- ■ — ---- (2)小端模式:较高的
有效字节存放在较高的
存储器地址,较低的有 效字节存放在较低的存 储器地址。
A. 0x2000
B. 0x86
C. 0x2008
D.0x39
52-: +S5ISSS
壬亍电工:•訂
丄
大鶴存雷模戏
小诵存储侯式(默认)
4丄DR R2 , [R3,#128] 的寻址方式是(C )
A.寄存器寻址
B.寄存器移位
C.变址寻址
D.间接寻址
異址寻址就是将命存器(该寄存器一般称作基址寄存器)
内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址。变址寻址方式常用于访问某棊地址附近的地址单元。
例如指令:
LDR R0,[Rl,**8];RO—[Rl + 8]
LDR R0,[R1,#8]!:RO^-|R1 + 8|,Rl^Rl+8
r.DR RO,|Rl],#2:RO^-[R1 |, R1—KI +2
i LDR R0>|R1,R2];RO—[R1+R2]
5.若一条分支指令为 B next , next为偏移量,其值等于
0x000080 ,该指令在存储器存储单元的地址若为
0x00000018,那么该指令执行后,将转移到地址为_________ 处接着执行。
A.0x00000080
B.0x00000088
C.00000098
D.0x000000A0
6.A RM微处理器既可以访问字节,即一次读/写8位二进制数据,也可以访问字,即一次读写32位二进制数,下面可以
作为字地址的是 __________ 。
A.0x30008233
B.0x30008232
C.0x30008231
D.0x30008230
5.B xxxx是无条件转移指令,无条件转移指令转移地址计算公式是:目标地址=指令地址+8+偏移量;所以目标地址
=0X00000018+8+0x000080=0x000000A0。
6.一个字32位,占四个字节,如何保证字不错位,要求字
地址是四的整倍数,该题只有0x30008230是四的整倍数,
那么要求字节与字都能访问,只有选择0x30008230,顺便说一下,字节任何地址都可以
第三章指令类型复习题目
1、多寄存器存储指令STMFCBP![R0-R12,R14]完成了把存储器
R0到R12,以及寄存器R14进行压栈保护功能。若带链接的分支指令在执行后转移到此STM指令处,那么若要返回分
支处,用一条什么指令来实现?为什么?
多寄存器加载/存储指令可以实现在一组寄存器和一块 连续的内存单元之间传输数据。LDM 为加载多个寄存器;STM 为在储多个寄存器外允许一条指令传送16个寄存器的任何子 集或所有寄存器.它们主要用于现场保护、数据复制.常数 传递等。
装载抬令: TDM
淤別出”目标寄存曙卯厂
L ------ E --------- : ----- ! ----------------
目标寄存器1
z
I 目标寄存器n
存储器
存储抬令:门M
环尿地址,源4存号列丟 _ 、
源寄存器1
目标地址
源寄存器B
J
疇访问指令
.名击石 IA : 每次传送后地址加4 一IB :毎次传送前
地址加斗 DA :每次传i 盖后地址减斗
DB :毎2欠传送前地址彳咸4
LDMl A KI!, {R2 R4, R6}
椅忧1 向的内存散拥读取^IRO-Kd 和1?"昔存器中
访问指令
■多寄存器存取
R6 0x04 - R4 0x03 - R3
0x02
0x01
R1 0x40000000
-0x04 0x400仃0OOU
0x03 0x40000008 -0x02
0x40000004
0x01 Ox IOOOOO(XJ ■
应用示例:
2、ARM9微处理器的指令MOV R3 #ox81,ROR #31完成的是给R3寄存器赋予一个数值,经过这条指令的运算后R3寄存器的值是多少?为什么?