//====================================================================== // VARIABLES GLOBALES .data tab: .word 1,2,3,4,5 resultat: .word 0 //====================================================================== // PROGRAMME .text .thumb .syntax unified .global main, sum_tab main: ldr r0,=tab mov r1,#5 bl sum_tab // Appel fonction sum_tab ldr r1,=resultat str r0,[r1] // resultat <- acc theend: b theend //----------------------------------------------------------------------- sum_tab: mov r4,#0 // R3 <- 0 LOOP: ldr r5,[r0] // val <- tab[R0] add r4,r4,r5 // acc <- acc+val add r0,r0,#4 // R0++ subs r1,r1,#1 // compteur -- bne LOOP // PC <- PC - 12 mov r0,r4 mov pc,lr //======================================================================