嵌入式作业三

1、请讨论ARM处理器的发生异常时处理器工作模式的变化的情况。当处理器在进行IRQ异常处理时,发生FIQ异常,处理器的工作过程如何?
答:
①:

异常 进入模式
复位异常 管理模式
未定义指令异常 未定义模式
软件中断异常 管理模式
预取终止异常 终止模式
数据终止异常 终止模式
保留 保留
外部中断请求 外部中断请求模式
快速中断请求 快速中断请求模式

②:FIQ比IRQ有更高优先级,如果FIQ和IRQ同时发生异常,那么FIQ先处理。

2、使用一条ARM指令分别实现下面的语句
(1):R0=16 (MOV) MOV R0,#16
(2):R0=R1/16 (寄存器移位寻址、MOV) MOV RO,R1,LSR#4
(3):R1=R2*3 (寄存器移位寻址,RSB) ADD R1,R2,R2,LSL#1
(4):R0= -R0 (用RSB指令实现) RSB R0,R0,#0
(5):ORR指令将R0的低4位置1 ORR R0,R0,#0x0F
(6):R2=R1-R2 ,并影响CPSR标志位 SBC R2,R1,R2
(7):将R2取反,结果存到R1 MVN R1,R2

3、有两个64位的数据分别存放在R2,R1(低32位)和R4,R3(低32位);写汇编语句求这两个64位数据的和。
答:

ADDS R1,R1,R3      ;低32位相加并影响标志位
ADC  R2,R2,R4      ;高32位相加再加上C标志位的反码

你可能感兴趣的:(嵌入式,嵌入式)