Before: 0x2000078c : push {r7} 0x2000078e : sub sp, #20 0x20000790 : add r7, sp, #0 0x20000792 : str r0, [r7, #4] 0x20000794 : mov.w r3, #0 ; 0x0 0x20000798 : str r3, [r7, #12] 0x2000079a : movw r3, #4096 ; 0x1000 0x2000079e : movt r3, #16386 ; 0x4002 0x200007a2 : ldr r3, [r3, #4] 0x200007a4 : str r3, [r7, #12] 0x200007a6 : ldr r3, [r7, #12] 0x200007a8 : bic.w r3, r3, #49152 ; 0xc000 0x200007ac : str r3, [r7, #12] 0x200007ae : ldr r2, [r7, #12] 0x200007b0 : ldr r3, [r7, #4] 0x200007b2 : orr.w r3, r2, r3 0x200007b6 : str r3, [r7, #12] 0x200007b8 : movw r3, #4096 ; 0x1000 0x200007bc : movt r3, #16386 ; 0x4002 0x200007c0 : ldr r2, [r7, #12] 0x200007c2 : str r2, [r3, #4] 0x200007c4 : add.w r7, r7, #20 ; 0x14 0x200007c8 : mov sp, r7 0x200007ca : pop {r7} 0x200007cc : bx lr After (added "i=10;" somwhere in the main): 0x2000079c : push {r7} 0x2000079e : sub sp, #20 0x200007a0 : add r7, sp, #0 0x200007a2 : str r0, [r7, #4] 0x200007a4 : mov.w r3, #0 ; 0x0 0x200007a8 : str r3, [r7, #12] 0x200007aa : movw r3, #4096 ; 0x1000 0x200007ae : movt r3, #16386 ; 0x4002 0x200007b2 : ldr r3, [r3, #4] 0x200007b4 : str r3, [r7, #12] 0x200007b6 : ldr r3, [r7, #12] 0x200007b8 : bic.w r3, r3, #49152 ; 0xc000 0x200007bc : str r3, [r7, #12] 0x200007be : ldr r2, [r7, #12] 0x200007c0 : ldr r3, [r7, #4] 0x200007c2 : orr.w r3, r2, r3 0x200007c6 : str r3, [r7, #12] 0x200007c8 : movw r3, #4096 ; 0x1000 0x200007cc : movt r3, #16386 ; 0x4002 0x200007d0 : ldr r2, [r7, #12] 0x200007d2 : str r2, [r3, #4] 0x200007d4 : add.w r9, r7, #336860180 ;0x14141414 0x200007d8 : lsls r0, r0, #0 0x200007da : lsls r4, r3, #0 0x200007dc : lsls r1, r3, #0