blob: d719799b08b7402ecc7f094069fd86a169a499b1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
AREA StrCopy1, CODE
ENTRY ; mark the first instruction
main
ADR r1, srcstr ; pointer to first string
ADR r0, dststr ; pointer to second string
BL strcopy ; copy the first into second
SWI 0x11 ; and exit
srcstr DCB "This is my first (source) string",0
dststr DCB "This is my second (destination) string",0
ALIGN ; realign address to word boundary
strcopy
LDRB r2, [r1], #1 ; load byte, then update address
STRB r2, [r0], #1 ; store byte, then update address
CMP r2, #0 ; check for zero terminator
BNE strcopy ; keep going if not
MOV pc, lr ; return
END
|