Files
2018-01-27 22:35:41 +09:00

18 lines
265 B
ArmAsm

/ C floating mod
/ fmod(a,b) returns a number n such that
/ i*b + n is a and 0 <= n < b
.globl _fmod
_fmod:
mov r5,-(sp)
mov sp,r5
movf 4(r5),fr0
divf 12.(r5),fr0
modf $one,fr0
mulf 12.(r5),fr1
movf 4(r5),fr0
subf fr1,fr0
mov (sp)+,r5
rts pc
one = 40200