; Fil: I2ASC.ASM Datum: 85-08-30 ; Inskrivet av: Kristoffer Eriksson ; F|r b}da ABC800 och ABC80, ja alla Z80-processorer |ver huvud taget. ;* Skriver talet DE decimalt med ASCII-siffror p} adressen HL. ;* Inledande nollor undertrycks om A=0 vid anrop. ;* I2ASC tar tal upp till 65535, I1ASC upp till 999. ;* A, BC f|rst|rs, HL |kas med antalet siffror. (A blir ej 0). I2ASC: LD BC,-10000 ; Heltal i DE till ASCII-tal vid HL. CALL I.DIGIT LD BC,-1000 CALL I.DIGIT I1ASC: LD BC,-100 CALL I.DIGIT LD BC,-10 CALL I.DIGIT LD A,E JR I.SAVDIG I.DIGIT: PUSH HL EX DE,HL LD E,255 I.L1: ADD HL,BC INC E JR C I.L1 SBC HL,BC AND A ; A {r 0 om inget skrivits ut {n. LD A,E ; Har siffror skrivits ut f|re denna ska EX DE,HL ; {ven denna skrivas oavsett om den {r en POP HL ; nolla eller inte. JR NZ I.SAVDIG AND A RET Z ; [r tecknet en nolla, skrivs det inte ut. I.SAVDIG: OR 48 ; Den sista siffran g}r alltid direkt hit. LD (HL),A INC HL RET