about summary refs log tree commit diff stats
path: root/example/samples/armt.S
diff options
context:
space:
mode:
Diffstat (limited to 'example/samples/armt.S')
-rw-r--r--example/samples/armt.S27
1 files changed, 27 insertions, 0 deletions
diff --git a/example/samples/armt.S b/example/samples/armt.S
new file mode 100644
index 00000000..c50075a6
--- /dev/null
+++ b/example/samples/armt.S
@@ -0,0 +1,27 @@
+memcpy:
+     PUSH    {R0-R3, LR}
+     B       test_end
+loop:
+     LDRB    R3, [R1]
+     STRB    R3, [R0]
+     ADDS    R0, R0, 1
+     ADDS    R1, R1, 1
+     SUBS    R2, R2, 1
+test_end:
+     CMP     R2, 0
+     BNE     loop
+     POP     {R0-R3, PC}
+main:
+     PUSH    {LR}
+     SUB     SP, 0x100
+     MOV     R0, SP
+     ADD     R1, PC, mystr-$+6
+     MOV     R0, R0
+     EORS    R2, R2
+     ADDS    R2, R2, 0x4
+     BL      memcpy
+     ADD     SP, 0x100
+     POP     {PC}
+
+mystr:
+.string "toto"