.syntax unified .cpu cortex-m4 .thumb .global lab1_v1 #define A 0xED76 #define B 0xFA53 #define C 10 lab1_v1: push.n {r0, r1, r2} ldr.n r0, =A ldr.n r1, =B and r0, r1 mov r1, #C mov r2, 1 _fac: mul r2, r2, r1 sub r1, #1 cmp.n r1, #1 bgt _fac add r2, r2, r0, lsr #1 mov r11, r2 pop {r0, r1, r2} mov pc, lr