1    .global start
2    .global stack
3    .global reset
4    .global dst_addr
5    .global src_addr
6    .global words
7
8    .text
9    .thumb
10    .align 0
11
12start:
13    ldr     r0, dst_addr
14    ldr     r1, src_addr
15    ldr     r2, words
16    b       check
17
18copy:
19    ldmia   r1!, {r3}
20    stmia   r0!, {r3}
21    sub     r2, #1
22
23check:
24    cmp     r2, #0
25    bne     copy
26
27    @ Fix for SAM-BA stack bug
28    ldr     r0, reset
29    cmp     r0, #0
30    bne     return
31    ldr     r0, stack
32    mov     sp, r0
33
34return:
35    bx      lr
36
37    .align  0
38stack:
39    .word   0
40reset:
41    .word   0
42dst_addr:
43    .word   0
44src_addr:
45    .word   0
46words:
47    .word   0
48