Во всех примерах в файле Cstartup.s79:
FIQ_Handler_Entry:
;- Switch in SVC/User Mode to allow User Stack access for C code ; because the FIQ is not yet acknowledged
;- Save and r0 in FIQ_Register mov r9,r0 ldr r0 , [r8, #AIC_FVR] msr CPSR_c,#I_BIT | F_BIT | ARM_MODE_SVC
;- Save scratch/used registers and LR in User Stack stmfd sp!, { r1-r3, r12, lr}
;- Branch to the routine pointed by the AIC_FVR mov r14, pc bx r0
;- Restore scratch/used registers and LR from User Stack ldmia sp!, { r1-r3, r12, lr}
;- Leave Interrupts disabled and switch back in FIQ mode msr CPSR_c, #I_BIT | F_BIT | ARM_MODE_FIQ
;- Restore the R0 ARM_MODE_SVC register mov r0,r9
;- Restore the Program Counter using the LR_fiq directly in the PC subs pc,lr,#4
|