23 lines
		
	
	
	
		
			542 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
	
		
			542 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
.sect .text; .sect .rom; .sect .data; .sect .bss
 | 
						|
.sect .text
 | 
						|
.define fif4
 | 
						|
fif4:
 | 
						|
	move.l	(4,sp),d1
 | 
						|
	move.l	(8,sp),d0
 | 
						|
	jsr	(Fmuls)		! result in d0
 | 
						|
	jsr	(Fstod)		! convert to double
 | 
						|
	lea	(4,sp),a0	! build stack for modf
 | 
						|
	move.l	a0,-(sp)
 | 
						|
	move.l	d1,-(sp)
 | 
						|
	move.l	d0,-(sp)
 | 
						|
	jsr	(_modf)
 | 
						|
	lea	(12,sp),sp
 | 
						|
	jsr	(Fdtos)		! convert result to single
 | 
						|
	move.l	d0,-(sp)	! save it
 | 
						|
	move.l	(8,sp),d0	! also convert integer part to single
 | 
						|
	move.l	(12,sp),d1
 | 
						|
	jsr	(Fdtos)
 | 
						|
	move.l	d0,(8,sp)	! integer part
 | 
						|
	move.l	(sp)+,d0
 | 
						|
	move.l	d0,(8,sp)	! fraction part
 | 
						|
	rts
 |