;FPT8.M65›;›ptr1 = $8C›fr0  =  $D4    ; float reg 0›fr1  =  $E0    ; float reg 1›flptr  =  $FC    ; pointer to a fp num›cix    =$F2    ;index          ›inbuff  =  $F3    ; pointer to ascii num›intlbf =$DA51›lbuf = $580;›afp  =  $D800    ;ascii -> float›ifp  =  $D9AA    ; int in fr0 -> float in fr0›fpi  =  $D9D2    ; float in fr0 -> int in fr0›fasc  =  $D8E6    ; fr0 -> (inbuff)›fadd  =  $DA66    ; fr0 + fr1 -> fr0›fsub  =  $DA60    ; fr0 - fr1 -> fr0›fmul  =  $DADB    ; fr0 * fr1 -> fr0›fdiv  =  $DB28    ; fr0 / fr1 -> fr0›;›       .globl _atofp›;atofp(ascii,float)›_atofp:›;›       jsr     popax›       sta     flptr›       stx     flptr+1›       jsr     popax›       sta     inbuff›       stx     inbuff+1›       jsr     addeol›       lda     #0›       sta     cix›       jsr     afp›       jsr     store›       rts›;------------------------------------›       .globl _itofp›;          itofp(int,float)›_itofp:›;›       jsr     popax›       sta     flptr›       stx     flptr+1›       jsr     popax›       sta     fr0›       stx     fr0+1›       jsr     ifp›       jsr     store›       rts›;------------------------------------›       .globl _fptoi›;      int=fptoi(float)›_fptoi:›;›       jsr     popax›       jsr     loadfr0›       jsr     fpi  ›       lda     fr0›       ldx     fr0+1›       jsr     pushax›       rts›;------------------------------------››       .globl _fptoa›;      fptoa(ascii,float)›_fptoa:›       jsr     popax›       jsr     loadfr0›       jsr     popax›       sta     ptr1›       stx     ptr1+1›       lda     #0›       sta     cix›       jsr     intlbf›       jsr     fasc›       ldy     #$FF›       ldx     #$FF›loop2: inx›       lda     lbuf,x›       cmp     #$30›       beq     loop2›       dex›loop:  iny›       inx›       lda     lbuf,x›       sta     (ptr1),y›       bpl     loop›       and     #$7F›       sta     (ptr1),y›       iny›       lda     #0›       sta     (ptr1),y›       rts›;------------------------------------›       .globl _fpadd›;      fpadd(fp a,fp b,fp c)›;              a+b=c›_fpadd:›       jsr     getready›       jsr     fadd›       jsr     store›       rts›;------------------------------------›       .globl _fpsub›;      fpsub(fp a,fp b,fp c)›;              a-b=c›_fpsub:›       jsr     getready›       jsr     fsub›       jsr     store›       rts›;------------------------------------›       .globl _fpmul›;      fpmul(fp a,fp b,fp c)›;              a*b=c›_fpmul:›       jsr     getready›       jsr     fmul›       jsr     store›       rts›;------------------------------------›       .globl _fpdiv›;      fpdiv(fp a,fp b,fp c)›;              a/b=c›_fpdiv:›       jsr     getready›       jsr     fdiv›       jsr     store›       rts›;------------------------------------›getready:›       jsr     popax›       sta     flptr›       stx     flptr+1›       jsr     popax›       jsr     loadfr1›       jsr     popax›       jsr     loadfr0›       rts›;------------------------------------›store:›;›       ldx     #$05›       ldy     #$05›l1:    lda     fr0,x›       sta     (flptr),y›       dex›       dey›       bpl     l1›       rts›;------------------------------------››loadfr0:›       sta     ptr1›       stx     ptr1+1›       ldx     #$05›       ldy     #$05›l2:    lda     (ptr1),y›       sta     fr0,x›       dex›       dey›       bpl     l2›       rts›;------------------------------------›loadfr1:›       sta     ptr1›       stx     ptr1+1›       ldx     #$05›       ldy     #$05›l3:    lda     (ptr1),y›       sta     fr1,x›       dex›       dey›       bpl     l3›       rts›;------------------------------------›addeol›       ldy     #$FF›l4:    iny›       lda     (inbuff),y›       bpl     l4›       lda     #$9B›       sta     (inbuff),y›       rts›;------------------------------------››