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
|
||||
doprnt.o doprnt.c C
|
||||
ecvt.o ecvt.s ASM
|
||||
fltioc.o fltioc.c C
|
||||
pow10.o pow10.s ASM
|
||||
stfl.o ???
|
||||
swap.o swap.c C
|
||||
symscan.o symscan.c C
|
||||
|
|
|
|||
|
|
@ -169,3 +169,6 @@ setret.o setret.s ASM
|
|||
decimal.o decimal.s ASM
|
||||
readsym.o readsym.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
|
||||
length.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