****                                                                     ****
****     TITOLO .............. FFP.asm                                   ****
****                                                                     ****
**** 	 FUNZIONE ............ fornire una rappresentazione esadecimale  ****
****                           di un numero reale FFP, per riferimenti   ****
****			       rapidi in programmi assembler		 ****
****                                                                     ****
****     SINTASSI [CLI] ...... FFP (segno)(mantissa)E(segno)(esponente)  ****
****                           esempio: FFP -1.1214E-05			 ****
****                                                                     ****
****     AUTORE .............. Alberto Geneletti                         ****
****                           REV. 1.0  giugno 1991                     ****
****                                                                     ****
****     PACKAGE ............. HiSoftDevpac Amiga 2.14                   ****
****                                                                     ****
****     COMPILER OPTION ..... +L (file non eseguibile)                  ****
****                                                                     ****
****     LINKER  COMMAND ..... BLINK ffp LIBRARY Amiga.Lib               ****
****                                                                     ****



        incdir	":include/"

        include	exec/exec_lib.i
        include	libraries/dos_lib.i
        include libraries/dos.i
	
         XREF    _afp

	 XREF    _printf
	 XDEF    _stdout
	 XDEF    _DOSBase

RegList	REG	d2-d7/a2-a6
	movem.l	RegList,-(sp)
	
	subq	#01,d0
	lea     String,a1
loop	move.b	(a0)+,(a1)+
	dbra	d0,loop
	clr.b	-1(a1)

	moveq	#31,d0				
	lea	dos_name(pc),a1
	CALLEXEC OpenLibrary                
	move.l	d0,_DOSBase
      
	CALLDOS Output
	move.l	d0,_stdout

	tst.b	String
	bne	ok

	pea	Info             
	jsr	_printf
	addq.l	#04,sp
	bra	exit

ok	pea	String
	jsr     _afp		
	addq.l   #4,sp		      

	move.l	d0,-(sp)
	pea	Pattern             
	jsr	_printf
	addq.l	#08,sp

exit	move.l _DOSBase,a1
	CALLEXEC CloseLibrary
	movem.l	(sp)+,RegList
	rts


		cnop	0,4

_stdout		dc.l	0
_DOSBase	dc.l	0
dos_name	DOSNAME
String		ds.b	40
Pattern		dc.b	'NumeroFFP = $%lx',10,0
Info		dc.b	'bad args. Sintassi: FFP numero (esempio +1.2134E-05)',10,0
				
