11.如何用带PSR操作的批量字数据加载指令实现IRQ中断的返回
答:见教材例4-31 在进入IRQ中断处理程序时,首先计算返回地址,并保存相关的寄存器 SUB R14,R14,#4 ; STMFD R13!, {R0-R3, R12, LR} ;
如果IRQ中断处理程序返回到被中断的进程则执行下面的指令。该指令从数据栈中恢复寄存器 R0~R3 及R12的值,将返回地址传送到 PC中并将SPSR_irq值复制到 CPSR中 LDMFD R13!, {R0-R3, R12, PC}^
12.用ARM汇编语言编写代码,实现将ARM处理器切换到用户模式,并关闭中断。 .equ User_Mode, 0x10
.equ Mode_Mask 0x1F .equ NOINT, 0xC0 MRS R0, CPSR @ BIC R0, R0, #Mode_Mask
ORR R1, R0, #User_Mode | NOINT @ MSR CPSR_cxsf, R1 @
修改
进入用户模式
读 CPSR
《ARM嵌入式系统结构与编程》习题答案
11.如何用带PSR操作的批量字数据加载指令实现IRQ中断的返回答:见教材例4-31在进入IRQ中断处理程序时,首先计算返回地址,并保存相关的寄存器SUBR14,R14,#4;STMFDR13!,{R0-R3,R12,LR};如果IRQ中断处理程序返回到被中断的进程则执行下面的指令。该指令从数据栈中
推荐度:
点击下载文档文档为doc格式