From ed6f1106322f8ca4a6e26d08365bb9558ffa9d09 Mon Sep 17 00:00:00 2001 From: Jacques Comeaux Date: Wed, 21 Aug 2024 00:21:54 -0500 Subject: Start new assembler --- newasm/string.s | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 newasm/string.s (limited to 'newasm/string.s') diff --git a/newasm/string.s b/newasm/string.s new file mode 100644 index 0000000..c1dad1c --- /dev/null +++ b/newasm/string.s @@ -0,0 +1,32 @@ +.syntax unified +.cpu cortex-m0plus +.thumb + +.type putstr, %function +.type cmpstr, %function + +.global putstr, cmpstr + +putstr: LDR R3, =0x40034000 + MOVS R2, 0x20 +1: LDR R1, [R3, 0x18] + TST R1, R2 + BNE 1b + LDRB R1, [R0] + TST R1, R1 + BEQ 2f + STRB R1, [R3] + ADDS R0, 1 + B 1b +2: BX LR + +cmpstr: MOVS R4, 0 +1: LDRB R2, [R0, R4] + LDRB R3, [R1, R4] + CMP R2, R3 + BNE 2f + CMP R2, 0 + BEQ 2f + ADDS R4, 1 + B 1b +2: BX LR -- cgit v1.2.3