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        @ R3 <-- direccion de a
   LDR r0,[r4]     @ R0 <--  contenido de la direccion de memoria apuntada por r4, o sea a 
   ADR r4,b        @ get address for b, reusing r4
   LDR r1,[r4]     @ get value of b
   ADD r3,r0,r1    @ r3 <-- 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        @ address for x
   STR r3,[r4]     @ store value of x

Ejemplo de sumas y restas en lenguaje C: