mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-05 23:30:15 +00:00
Kernel 0.9.1 : STDLIB : AToF, StrToF OK
This commit is contained in:
parent
bbbdd3d867
commit
f3d06059ae
Binary file not shown.
Binary file not shown.
@ -190,18 +190,18 @@ SYS.GetMemByID.A .EQ $C6
|
||||
|
||||
SYS.GetMem.YA .EQ $C8
|
||||
SYS.GetMem0.YA .EQ $CA
|
||||
* .EQ $CC
|
||||
SYS.SetLoMem .EQ $CC
|
||||
SYS.NewStr.YA .EQ $CE
|
||||
|
||||
SYS.SetLoMem .EQ $D0
|
||||
SYS.GetMemStat.YA .EQ $D2
|
||||
* .EQ $D0
|
||||
* .EQ $D2
|
||||
* .EQ $D4
|
||||
* .EQ $D6
|
||||
|
||||
SYS.LoadStkObj.YA .EQ $D8
|
||||
SYS.GetStkObj.A .EQ $DA
|
||||
SYS.FreeStkObj.A .EQ $DC
|
||||
* .EQ $DE
|
||||
SYS.GetMemStat.YA .EQ $DE
|
||||
|
||||
SYS.Sleep .EQ $E0
|
||||
*--------------------------------------
|
||||
|
@ -1,6 +1,6 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.BUILD
|
||||
LOMEM $900
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
@ -13,12 +13,12 @@ K.EVT.MAX .EQ 8
|
||||
K.DEV.MAX .EQ 32
|
||||
K.PS.MAX .EQ 32
|
||||
*--------------------------------------
|
||||
H.BIN.HEADER .EQ 0
|
||||
H.BIN.HEADER.DRV65 .EQ $4CD8 6502:cld,jmp abs
|
||||
H.BIN.HEADER.LIB65 .EQ $7CD8 6502:cld,jmp (abs,x)
|
||||
H.BIN.HEADER.BIN65 .EQ $7CD8 6502:cld,jmp (abs,x)
|
||||
*H.BIN.HEADER.LIB80 .EQ $A28D Z80:
|
||||
*H.BIN.HEADER.BIN80 .EQ $A28D Z80:
|
||||
H.BIN.T .EQ 0
|
||||
H.BIN.T.DRV65 .EQ $4CD8 6502:cld,jmp abs
|
||||
H.BIN.T.LIB65 .EQ $7CD8 6502:cld,jmp (abs,x)
|
||||
H.BIN.T.BIN65 .EQ $7CD8 6502:cld,jmp (abs,x)
|
||||
*H.BIN.T.LIB80 .EQ $A28D Z80:
|
||||
*H.BIN.T.BIN80 .EQ $A28D Z80:
|
||||
H.BIN.JMP .EQ 2
|
||||
*H.BIN.CODE.TYPE .EQ 4
|
||||
*H.BIN.VERSION .EQ 5
|
||||
@ -36,11 +36,10 @@ H.BIN.DRV.REL.TABLE .EQ 0
|
||||
*--------------------------------------
|
||||
* Kernel ZP Aux
|
||||
*--------------------------------------
|
||||
ZPKERNEL .EQ $0
|
||||
ZPPtr1 .EQ ZPKERNEL
|
||||
ZPPtr2 .EQ ZPKERNEL+2
|
||||
ZPPtr3 .EQ ZPKERNEL+4
|
||||
ZPPtr4 .EQ ZPKERNEL+6
|
||||
ZPPtr1 .EQ $0
|
||||
ZPPtr2 .EQ ZPPtr1+2
|
||||
ZPPtr3 .EQ ZPPtr1+4
|
||||
ZPPtr4 .EQ ZPPtr1+6
|
||||
*--------------------------------------
|
||||
ZPMEMMGR .EQ $8
|
||||
*--------------------------------------
|
||||
@ -49,6 +48,7 @@ ZPMEMMGR .EQ $8
|
||||
* $5E-$C8 RESERVED APPLESOFT Main/Aux (ROM Call, no need to switch back MainZP)
|
||||
*--------------------------------------
|
||||
*INDEX .EQ $5E ->$5F
|
||||
FORPNT .EQ $85 ->$86
|
||||
FAC .EQ $9D ->$A1
|
||||
FAC.SIGN .EQ $A2
|
||||
FAC.EXTENSION .EQ $AC
|
||||
@ -56,8 +56,9 @@ TXTPTR .EQ $B8
|
||||
*--------------------------------------
|
||||
* ROM Entry Point
|
||||
*--------------------------------------
|
||||
ROM.FIN .EQ $0
|
||||
ROM.FOUT .EQ $2
|
||||
ROM.GETFAC .EQ $0 Get FAC at FORPNT
|
||||
ROM.FIN .EQ $2
|
||||
ROM.FOUT .EQ $4
|
||||
*--------------------------------------
|
||||
* Memory Map
|
||||
*--------------------------------------
|
||||
|
@ -317,10 +317,13 @@ CSH.IF jsr CSH.GetCharNB
|
||||
cmp #'{'
|
||||
bne .9
|
||||
|
||||
lda CSH.ACC
|
||||
ora CSH.ACC+1
|
||||
ora CSH.ACC+2
|
||||
ora CSH.ACC+3
|
||||
>LDA.G CSH.ACC
|
||||
iny
|
||||
ora (pData),y
|
||||
iny
|
||||
ora (pData),y
|
||||
iny
|
||||
ora (pData),y
|
||||
beq .6 eval returned false, skip {{....}}
|
||||
|
||||
jsr CSH.GetNextCharNB Skip '{'
|
||||
@ -396,7 +399,7 @@ CSH.LONG lda #CSH.TYPE.LONG
|
||||
bra CSH.TYPE
|
||||
CSH.FLOAT lda #CSH.TYPE.FLOAT
|
||||
|
||||
CSH.TYPE sta CSH.ACCT
|
||||
CSH.TYPE >STA.G CSH.ACCT
|
||||
|
||||
jsr CSH.GetChar
|
||||
bcs .9
|
||||
@ -498,23 +501,9 @@ CSH.GetName ldy #0
|
||||
*--------------------------------------
|
||||
CSH.GetNumInACC
|
||||
|
||||
* ldy #0
|
||||
*
|
||||
*.1 iny
|
||||
* cpy #10
|
||||
* beq .9
|
||||
>LDA.G CSH.ACCT
|
||||
|
||||
* sta ARGS,y
|
||||
* jsr CSH.GetNextChar
|
||||
* bcs .8
|
||||
* jsr CSH.IsDigit10
|
||||
* bcc .1
|
||||
|
||||
*.8 sty ARGS
|
||||
|
||||
* >PUSHW L.CSH.ACC
|
||||
* >PUSHW L.ARGS
|
||||
* >SYSCALL AToL
|
||||
* >SYSCALL StrToL
|
||||
* bcs .9
|
||||
* rts
|
||||
|
||||
@ -522,10 +511,15 @@ CSH.GetNumInACC
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CSH.ZeroACC stz CSH.ACC
|
||||
stz CSH.ACC+1
|
||||
stz CSH.ACC+2
|
||||
stz CSH.ACC+3
|
||||
CSH.ZeroACC lda #0
|
||||
|
||||
>STA.G CSH.ACC
|
||||
iny
|
||||
sta (pData),y
|
||||
iny
|
||||
sta (pData),y
|
||||
iny
|
||||
sta (pData),y
|
||||
rts
|
||||
*--------------------------------------
|
||||
* Vars...
|
||||
|
@ -94,7 +94,6 @@ J.CSHCMDS .DA CSH.IF
|
||||
.DA CSH.FLOAT
|
||||
J.CSHCMDS.END .DA CSH.IF.END
|
||||
.DA CSH.WHILE.END
|
||||
L.CSH.ACC .DA CSH.ACC
|
||||
L.ERR.Codes .DA ERR.Codes
|
||||
L.ERR.Messages .DA ERR.Messages
|
||||
.DA 0
|
||||
@ -515,10 +514,6 @@ EscChars.Count .EQ 4
|
||||
EscChars .AS 'DBAC'
|
||||
|
||||
CSH.TSIZE .HS 0001020405 00,CHAR,INT,LONG,FLOAT....
|
||||
CSH.ACCT .BS 1
|
||||
CSH.ACC .BS 5
|
||||
CSH.ARGT .BS 1
|
||||
CSH.ARG .BS 5
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
@ -565,6 +560,8 @@ CSH.DataPtr .BS 1
|
||||
CSH.hStack .BS 1
|
||||
CSH.StackPtr .BS 1
|
||||
CSH.CmdSave .BS 1
|
||||
CSH.ACCT .BS 1
|
||||
CSH.ACC .BS 5
|
||||
CSH.Name .BS CSH.Name.MAX+1
|
||||
DS.END .ED
|
||||
*--------------------------------------
|
||||
|
@ -497,11 +497,11 @@ BIN.Relocate.Start .BS 2
|
||||
BIN.Relocate.End .BS 2
|
||||
BIN.Relocate.Offset .BS 2
|
||||
*--------------------------------------
|
||||
BIN.RelocateEXE ldy #H.BIN.HEADER+1
|
||||
BIN.RelocateEXE ldy #H.BIN.T+1
|
||||
lda (ZPPtr1),y
|
||||
cmp /H.BIN.HEADER.BIN65
|
||||
cmp /H.BIN.T.BIN65
|
||||
beq .1
|
||||
cmp /H.BIN.HEADER.DRV65
|
||||
cmp /H.BIN.T.DRV65
|
||||
beq .1
|
||||
|
||||
lda #SYSMGR.ERRIBIN
|
||||
|
@ -116,7 +116,8 @@ A2osX.ROMCALL1 phx
|
||||
rts
|
||||
|
||||
.1 jmp (.2,x)
|
||||
.2 .DA $EC4A FIN
|
||||
.2 .DA $EB27 SETFOR
|
||||
.DA $EC4A FIN
|
||||
.DA $ED36 FOUT.1
|
||||
*--------------------------------------
|
||||
* A2osX.DIIDrv
|
||||
|
@ -126,17 +126,17 @@ K.SYSCALL.JMP .DA 0 $00
|
||||
.DA K.GetMemByID.A
|
||||
.DA K.GetMem.YA
|
||||
.DA K.GetMem0.YA
|
||||
.DA 0
|
||||
.DA K.SetLoMem
|
||||
.DA K.NewStr.YA
|
||||
*--------------------------------------
|
||||
.DA K.SetLoMem $D0
|
||||
.DA K.GetMemStat.YA
|
||||
.DA 0 $D0
|
||||
.DA 0
|
||||
.DA 0
|
||||
.DA 0
|
||||
.DA K.LoadStkObj.YA
|
||||
.DA K.GetStkObj.A
|
||||
.DA K.FreeStkObj.A
|
||||
.DA 0
|
||||
.DA K.GetMemStat.YA
|
||||
*--------------------------------------
|
||||
.DA K.Sleep $E0
|
||||
*--------------------------------------
|
||||
|
@ -434,6 +434,10 @@ K.GetMemByID.A sta ZPMemMgrSPtr
|
||||
* sty ZPMemMgrSPtr
|
||||
* sta ZPMemMgrSPtr+1
|
||||
* rts
|
||||
*--------------------------------------
|
||||
K.SetLoMem
|
||||
clc
|
||||
rts
|
||||
*/--------------------------------------
|
||||
* # NewStr.YA
|
||||
* Create a new copy of this C-String
|
||||
@ -490,15 +494,78 @@ K.NewStr.YA >STYA .1+1
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
* SList :
|
||||
* Block :
|
||||
* 0 hMem of next Block (0=End)
|
||||
* 1....255 data records
|
||||
* Record :
|
||||
* 0 Flags
|
||||
* 1 KeyLen+Key
|
||||
* n DataLen+Data
|
||||
*/--------------------------------------
|
||||
* # SListNew
|
||||
* ## In:
|
||||
* ## Out:
|
||||
* A=hMem
|
||||
*\--------------------------------------
|
||||
K.SListNew
|
||||
*/--------------------------------------
|
||||
* # SListAdd
|
||||
* ## In:
|
||||
* ## Out:
|
||||
* A=hMem
|
||||
*\--------------------------------------
|
||||
K.SListAdd
|
||||
*/--------------------------------------
|
||||
* # SListGet
|
||||
* ## In:
|
||||
* ## Out:
|
||||
* A=hMem
|
||||
*\--------------------------------------
|
||||
K.SListGet
|
||||
*/--------------------------------------
|
||||
* # SListPut
|
||||
* ## In:
|
||||
* ## Out:
|
||||
* A=hMem
|
||||
*\--------------------------------------
|
||||
K.SListPut
|
||||
*/--------------------------------------
|
||||
* # SListFree
|
||||
* ## In:
|
||||
* ## Out:
|
||||
* A=hMem
|
||||
*\--------------------------------------
|
||||
K.SListFree
|
||||
|
||||
|
||||
|
||||
|
||||
*--------------------------------------
|
||||
MEM.SList.Next
|
||||
|
||||
|
||||
*/--------------------------------------
|
||||
* # LoadStkObj.YA
|
||||
* ## In:
|
||||
* ## Out:
|
||||
* A=hMem
|
||||
*\--------------------------------------
|
||||
K.LoadStkObj.YA
|
||||
*--------------------------------------
|
||||
*/--------------------------------------
|
||||
* # GetStkObj.A
|
||||
* ## In:
|
||||
* ## Out:
|
||||
* A=hMem
|
||||
*\--------------------------------------
|
||||
K.GetStkObj.A
|
||||
*--------------------------------------
|
||||
*/--------------------------------------
|
||||
* # FreeStkObj.A
|
||||
* ## In:
|
||||
* ## Out:
|
||||
* A=hMem
|
||||
*\--------------------------------------
|
||||
K.FreeStkObj.A
|
||||
*--------------------------------------
|
||||
K.SetLoMem
|
||||
clc
|
||||
rts
|
||||
*/--------------------------------------
|
||||
* # GetMemStat.YA
|
||||
* ## In:
|
||||
@ -594,10 +661,6 @@ MEM.GetMemByNameYA
|
||||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
MEM.GarbageCollector
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.SRC/SYS/KERNEL.S.MEM
|
||||
LOAD /A2OSX.SRC/SYS/KERNEL.S
|
||||
|
@ -11,19 +11,17 @@ AUTO 6
|
||||
* PUSHW Source String (C-Sring)
|
||||
* PUSHW PTR to target buffer (5 bytes)
|
||||
* ## Out:
|
||||
* Target buffer filled with a FLOAT (packed)
|
||||
*\--------------------------------------
|
||||
K.StrToF jsr PullPtr1Ptr2Ptr3
|
||||
* jsr K.AToF.I
|
||||
* bcc K.StrToUL.Exit
|
||||
|
||||
>LDYA ZPPtr2
|
||||
>STYA TXTPTR
|
||||
|
||||
jsr CHARGOT
|
||||
|
||||
>ROMCALL FIN
|
||||
|
||||
K.StrToF jsr K.AToF
|
||||
bcs .9
|
||||
|
||||
>PULLW ZPPtr3
|
||||
lda TXTPTR
|
||||
sta (ZPPtr3)
|
||||
ldy #1
|
||||
lda TXTPTR
|
||||
sta (ZPPtr3),y
|
||||
|
||||
.9 rts
|
||||
*/--------------------------------------
|
||||
@ -34,73 +32,14 @@ K.StrToF jsr PullPtr1Ptr2Ptr3
|
||||
* PUSHW PTR to target buffer (5 Bytes)
|
||||
* ## Out:
|
||||
*\--------------------------------------
|
||||
K.AToF jsr PullPtr1Ptr2 C-String in Ptr2, Dst buffer in Ptr1
|
||||
K.AToF >PULLW FORPNT Ptr to dst buffer
|
||||
>PULLW TXTPTR Ptr to source string
|
||||
jsr CHARGOT
|
||||
|
||||
K.AToF.I jsr MANTISSA.Clear
|
||||
|
||||
ldy #$ff
|
||||
|
||||
.1 iny
|
||||
lda (ZPPtr2),y
|
||||
beq .8
|
||||
cmp #' '
|
||||
beq .1
|
||||
|
||||
.2 iny
|
||||
lda (ZPPtr2),y
|
||||
beq .8
|
||||
|
||||
jsr STDIO.IsDigit
|
||||
bcc .7
|
||||
|
||||
cmp #'+'
|
||||
beq .3
|
||||
cmp #'-'
|
||||
bne .4
|
||||
|
||||
.3 jsr K.AToF.CheckSign
|
||||
bcs .9
|
||||
bra .1
|
||||
|
||||
.4 cmp #'.'
|
||||
bne .5
|
||||
ldx INEXP Decimal point not allowed in EXP
|
||||
bne .9
|
||||
ldx bDECPOINT ....and only one!
|
||||
bne .9
|
||||
inc bDECPOINT
|
||||
bra .1
|
||||
|
||||
.5 cmp #'E'
|
||||
beq .6
|
||||
|
||||
cmp #'e'
|
||||
bne .8
|
||||
.6
|
||||
|
||||
.7
|
||||
|
||||
.8 clc
|
||||
|
||||
.9 lda #SYSMGR.ERRSYN
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
K.AToF.CheckSign
|
||||
ldy INEXP Get MANTSIGN or EXPSIGN
|
||||
ldx MANTSIGN,y
|
||||
bne .9 Already set, error
|
||||
|
||||
cmp #'-'
|
||||
bne .1
|
||||
lda #$ff
|
||||
.1 sta MANTSIGN,y set '+' of $ff to test with BIT
|
||||
|
||||
>ROMCALL FIN
|
||||
>ROMCALL GETFAC
|
||||
clc
|
||||
rts
|
||||
|
||||
.9 sec
|
||||
rts
|
||||
*/--------------------------------------
|
||||
* # StrToL
|
||||
* Convert String to 32 bits int
|
||||
@ -156,7 +95,7 @@ K.AToL.I jsr STDLIB.Dec2Hex
|
||||
phy Save Count processed
|
||||
ldy #3
|
||||
|
||||
.3 lda MANTISSA,y
|
||||
.3 lda STDLIB.32,y
|
||||
sta (ZPPtr1),y
|
||||
dey
|
||||
bpl .3
|
||||
@ -180,12 +119,12 @@ K.AToI.YA >STYA ZPPtr2
|
||||
jsr STDLIB.Dec2Hex
|
||||
bcs .9
|
||||
|
||||
>LDYA MANTISSA
|
||||
>LDYA STDLIB.32
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
* Convert ZPPtr1 to MANTISSA
|
||||
* Convert ZPPtr1 to STDLIB.32
|
||||
*--------------------------------------
|
||||
STDLIB.Dec2Hex jsr MANTISSA.Clear
|
||||
STDLIB.Dec2Hex jsr STDLIB.32.Clear
|
||||
|
||||
ldy #$ff
|
||||
|
||||
@ -196,20 +135,20 @@ STDLIB.Dec2Hex jsr MANTISSA.Clear
|
||||
jsr STDIO.IsDigit
|
||||
bcs .8
|
||||
|
||||
jsr MANTISSA.T10
|
||||
jsr STDLIB.32.T10
|
||||
bcs .9
|
||||
|
||||
lda (ZPPtr2),y
|
||||
and #$0F
|
||||
|
||||
adc MANTISSA
|
||||
sta MANTISSA
|
||||
adc STDLIB.32
|
||||
sta STDLIB.32
|
||||
bcc .1
|
||||
inc MANTISSA+1
|
||||
inc STDLIB.32+1
|
||||
bne .1
|
||||
inc MANTISSA+2
|
||||
inc STDLIB.32+2
|
||||
bne .1
|
||||
inc MANTISSA+3
|
||||
inc STDLIB.32+3
|
||||
bne .1 overflow!!!
|
||||
* sec
|
||||
rts
|
||||
@ -217,17 +156,17 @@ STDLIB.Dec2Hex jsr MANTISSA.Clear
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
MANTISSA.T10 ldx #3
|
||||
STDLIB.32.T10 ldx #3
|
||||
|
||||
.1 lda MANTISSA,x save MANTISSA for 4+1
|
||||
.1 lda STDLIB.32,x save STDLIB.32 for 4+1
|
||||
pha
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
jsr MANTISSA.ROL MANTISSA * 2 -> MANTISSA
|
||||
jsr STDLIB.32.ROL STDLIB.32 * 2 -> STDLIB.32
|
||||
bcs .9 overflow!!!
|
||||
|
||||
jsr MANTISSA.ROL MANTISSA * 4 -> MANTISSA
|
||||
jsr STDLIB.32.ROL STDLIB.32 * 4 -> STDLIB.32
|
||||
bcs .9 overflow!!!
|
||||
|
||||
ldx #0
|
||||
@ -235,42 +174,38 @@ MANTISSA.T10 ldx #3
|
||||
|
||||
* clc
|
||||
|
||||
.2 pla MANTISSA * 4 + MANTISSA -> MANTISSA
|
||||
adc MANTISSA,x
|
||||
sta MANTISSA,x
|
||||
.2 pla STDLIB.32 * 4 + STDLIB.32 -> STDLIB.32
|
||||
adc STDLIB.32,x
|
||||
sta STDLIB.32,x
|
||||
inx
|
||||
dey
|
||||
bne .2
|
||||
|
||||
bcs .99 overflow!!!
|
||||
|
||||
jsr MANTISSA.ROL MANTISSA * 10 -> MANTISSA
|
||||
jsr STDLIB.32.ROL STDLIB.32 * 10 -> STDLIB.32
|
||||
bcs .99 overflow!!!
|
||||
|
||||
.9 pla discard saved MANTISSA
|
||||
.9 pla discard saved STDLIB.32
|
||||
pla
|
||||
pla
|
||||
pla
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
MANTISSA.ROL asl MANTISSA
|
||||
rol MANTISSA+1
|
||||
rol MANTISSA+2
|
||||
rol MANTISSA+3
|
||||
STDLIB.32.ROL asl STDLIB.32
|
||||
rol STDLIB.32+1
|
||||
rol STDLIB.32+2
|
||||
rol STDLIB.32+3
|
||||
rts
|
||||
*--------------------------------------
|
||||
MANTISSA.Clear ldx #8
|
||||
.1 stz EXPSIGN,x
|
||||
STDLIB.32.Clear ldx #3
|
||||
|
||||
.1 stz STDLIB.32,x
|
||||
dex
|
||||
bpl .1
|
||||
rts
|
||||
*--------------------------------------
|
||||
bDECPOINT .BS 1
|
||||
INEXP .BS 1
|
||||
MANTSIGN .BS 1
|
||||
EXPSIGN .BS 1
|
||||
EXP .BS 1
|
||||
MANTISSA .BS 4 32 bits max
|
||||
STDLIB.32 .BS 4 32 bits max
|
||||
*/--------------------------------------
|
||||
* # RealPath.YA
|
||||
* Return the canonicalized absolute pathname
|
||||
|
27
TEST.S.txt
27
TEST.S.txt
@ -36,18 +36,29 @@ L.FLOAT3 .DA FLOAT3
|
||||
L.FLOAT4 .DA FLOAT4
|
||||
L.FLOAT5 .DA FLOAT5
|
||||
L.MSG .DA MSG
|
||||
L.CONST .DA CONST
|
||||
L.CONST1 .DA CONST1
|
||||
L.CONST2 .DA CONST2
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN >PUSHEA.G ENDPTR
|
||||
>LDYA L.CONST
|
||||
>PUSHEA.G MYFLOAT
|
||||
>PUSHW L.CONST2
|
||||
>PUSHEA.G MYFLOAT2
|
||||
|
||||
>SYSCALL StrToF
|
||||
|
||||
>PUSHEA.G MYFLOAT
|
||||
>PUSHEA.G MYFLOAT2
|
||||
|
||||
>PUSHEA.G ENDPTR
|
||||
>PUSHW L.CONST1
|
||||
>PUSHEA.G MYFLOAT1
|
||||
|
||||
>SYSCALL StrToF
|
||||
|
||||
>PUSHEA.G MYFLOAT1
|
||||
|
||||
>PUSHW L.FLOAT5
|
||||
>PUSHW L.FLOAT4
|
||||
>PUSHW L.FLOAT3
|
||||
@ -69,18 +80,20 @@ CS.QUIT clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
MSG >CSTR "TEST: %e, %e, %e\r\n %e, %e, %e\r\n"
|
||||
MSG >CSTR "TEST: %e, %e, %e, %e, %e\r\n%e, %e\r\n"
|
||||
FLOAT1 .HS 9B3EBC1FFD 99,999,999.9
|
||||
FLOAT2 .HS 9E6E6B27FD 999,999,999
|
||||
FLOAT3 .HS 9E6E6B2800 1,000,000,000
|
||||
FLOAT4 .HS 8100000000 1
|
||||
FLOAT5 .HS 9080000000 -32768
|
||||
CONST >CSTR "3.141592653"
|
||||
CONST1 >CSTR "3.141592653"
|
||||
CONST2 >CSTR "-45.567E-17"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
MYFLOAT .BS 5
|
||||
MYFLOAT1 .BS 5
|
||||
MYFLOAT2 .BS 5
|
||||
ENDPTR .BS 2
|
||||
DS.END
|
||||
.ED
|
||||
|
Loading…
x
Reference in New Issue
Block a user