Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- lolevel_handler_irq: sub lr, lr, #4 @ correct return address
- stmia sp, { r0-r12, sp, lr }^ @ store USR registers
- mrs r0, spsr @ get USR CPSR
- stmdb sp!, { r0, lr } @ store USR PC and CPSR
- mov r0, sp @ set high-level C function arg. = SP
- bl hilevel_handler_irq @ invoke high-level C function
- ldmia sp!, { r0, lr } @ load USR mode PC and CPSR
- msr spsr, r0 @ set USR mode CPSR
- ldmia sp, { r0-r12, sp, lr }^ @ load USR mode registers
- movs pc, lr @ return from interrupt
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement