/* * 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