more work
This commit is contained in:
parent
0a3db088e1
commit
4b43ddef39
|
|
@ -1,9 +1,6 @@
|
||||||
atof.o atof.s ASM
|
|
||||||
cnvt.o cnvt.c C
|
cnvt.o cnvt.c C
|
||||||
doprnt.o doprnt.c C
|
doprnt.o doprnt.c C
|
||||||
ecvt.o ecvt.s ASM
|
ecvt.o ecvt.s ASM
|
||||||
fltioc.o fltioc.c C
|
fltioc.o fltioc.c C
|
||||||
pow10.o pow10.s ASM
|
|
||||||
stfl.o ???
|
|
||||||
swap.o swap.c C
|
swap.o swap.c C
|
||||||
symscan.o symscan.c C
|
symscan.o symscan.c C
|
||||||
|
|
|
||||||
|
|
@ -169,3 +169,6 @@ setret.o setret.s ASM
|
||||||
decimal.o decimal.s ASM
|
decimal.o decimal.s ASM
|
||||||
readsym.o readsym.c C
|
readsym.o readsym.c C
|
||||||
goodmagic.o goodmagic.c C
|
goodmagic.o goodmagic.c C
|
||||||
|
stfl.o ???
|
||||||
|
pow10.o pow10.s ASM
|
||||||
|
atof.o atof.s ASM
|
||||||
|
|
|
||||||
|
|
@ -3,3 +3,4 @@ malloc.o /z/src/libc/orig_obj/malloc.o differ: char 5, line 1
|
||||||
nlist.o /z/src/libc/orig_obj/nlist.o differ: char 5, line 1
|
nlist.o /z/src/libc/orig_obj/nlist.o differ: char 5, line 1
|
||||||
length.o
|
length.o
|
||||||
readsym.o
|
readsym.o
|
||||||
|
atof.o
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,291 @@
|
||||||
|
! @[$] atof.s 2.1 09/12/83 11:19:34 - 87wega3.2 !
|
||||||
|
|
||||||
|
atof module
|
||||||
|
|
||||||
|
external
|
||||||
|
_pow10 procedure
|
||||||
|
|
||||||
|
internal
|
||||||
|
str1:
|
||||||
|
WORD := %008c
|
||||||
|
WORD := %0054
|
||||||
|
WORD := %0088
|
||||||
|
WORD := %0094
|
||||||
|
WORD := %0098
|
||||||
|
WORD := %009a
|
||||||
|
WORD := %009e
|
||||||
|
WORD := %00ac
|
||||||
|
WORD := %00b6
|
||||||
|
WORD := %00ba
|
||||||
|
WORD := %00be
|
||||||
|
WORD := %00c4
|
||||||
|
WORD := %00ce
|
||||||
|
WORD := %00d0
|
||||||
|
WORD := %00d4
|
||||||
|
WORD := %0114
|
||||||
|
WORD := %004e
|
||||||
|
WORD := %4965
|
||||||
|
WORD := %452e
|
||||||
|
WORD := %2b2d
|
||||||
|
WORD := %3938
|
||||||
|
WORD := %3736
|
||||||
|
WORD := %3534
|
||||||
|
WORD := %3332
|
||||||
|
BYTE := %31
|
||||||
|
str2:
|
||||||
|
BYTE := %30
|
||||||
|
WORD := %0002
|
||||||
|
WORD := %0400
|
||||||
|
WORD := %0006
|
||||||
|
WORD := %0a08
|
||||||
|
WORD := %0e0e
|
||||||
|
WORD := %0e0e
|
||||||
|
WORD := %0e0e
|
||||||
|
WORD := %0e0e
|
||||||
|
WORD := %0e0c
|
||||||
|
WORD := %0002
|
||||||
|
WORD := %0400
|
||||||
|
WORD := %0006
|
||||||
|
WORD := %0000
|
||||||
|
WORD := %0e0e
|
||||||
|
WORD := %0e0e
|
||||||
|
WORD := %0e0e
|
||||||
|
WORD := %0e0e
|
||||||
|
WORD := %0e0c
|
||||||
|
WORD := %1e1e
|
||||||
|
WORD := %1e12
|
||||||
|
WORD := %1210
|
||||||
|
WORD := %1e1e
|
||||||
|
WORD := %0e0e
|
||||||
|
WORD := %0e0e
|
||||||
|
WORD := %0e0e
|
||||||
|
WORD := %0e0e
|
||||||
|
WORD := %0e0e
|
||||||
|
WORD := %1e1e
|
||||||
|
WORD := %1e1e
|
||||||
|
WORD := %1e1e
|
||||||
|
WORD := %1e1e
|
||||||
|
WORD := %1616
|
||||||
|
WORD := %1616
|
||||||
|
WORD := %1616
|
||||||
|
WORD := %1616
|
||||||
|
WORD := %1614
|
||||||
|
WORD := %1e1e
|
||||||
|
WORD := %1e12
|
||||||
|
WORD := %121e
|
||||||
|
WORD := %1e1e
|
||||||
|
WORD := %1616
|
||||||
|
WORD := %1616
|
||||||
|
WORD := %1616
|
||||||
|
WORD := %1616
|
||||||
|
WORD := %1616
|
||||||
|
WORD := %1e1e
|
||||||
|
WORD := %1e1e
|
||||||
|
WORD := %1e1e
|
||||||
|
WORD := %1a18
|
||||||
|
WORD := %1c1c
|
||||||
|
WORD := %1c1c
|
||||||
|
WORD := %1c1c
|
||||||
|
WORD := %1c1c
|
||||||
|
WORD := %1c1c
|
||||||
|
WORD := %1e1e
|
||||||
|
WORD := %1e1e
|
||||||
|
WORD := %1e1e
|
||||||
|
WORD := %1e1e
|
||||||
|
WORD := %1c1c
|
||||||
|
WORD := %1c1c
|
||||||
|
WORD := %1c1c
|
||||||
|
WORD := %1c1c
|
||||||
|
WORD := %1c1c
|
||||||
|
str3:
|
||||||
|
WORD := %414e
|
||||||
|
WORD := %2800
|
||||||
|
global
|
||||||
|
_atof LABEL
|
||||||
|
|
||||||
|
_atofs procedure
|
||||||
|
entry
|
||||||
|
calr __atof
|
||||||
|
flds r6,f0
|
||||||
|
ret
|
||||||
|
end _atofs
|
||||||
|
|
||||||
|
_atofd procedure
|
||||||
|
entry
|
||||||
|
_atof:
|
||||||
|
calr __atof
|
||||||
|
fldd r4,f0
|
||||||
|
ret
|
||||||
|
end _atofd
|
||||||
|
|
||||||
|
__atof procedure
|
||||||
|
entry
|
||||||
|
dec r15,#12
|
||||||
|
ldm @r15,r8,#6
|
||||||
|
ldl rr12,rr6
|
||||||
|
subl rr0,rr0
|
||||||
|
ldl rr2,rr0
|
||||||
|
ldl rr4,rr2
|
||||||
|
ldl rr6,rr4
|
||||||
|
ldl rr8,rr6
|
||||||
|
ldb rh2,#%13
|
||||||
|
dec r13
|
||||||
|
L1:
|
||||||
|
inc r13
|
||||||
|
ldb rl0,@r13
|
||||||
|
cpb rl0,#%20
|
||||||
|
jr z,L1
|
||||||
|
cpb rl0,#%09
|
||||||
|
jr z,L1
|
||||||
|
ld r1,#%0013
|
||||||
|
L6:
|
||||||
|
ldb rl0,@r13
|
||||||
|
inc r13
|
||||||
|
lda r11,str2 !%026d!
|
||||||
|
ld r8,#%0012
|
||||||
|
cpdrb rl0,@r11,r8,z
|
||||||
|
ldb rl1,r11(r1)
|
||||||
|
ld r11,str1(r1) !%023c!
|
||||||
|
jp @r11
|
||||||
|
ldk r8,#3
|
||||||
|
lda r11,str3 !%02ec!
|
||||||
|
cpsirb @r13,@r11,r8,nz
|
||||||
|
jr z,L3
|
||||||
|
L4:
|
||||||
|
ldb rl0,@r13
|
||||||
|
inc r13
|
||||||
|
orb rl0,rl0
|
||||||
|
jr z,L3
|
||||||
|
cpb rl0,#%29
|
||||||
|
jr z,L3
|
||||||
|
rldb rh6,rl6
|
||||||
|
rldb rl6,rh7
|
||||||
|
rldb rh7,rl7
|
||||||
|
bitb rl0,#6
|
||||||
|
jr z,L2
|
||||||
|
incb rl0,#9
|
||||||
|
L2:
|
||||||
|
andb rl0,#%0f
|
||||||
|
orb rl7,rl0
|
||||||
|
jr L4
|
||||||
|
L3:
|
||||||
|
testl rr6
|
||||||
|
jr nz,L5
|
||||||
|
set r6,#6
|
||||||
|
L5:
|
||||||
|
or r6,#%7f80
|
||||||
|
or r6,r3
|
||||||
|
flds f0,r6
|
||||||
|
jr L10
|
||||||
|
ldb rl1,#%49
|
||||||
|
jr L6
|
||||||
|
setb rh3,#7
|
||||||
|
ldb rl1,#%25
|
||||||
|
jr L6
|
||||||
|
ldb rl1,#%25
|
||||||
|
L7:
|
||||||
|
ldb rl0,@r13
|
||||||
|
cpb rl0,#%30
|
||||||
|
jr nz,L6
|
||||||
|
inc r13
|
||||||
|
jr L7
|
||||||
|
ldb rl1,#%37
|
||||||
|
decb rh2
|
||||||
|
jr ge,L8
|
||||||
|
incb rl2
|
||||||
|
jr L6
|
||||||
|
ldb rl1,#%5b
|
||||||
|
jr L6
|
||||||
|
ldb rl1,#%6d
|
||||||
|
jr L6
|
||||||
|
decb rl2
|
||||||
|
ldb rl1,#%49
|
||||||
|
jr L6
|
||||||
|
ldb rl1,#%5b
|
||||||
|
decb rh2
|
||||||
|
jr lt,L6
|
||||||
|
decb rl2
|
||||||
|
jr L8
|
||||||
|
setb rh3,#6
|
||||||
|
ldb rl1,#%7f
|
||||||
|
jr L6
|
||||||
|
mult rr8,#%000a
|
||||||
|
and r0,#%000f
|
||||||
|
add r9,r0
|
||||||
|
ldb rl1,#%7f
|
||||||
|
jr L6
|
||||||
|
L8:
|
||||||
|
calr L9
|
||||||
|
andb rl0,#%0f
|
||||||
|
orb rl7,rl0
|
||||||
|
jr L6
|
||||||
|
L9:
|
||||||
|
rldb rh3,rl3
|
||||||
|
rldb rl3,rh4
|
||||||
|
rldb rh4,rl4
|
||||||
|
rldb rl4,rh5
|
||||||
|
rldb rh5,rl5
|
||||||
|
rldb rl5,rh6
|
||||||
|
rldb rh6,rl6
|
||||||
|
rldb rl6,rh7
|
||||||
|
rldb rh7,rl7
|
||||||
|
ret
|
||||||
|
L14:
|
||||||
|
rrdb rh7,rl7
|
||||||
|
rrdb rl6,rh7
|
||||||
|
rrdb rh6,rl6
|
||||||
|
rrdb rl5,rh6
|
||||||
|
rrdb rh5,rl5
|
||||||
|
rrdb rl4,rh5
|
||||||
|
rrdb rh4,rl4
|
||||||
|
rrdb rl3,rh4
|
||||||
|
rrdb rh3,rl3
|
||||||
|
ret
|
||||||
|
bitb rh3,#6
|
||||||
|
resb rh3,#6
|
||||||
|
jr z,L11
|
||||||
|
neg r9
|
||||||
|
L11:
|
||||||
|
extsb r2
|
||||||
|
add r9,r2
|
||||||
|
jr z,L12
|
||||||
|
jr mi,L13
|
||||||
|
L17:
|
||||||
|
ldb rl0,#%0f
|
||||||
|
andb rl0,rh3
|
||||||
|
jr nz,L12
|
||||||
|
calr L9
|
||||||
|
dec r9
|
||||||
|
jr nz,L17
|
||||||
|
jr L12
|
||||||
|
L13:
|
||||||
|
ldb rl0,#%0f
|
||||||
|
andb rl0,rl7
|
||||||
|
jr nz,L12
|
||||||
|
calr L14
|
||||||
|
inc r9
|
||||||
|
jr nz,L13
|
||||||
|
L12:
|
||||||
|
dec r15,#10
|
||||||
|
ldm @r15,r3,#5
|
||||||
|
ld r7,r9
|
||||||
|
bit r7,#15
|
||||||
|
jr z,L15
|
||||||
|
neg r7
|
||||||
|
L15:
|
||||||
|
call _pow10
|
||||||
|
fldbcd f1,@r15
|
||||||
|
inc r15,#10
|
||||||
|
bit r9,#15
|
||||||
|
jr z,L16
|
||||||
|
fdiv f1,f0
|
||||||
|
fld f0,f1
|
||||||
|
jr L10
|
||||||
|
L16:
|
||||||
|
fmul f0,f1
|
||||||
|
L10:
|
||||||
|
ldm r8,@r15,#6
|
||||||
|
inc r15,#12
|
||||||
|
ret
|
||||||
|
end __atof
|
||||||
|
end atof
|
||||||
|
|
@ -0,0 +1,105 @@
|
||||||
|
! @[$] pow10.s 2.2 09/12/83 11:29:05 - 87wega3.2 !
|
||||||
|
|
||||||
|
pow10 module
|
||||||
|
INTERNAL
|
||||||
|
MAP:
|
||||||
|
WORD := %0d80
|
||||||
|
WORD := %6cd7
|
||||||
|
WORD := %bfce
|
||||||
|
WORD := %0f5a
|
||||||
|
WORD := %b8a6
|
||||||
|
WORD := %761e
|
||||||
|
WORD := %06c0
|
||||||
|
WORD := %555d
|
||||||
|
WORD := %9cb0
|
||||||
|
WORD := %0bfd
|
||||||
|
WORD := %6f02
|
||||||
|
WORD := %5339
|
||||||
|
WORD := %0360
|
||||||
|
WORD := %4b25
|
||||||
|
WORD := %8d9e
|
||||||
|
WORD := %89d1
|
||||||
|
WORD := %1346
|
||||||
|
WORD := %bda5
|
||||||
|
WORD := %01b0
|
||||||
|
WORD := %459a
|
||||||
|
WORD := %86a3
|
||||||
|
WORD := %364e
|
||||||
|
WORD := %a62c
|
||||||
|
WORD := %672d
|
||||||
|
WORD := %00d8
|
||||||
|
WORD := %42cc
|
||||||
|
WORD := %b9a7
|
||||||
|
WORD := %4a06
|
||||||
|
WORD := %37ce
|
||||||
|
WORD := %2ee1
|
||||||
|
WORD := %006c
|
||||||
|
WORD := %4165
|
||||||
|
WORD := %da01
|
||||||
|
WORD := %ee64
|
||||||
|
WORD := %1a70
|
||||||
|
WORD := %8dea
|
||||||
|
WORD := %0036
|
||||||
|
WORD := %40b2
|
||||||
|
WORD := %a70c
|
||||||
|
WORD := %3c40
|
||||||
|
WORD := %a64e
|
||||||
|
WORD := %6c52
|
||||||
|
WORD := %001b
|
||||||
|
WORD := %4058
|
||||||
|
WORD := %cecb
|
||||||
|
WORD := %8f27
|
||||||
|
WORD := %f420
|
||||||
|
WORD := %0f3a
|
||||||
|
|
||||||
|
global
|
||||||
|
__pow10 procedure
|
||||||
|
entry
|
||||||
|
dec r15,#4
|
||||||
|
fldctl @r15,fflags
|
||||||
|
fsetmode rn
|
||||||
|
ldl rr2,#%3f800000
|
||||||
|
cp r7,#%1388
|
||||||
|
jr c,L1
|
||||||
|
set r2,#14
|
||||||
|
flds f0,r2
|
||||||
|
inc r15,#4
|
||||||
|
ret
|
||||||
|
L1:
|
||||||
|
flds f0,r2
|
||||||
|
cp r7,#%001b
|
||||||
|
jr le,L4
|
||||||
|
lda r3,MAP
|
||||||
|
ldk r1,#8
|
||||||
|
L2:
|
||||||
|
pop r0,@r3
|
||||||
|
cp r7,r0
|
||||||
|
jr ult,L3
|
||||||
|
fmul f0,@r3
|
||||||
|
sub r7,r0
|
||||||
|
L3:
|
||||||
|
inc r3,#10
|
||||||
|
djnz r1,L2
|
||||||
|
L4:
|
||||||
|
ldl rr2,#%3f800000
|
||||||
|
flds f1,r2
|
||||||
|
ld r2,#%4120
|
||||||
|
flds f2,r2
|
||||||
|
or r7,r7
|
||||||
|
jr eq,L7
|
||||||
|
L5:
|
||||||
|
bit r7,#0
|
||||||
|
jr eq,L6
|
||||||
|
fmul f1,f2
|
||||||
|
L6:
|
||||||
|
fmul f2,f2
|
||||||
|
res r7,#0
|
||||||
|
rr r7
|
||||||
|
jr ne,L5
|
||||||
|
L7:
|
||||||
|
fldctl fflags,@r15
|
||||||
|
inc r15,#4
|
||||||
|
fmul f0,f1
|
||||||
|
ret
|
||||||
|
end __pow10
|
||||||
|
end pow10
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
.code
|
||||||
|
__stfl::
|
||||||
|
{
|
||||||
|
fldd @r7,f3
|
||||||
|
inc r7,#8
|
||||||
|
fldd @r7,f2
|
||||||
|
inc r7,#8
|
||||||
|
fldd @r7,f1
|
||||||
|
inc r7,#8
|
||||||
|
fldd @r7,f0
|
||||||
|
ret
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue