/*
 * Aufgabe 4_3.S
 *
 *  Created on: 11.01.2021
 *      Author: Julia Kisela
 */


  .data
 .global datastart
datastart:
variable_a:
.word 0x80000001
.word 0x1

variable_b:
.word 0x80000001
.word 0x1


.text /* Specify that code goes in text segment */
.code 32 /* Select ARM instruction set */
.global _startup /* Specify global symbol */
_startup:

ldr r0, =variable_a
ldr r1, =variable_b
bl add64

ldr r0, =variable_a
ldr r4, [r0], #4
ldr r5, [r0]

stop:
nop
bal stop

add64:
stmfd sp!, {r5-r7, lr}
ldr r5, [r0]
ldr r6, [r1], #4
adcs r5, r6
str r5, [r0], #4 // store value r5 under address r0 and then increment r0 by 4
ldr r5, [r0]
ldr r6, [r1]
adc r5, r6
str r5, [r0]
ldmfd sp!, {r5-r7, pc}

.end

