	machine	mc68020
	fpu	1

*******************************************************************************
* name      	 offset
* buf       	 -24
* neg       	 -28
* rest      	 -32
* top       	 -36
* d         	 -44
* args
* str       	 20
* f         	 12
* n         	 8
	xdef	_RealStr
_RealStr
	link	a5,#-44
	clr.l	(-28,a5)
if0
	fmove.d	(12,a5),fp0
	ftst.d	fp0
	fbge	end0
	move.l	#-1,(-28,a5)
end0
	fmove.d	(12,a5),fp0
	fabs.x	fp0
	fmove.d	fp0,(-44,a5)
	fmove.d	(-44,a5),fp0
	fmove.l	fp0,(-36,a5)
	fmove.d	(-44,a5),fp0
	fsub.l	(-36,a5),fp0
	fmove.d	fp0,(-44,a5)
if2
	fmove.d	(-44,a5),fp0
	ftst.d	fp0
	fbge	end2
	subq.l	#1,(-36,a5)
	fmove.d	(-44,a5),fp0
	fadd.w	#1,fp0
	fmove.d	fp0,(-44,a5)
end2
	fmove.d	(-44,a5),fp0
	fmul.l	#1000000000,fp0
	fmove.d	fp0,(-44,a5)
	fmove.d	(-44,a5),fp0
	fmove.l	fp0,(-32,a5)
if4
	fmove.d	(12,a5),fp0
	ftst.d	fp0
	fbge	end4
	move.l	(-36,a5),d0
	neg.l	d0
	move.l	d0,(-36,a5)
end4
	move.l	(-32,a5),-(a7)
	move.l	(-36,a5),d0
	jsr	_Abs		; Abs
	move.l	d0,-(a7)
if6
	tst.l	(-28,a5)
	beq	elseif6_1
	lea	str1,a0
	move.l	a0,-(a7)
	bra	end6
elseif6_1
	clr.l	-(a7)
end6
	lea	str0,a0
	move.l	a0,-(a7)
	lea	(-24,a5),a0
	move.l	a0,-(a7)
	jsr	_StringF		; StringF
	lea	(20,a7),a7
	movea.l	(20,a5),a0
	lea	(-24,a5),a1
	movem.l	a0-a1,-(a7)
	lea	(-24,a5),a0
	jsr	_StrLen		; StrLen
	movem.l	(a7)+,a0-a1
	moveq	#9,d1
	sub.l	d1,d0
	add.l	(8,a5),d0
	jsr	_StrCopy		; StrCopy
RealStrend
	move.l	(20,a5),d0
RealStrfinish
	unlk	a5
	rts
	xref	_Abs
	xref	_StrCopy
	xref	_StringF
	xref	_StrLen
	section	".tocd",data
str0	dc.b	"%s%ld.%09.9ld",0
str1	dc.b	"-",0
