ak3-labs-asm/lab1.S

34 lines
375 B
ArmAsm

.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