.global main, Stop, CodeEnd, DataStart, DataEnd .global a, b, c .data DataStart: a: .4byte 4 // a initialized with the value 4 .align 2 b: .4byte 5 // b initialized with the value 5 .align 2 c: .byte -44 // c is not initialized DataEnd: .text main: movw r0, #:lower16:c // Moves the address of memory movt r0, #:upper16:c // variable a into register r0 ldrsb r1,[r0] movw r0, #:lower16:a // Moves the address of memory movt r0, #:upper16:a // variable a into register r0 str r1,[r0] // Load int value from a into r1 Stop: CodeEnd: nop .end