Texts: Task: Write an ARM Assembly Language program that copies a string (or a sequence of bytes) from one location to another. When making the copy, the program has to convert each lowercase character (alphabetic character) from lowercase to uppercase.
Hint: Use the program below to start:
AREA RESET, DATA, READONLY
EXPORT Vectors
vectors DCD 0x20001000 ; stack pointer value when stack is empty
DCD Reset_Handler ; reset vector
ALIGN
AREA MYCODE, CODE, READONLY
ENTRY
EXPORT Reset_Handler
Reset_Handler
NOP ; entry point must be an instruction
DATA
strings
stringsCopy ; DATA is ignored anyway
DCB "Hello world", SPACE 11
CODE32
ADR R0, strings
ADR R1, stringsCopy
MOV R2, #1e ; number of characters minus 1
MOV R3, #0
copyloop
LDRB R5, [R0, R3]
STRB R5, [R1, R3]
ADD R3, R3, #1
CMP R3, R2
BNE copyloop
NOP
STOP
B STOP
END ; end of the program