当前位置:首页 > 嵌入式系统(第二版)第一至第五章课后答案
ADR R0,DISP_TAB ;加载转换表地址
LDRB R1,[R0,R2] ;使用R2作为参数,进行查表 ??
DISP_TAB
DCB 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90
程序清单4.7中等范围地址的加载
??
ADR LR,RETURNI
ADRL R1,Thumb_sub+1 BX R1
RETURNI ??
CODE 16 Thumb_sub
MOV R1,#10 ??
程序清单4.8加载32位立即数
??
LDR R0,=IOPIN ;加载GPIO的寄存器IOPIN的地址 LDR R1,[R0] ;读取IOPIN寄存器的值
??
LDR R0,=IOSET LDR R1,=0x00500500
STR R1,[R0] ;IOSET=0x00500500
??
程序清单4.9软件延时
??
DELAYI
NOP NOP NOP
SUBS R1,R1,#1 BNE DELAYI ??
程序清单4.10 ARM到Thumb的状态切换 ;文件名:TEST8.S
;功能:使用BX指令切换处理器状态 ;说明:使用ARMulate软件仿真调试
AREA Example8,CODE,READONLY ENTRY CODE32
ARM_CODE ADR R0,THUMB_CODE+1
BX R0 ;跳转并切换处理器状态 CODE16
THUMB_CODE
MOV R0,#10 ;R0=10 MOV R1,#20 ;R1=20 ADD R0,R1 ;R0=R0+R1 B END
第一章 思考与练习
(③)不是常规意义上的嵌入式系统。P6 ①手机②MP3 ③PC机④数码相机
可用作嵌入式操作系统的有(①)
①Linux(Vxworks,uc/os-II)②windows2000 ③windowsXP ④DOS
什么叫嵌入式系统 p7 第二章
嵌入式系统项目开发生命周期的阶段没有(④) p4、5 ① 识别需求②提出方案③执行项目④系统规划
第三章
ARM7TDMI中的T、D、M、I的含义是什么?p22
不属于ARM7三级流水线的是(③)p24 ① 取指②译码③PC值递增④执行
对于ARM7三级流水线,当一条指令被译码时,上一条指令正被(④)p24 ①取指②译码③PC值递增④执行
对于ARM7三级流水线,当一条指令被译码时,下一条指令正被(①)p24 ①取指②译码③PC值递增④执行
ARM7TDMI采用三级流水线?采用冯.诺依曼体系结构。
ARM7有(两种)处理器状态,分别是(ARM)状态和(Thumb)状态。P30
ARM7有(7种)处理器模式,分别是(用户)、(快中断)、(中断)、(管理)、(中止)、(未定义)、(系统模式),其中5种异常模式是(快中断)、(中断)、(管理)、(中止)、(未定义)模式。P42~p44
(用户模式)是正常程序工作模式,特点是不能(直接)切换到其它模式。 (管理模式)是“操作系统保护代码”,复位和软中断响应时进入此模式。
系统模式用于支持操作系统的(特权)任务等,与用户模式类似,但可以(直接)切换到其它模式。
在ARM7 (37)个用户可见寄存器中,有(6)个状态寄存器,(31)个通用寄存器。程序计数器PC是(R15),程序状态寄存器是(CPSR),链接寄存器LR是(R14),堆栈指针SP是(R13)。P47~p49
CPSR有若干控制位和若干条件代码标志构成:T为0 表示处理器工作在(ARM状态). p80~p87
CPSR有若干控制位和若干条件代码标志构成:N为1表示前次运算结果(为负)。 CPSR有若干控制位和若干条件代码标志构成:Z为1表示前次运算结果(为零)。
CPSR有若干控制位和若干条件代码标志构成:C为1表示前次运算产生了(进位/借位)。 CPSR有若干控制位和若干条件代码标志构成:V为1表示前次运算(溢出)。 若前次运算结果为负数,则CPSR的(①)为1 ①N ②Z ③C ④V
若前次运算结果为零,则CPSR的(②)为1
①N ②Z ③C ④V
若前次运算产生了进位/借位,则CPSR的(③)为1 ①N ②Z ③C ④V
若前次运算溢出,则CPSR的(④)为1 ①N ②Z ③C ④V
欲使处理器禁止快中断,则应该使(①)
① CPSR的F位为1 ②CPSR的F位为0 ③CPSR的I位为1 ④CPSR的I位为0 欲使处理器禁止中断,则应该使(③)
CPSR的F位为1 ②CPSR的F位为0 ③CPSR的I位为1 ④CPSR的I位为0
异常复习 p3~p12
子程序的最后一条指令必须是(①)P3
①MOV PC,R14 ②MOV PC,R14_und ③SUBS PC,R14_fig,#4 ④SUBS PC,R14_irg,#4 中断服务程序的最后一条指令必须是(④)P3
①MOV PC,R14 ②MOV PC,R14_und ③SUBS PC,R14_fig,#4 ④SUBS PC,R14_irg,#4 快中断服务程序的最后一条指令必须是(③)
①MOV PC,R14 ②MOV PC,R14_und ③SUBS PC,R14_fig,#4 ④SUBS PC,R14_irg,#4 P3 ARM7处理器响应中断时,处理器硬件修改PC为(③)p22 ①0x00000000 ②0x00000000 ③0x00000018 ④0x0000001C ARM7处理器响应快中断时,处理器硬件修改PC为(④) ①0x00000000 ②0x00000000 ③0x00000018 ④0x0000001C 外部设备向处理器发出中断请求,处理器进入(②)异常。 ①快中断②中断③未定义指令④预取中止
ARM7处理器收到快中断请求,则进入(①)异常。 ①快中断②中断③未定义指令④预取中止
第四章
ARM7的寻址方式有(④)种。P6 ① 6 ②7 ③8 ④9
条件码复习 p35~p36
使用指令条件码可实现高效的逻辑操作,提高代码效率。指令条件码表如表4.1所列。 指令条件码表 操作码 0000 0001 1000 1001 条件码助记符 EQ NE HI LS 标志 Z=1 Z=0 C=1,Z=0 C=0,Z=1 含义 相等 不相等 无符号数大于 无符号数小于或等于 ARM指令的条件码的作用是满足了(条件)则执行指令。
P39~p41
处理器从存储器读数据的指令(加载指令)的助记符是(①)
①LDR ②STR ③SWP ④SWPB
处理器往存储器写数据的指令(存储指令)的助记符是(①) ①LDR ②STR ③SWP ④SWPB
将R0+0x12地址处的数据读出,保存到R1中
LDR R1,[R0,#0x12] 将R1中数据保存到R0+0x12地址处
STR R1,[R0,#0x12]
将R0-0x12地址处的数据读出,保存到R1中
LDR R1,[R0,-#0x12] 将R1中的数据保存到R0-0x12地址处
STR R1,[R0,-#0x12]
将R0+R2地址处的数据读出,保存到R1中
LDR R1,[R1,R2]
将R1中数据保存到R0+R2地址处
STR R1,[R1,R2]
将R0-R2地址处的数据读出,保存到R1中
LDR R1,[R0,-R2]
将R1中的数据保存到R0-R2地址处
STR R1,[R0,-R2]
P60~p62
数据传送指令的助记符是(①)。 ① MOV ②SBC ③ADD ④SUB 代进位加法指令的助记符是(①) ①ADC ②SBC ③ADD ④SUB 代借位减法指令的助记符是(②) ①ADC ②SBC ③ADD ④SUB 求R1+R2,和放在R1中
ADD R1,R1,R2 求R1-R2,差放在R1中
SUB R1,R1,R2
求R4R3-R2R1,差放在R6R5中 SUBS R5,R3,R1 SBC R6,R4,R2
求R4R3+R2R1,和放在R6R5中 ADDS R5,R3,R1 ADC R6,R4,R2 求R4R3-1,差放在R6R5中 SUBS R5,R3,#1 SBC R6,R4,#0
求R4R3+1,和放在R6R5中 ADDS R5,R3,#1 ADC R6,R4,#0
共分享92篇相关文档