	opt	 l-
* dec6
        include  OpenDos.i
	include  conout.i

PRINT 	 macro
        movem.l d0-d3/a6,-(sp)
	jsr	_LVOOutput(a6)		;Hole Output-Handle
	move.l	d0,d1			;Ausgabe-Handle
	move.l	\1,d2    		;Address Text
	move.l	\2,d3			;Laenge Text
	jsr	_LVOWrite(a6)		;Funktion "Schreiben"
        movem.l (sp)+,d0-d3/a6
	endm


        move     #123,d2   		 ;Testzahl

	clr	 d4	      ;Flag Nullunterdrueckung
  	lea      buffer,a0    ;Ergbnis-Puffer

        move.l   #10000,d1    ;10000er Stelle. Nun Long!
        move	 #4,d3        ;Schleifenzaehler jetzt 4!
	bra      out2         ;ausgeben

loop	divs	 #10,d1
out1	swap	 d2			;Div.-Rest nach d2.w
out2	and.l	 #$FFFF,d2		;wieder auf Word
        divs     d1,d2			;Stelle holen
	add.b    #'0',d2 		;in ASCII wandeln

	cmp.b	 #'0',d2		;ist es eine Null?
        bne	 out3			;wenn nicht, ausgeben
	tst	 d4			;Blank erlaubt?
	bne	 out3			;nein: gebe Null aus
	move.b	 #' ',d2		;ja  : setze Blank ein
        bra      out4			;      und raus damit
out3	move	 #1,d4			;Flag keine Blanks mehr
out4    move.b   d2,(a0)+		;Zeichen -> Puffer
        dbra     d3,loop
        
	PRINT    #buffer,#5		;Zahl ausgeben

	move.w	 #$0A0A,buffer		;2 Linefeeds
        PRINT    #buffer,#2

        move.l  a6,a1                   ;DOS-Lib-Basis
	move.l  _SysBase,a6		;Basis Exec
        jsr     _LVOCloseLibrary(a6)	;Funktion "Schliessen"

fini	rts				;Return zum CLI


* Datenbereich:

dosname	 dc.b	'dos.library',0
	 cnop	0,2

buffer   ds.b   80
       


