aboutsummaryrefslogtreecommitdiff
path: root/newasm/string.s
blob: c1dad1cfa2af831007e22ebce1f42e75049cb38f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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