CM3: add support to the IAR Embedded Workbench(TM) compiler
[bertos.git] / bertos / cpu / cortex-m3 / hw / iar_cm3.S
1   SECTION .text:CODE(2)
2   
3   ; Exported functions
4   EXPORT CPU_READ_IPSR
5   EXPORT irq_running
6   EXPORT asm_switch_context
7   
8   CPU_READ_IPSR:
9         mrs r0, ipsr
10         bx lr
11   
12   irq_running:
13         mrs r0, msp
14         cmp sp, r0
15         ite ne
16         movne r0, #0x0
17         moveq r0, #0x1
18         bx lr
19   
20   asm_switch_context:
21         mrs r12, psp
22         stmdb r12!, {r4-r11, lr}
23         str r12, [r1]
24         ldr r12, [r0]
25         ldmia r12!, {r4-r11, lr}
26         msr psp, r12
27         bx lr
28    END