//====================================================================== .text .thumb .syntax unified .global average, sum_tab //----------------------------------------------------------------------- average: push {r4-r5,lr} mov r4,r1 bl sum_tab sdiv r0,r0,r4 pop {r4-r5,pc} //----------------------------------------------------------------------- sum_tab: push {r4-r5,lr} mov r4,#0 // R3 <- 0 LOOP: ldr r5,[r0] // val <- tab[R2] 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 pop {r4-r5,pc} //======================================================================