1: / C library-- floating output
   2: 
   3: .globl  pfloat
   4: .globl  pscien
   5: .globl  pgen
   6: .globl  fltused
   7: 
   8: .globl  _ecvt
   9: .globl  _fcvt
  10: .globl  _gcvt
  11: 
  12: fltused:                / force loading
  13: 
  14: pgen:
  15:         mov     r3,-(sp)
  16:         mov     r0,-(sp)
  17:         tst     r2
  18:         bne     1f
  19:         mov     $6,(sp)
  20: 1:
  21:         movf    (r4)+,fr0
  22:         movf    fr0,-(sp)
  23:         jsr     pc,_gcvt
  24:         add     $8+2+2,sp
  25: 1:
  26:         tstb    (r3)+
  27:         bne     1b
  28:         dec     r3
  29:         rts     pc
  30: 
  31: pfloat:
  32:         mov     $sign,-(sp)
  33:         mov     $decpt,-(sp)
  34:         tst     r2
  35:         bne     1f
  36:         mov     $6,r0
  37: 1:
  38:         mov     r0,-(sp)
  39:         mov     r0,ndigit
  40:         movf    (r4)+,fr0
  41:         movf    fr0,-(sp)
  42:         jsr     pc,_fcvt
  43:         add     $8+2+2+2,sp
  44:         tst     sign
  45:         beq     1f
  46:         movb    $'-,(r3)+
  47: 1:
  48:         mov     decpt,r2
  49:         bgt     1f
  50:         movb    $'0,(r3)+
  51: 1:
  52:         mov     r2,r1
  53:         ble     1f
  54: 2:
  55:         movb    (r0)+,(r3)+
  56:         sob     r1,2b
  57: 1:
  58:         mov     ndigit,r1
  59:         beq     1f
  60:         movb    $'.,(r3)+
  61: 1:
  62:         neg     r2
  63:         ble     1f
  64: 2:
  65:         dec     r1
  66:         blt     1f
  67:         movb    $'0,(r3)+
  68:         sob     r2,2b
  69: 1:
  70:         tst     r1
  71:         ble     2f
  72: 1:
  73:         movb    (r0)+,(r3)+
  74:         sob     r1,1b
  75: 2:
  76:         rts     pc
  77: 
  78: pscien:
  79:         mov     $sign,-(sp)
  80:         mov     $decpt,-(sp)
  81:         mov     r0,-(sp)
  82:         mov     r0,ndigit
  83:         tst     r2
  84:         bne     1f
  85:         mov     $6,(sp)
  86: 1:
  87:         movf    (r4)+,fr0
  88:         movf    fr0,-(sp)
  89:         jsr     pc,_ecvt
  90:         add     $8+2+2+2,sp
  91:         tst     sign
  92:         beq     1f
  93:         movb    $'-,(r3)+
  94: 1:
  95:         cmpb    (r0),$'0
  96:         bne     1f
  97:         inc     decpt
  98: 1:
  99:         movb    (r0)+,(r3)+
 100:         movb    $'.,(r3)+
 101:         mov     ndigit,r1
 102:         dec     r1
 103:         ble     1f
 104: 2:
 105:         movb    (r0)+,(r3)+
 106:         sob     r1,2b
 107: 1:
 108:         movb    $'e,(r3)+
 109:         mov     decpt,r2
 110:         dec     r2
 111:         mov     r2,r1
 112:         bge     1f
 113:         movb    $'-,(r3)+
 114:         neg     r1
 115:         br      2f
 116: 1:
 117:         movb    $'+,(r3)+
 118: 2:
 119:         clr     r0
 120:         div     $10.,r0
 121:         add     $'0,r0
 122:         movb    r0,(r3)+
 123:         add     $'0,r1
 124:         movb    r1,(r3)+
 125:         rts     pc
 126: .data
 127: sign:   .=.+2
 128: ndigit: .=.+2
 129: decpt:  .=.+2

Defined functions

fltused declared in line 6; defined in line 12; used 1 times
  • in line 6
pfloat declared in line 3; defined in line 31; used 3 times
pgen declared in line 5; defined in line 14; used 3 times
pscien declared in line 4; defined in line 78; used 3 times

Defined variables

decpt defined in line 129; used 5 times
ndigit defined in line 128; used 4 times
sign defined in line 127; used 4 times
Last modified: 1979-01-10
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 549
Valid CSS Valid XHTML 1.0 Strict