De Alto nivel a Bajo nivel en ensamblador arm

Ejemplo de sumas y restas alto nivel lenguaje C y bajo nivel arm:

x = (a + b) - c;

• En ensamblador ARM:

ADR r4,a ; get address for a LDR r0,[r4] ; get value of a ADR r4,b ; get address for b, reusing r4 LDR r1,[r4] ; get value of b ADD r3,r0,r1 ; compute a+b ADR r4,c ; get address for c LDR r2,[r4] ; get value of c SUB r3,r3,r2 ; complete computation of x ADR r4,x ; get address for x STR r3,[r4] ; store value of x

Ejemplo de sumas y restas en lenguaje C: