mirror of
https://github.com/A2osX/A2osX.git
synced 2024-09-10 07:54:37 +00:00
Kernel 0.93+
This commit is contained in:
parent
3bee887a66
commit
e6abb0017d
Binary file not shown.
@ -765,8 +765,37 @@ CSH.GetNumOnStack
|
|||||||
>PUSHWI ZPFileBufPtr
|
>PUSHWI ZPFileBufPtr
|
||||||
>LDYA ZPFileBufPtr
|
>LDYA ZPFileBufPtr
|
||||||
|
|
||||||
>SYSCALL StrToL
|
ldx ZPVarType
|
||||||
|
cpx #CSH.T.UCHAR
|
||||||
|
bcc .2
|
||||||
|
|
||||||
|
>SYSCALL StrToUL
|
||||||
|
bra .3
|
||||||
|
|
||||||
|
.2 >SYSCALL StrToL
|
||||||
|
.3 bcs .9
|
||||||
|
|
||||||
|
ldy ZPVarType
|
||||||
|
lda CSH.TYPESIZE,y
|
||||||
|
cmp #4
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
cmp #2
|
||||||
|
bne .4
|
||||||
|
|
||||||
|
ldy #1
|
||||||
|
>PULLA
|
||||||
|
sta (pStack),y
|
||||||
|
>PULLA
|
||||||
|
sta (pStack),y
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.4 >PULLA
|
||||||
|
inc pStack
|
||||||
|
inc pStack
|
||||||
|
sta (pStack)
|
||||||
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Input : ZPFileBufPtr, A = Var Type, Value on Stack
|
* Input : ZPFileBufPtr, A = Var Type, Value on Stack
|
||||||
@ -1164,8 +1193,7 @@ CSH.SIZEOF txa
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CSH.EXEC jmp (J.CSH.EXEC,x)
|
CSH.EXEC jmp (J.CSH.EXEC,x)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
EXEC.printf >DEBUG
|
EXEC.printf >SYSCALL printf2
|
||||||
>SYSCALL printf2
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
EXEC.puts >PULLYA
|
EXEC.puts >PULLYA
|
||||||
@ -1176,6 +1204,8 @@ EXEC.cos >FPU COS
|
|||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
EXEC.getchar >SYSCALL getchar
|
EXEC.getchar >SYSCALL getchar
|
||||||
|
>PUSHA
|
||||||
|
>DEBUG
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
|
@ -228,7 +228,7 @@ SYS.AToI .EQ $72
|
|||||||
SYS.AToL .EQ $74
|
SYS.AToL .EQ $74
|
||||||
SYS.StrToF .EQ $76
|
SYS.StrToF .EQ $76
|
||||||
SYS.StrToL .EQ $78
|
SYS.StrToL .EQ $78
|
||||||
* .EQ $7A
|
SYS.StrToUL .EQ $7A
|
||||||
SYS.RealPath .EQ $7C
|
SYS.RealPath .EQ $7C
|
||||||
* .EQ $7E
|
* .EQ $7E
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -267,7 +267,8 @@ GP.SetARG ldx #FPU.SETARG
|
|||||||
.HS 2C BIT ABS
|
.HS 2C BIT ABS
|
||||||
GP.SetFAC ldx #FPU.SETFAC
|
GP.SetFAC ldx #FPU.SETFAC
|
||||||
|
|
||||||
>LDYA pStack
|
lda pStack
|
||||||
|
ldy pStack+1
|
||||||
bra GP.RomCall
|
bra GP.RomCall
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # float
|
* # float
|
||||||
|
@ -73,7 +73,7 @@ K.SYSCALL .DA 0 $00
|
|||||||
.DA K.AToL
|
.DA K.AToL
|
||||||
.DA K.StrToF
|
.DA K.StrToF
|
||||||
.DA K.StrToL
|
.DA K.StrToL
|
||||||
.DA 0
|
.DA K.StrToUL
|
||||||
.DA K.RealPath
|
.DA K.RealPath
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -245,7 +245,14 @@ PrintF.hFILE .BS 1
|
|||||||
* `>PUSHBI 2` #bytecount
|
* `>PUSHBI 2` #bytecount
|
||||||
* `>SYSCALL printf2`
|
* `>SYSCALL printf2`
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.PrintF2 lda (pStack) Bytecount
|
K.PrintF2 >LDYAI K.IOBuf
|
||||||
|
>STYA pIOBuf
|
||||||
|
|
||||||
|
ldy #S.PS.hStdOut
|
||||||
|
lda (pPs),y
|
||||||
|
sta PrintF.hFILE
|
||||||
|
|
||||||
|
lda (pStack) Bytecount
|
||||||
inc
|
inc
|
||||||
tay
|
tay
|
||||||
|
|
||||||
@ -255,15 +262,12 @@ K.PrintF2 lda (pStack) Bytecount
|
|||||||
lda (pStack),y format HI
|
lda (pStack),y format HI
|
||||||
sta ZPPtr2+1
|
sta ZPPtr2+1
|
||||||
|
|
||||||
ldy #S.PS.hStdOut
|
|
||||||
lda (pPs),y
|
|
||||||
sta PrintF.hFILE
|
|
||||||
|
|
||||||
>LDYAI K.IOBuf
|
|
||||||
>STYA pIOBuf
|
|
||||||
bra K.PrintF2.1
|
bra K.PrintF2.1
|
||||||
|
|
||||||
K.FPrintf2 lda (pStack) Bytecount
|
K.FPrintf2 >LDYAI K.IOBuf
|
||||||
|
>STYA pIOBuf
|
||||||
|
|
||||||
|
lda (pStack) Bytecount
|
||||||
inc
|
inc
|
||||||
tay
|
tay
|
||||||
|
|
||||||
@ -277,8 +281,6 @@ K.FPrintf2 lda (pStack) Bytecount
|
|||||||
lda (pStack),y hFILE
|
lda (pStack),y hFILE
|
||||||
sta PrintF.hFILE
|
sta PrintF.hFILE
|
||||||
|
|
||||||
>LDYAI K.IOBuf
|
|
||||||
>STYA pIOBuf
|
|
||||||
bra K.PrintF2.1
|
bra K.PrintF2.1
|
||||||
|
|
||||||
K.SPrintf2 lda (pStack) Bytecount
|
K.SPrintf2 lda (pStack) Bytecount
|
||||||
@ -300,7 +302,9 @@ K.SPrintf2 lda (pStack) Bytecount
|
|||||||
lda (pStack),y str HI
|
lda (pStack),y str HI
|
||||||
sta pIOBuf+1
|
sta pIOBuf+1
|
||||||
|
|
||||||
K.PrintF2.1 stz PrintF.Cnt
|
K.PrintF2.1 sty PrintF2.Exit.Cnt+1
|
||||||
|
|
||||||
|
stz PrintF.Cnt
|
||||||
stz PrintF.Cnt+1
|
stz PrintF.Cnt+1
|
||||||
|
|
||||||
lda pStack
|
lda pStack
|
||||||
@ -405,7 +409,7 @@ K.PrintF2.1 stz PrintF.Cnt
|
|||||||
.20 jsr PrintF.COut
|
.20 jsr PrintF.COut
|
||||||
bcc .11
|
bcc .11
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.99 bra PrintF2.LocalCleanUp
|
.99 bra PrintF2.Exit
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.8 ldx PrintF.hFILE
|
.8 ldx PrintF.hFILE
|
||||||
beq .80 Writing to buffer, append \0
|
beq .80 Writing to buffer, append \0
|
||||||
@ -428,16 +432,16 @@ K.PrintF2.1 stz PrintF.Cnt
|
|||||||
.81 >LDYA PrintF.Cnt
|
.81 >LDYA PrintF.Cnt
|
||||||
* clc
|
* clc
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PrintF2.LocalCleanUp
|
PrintF2.Exit php
|
||||||
php
|
|
||||||
pha
|
pha
|
||||||
lda pLocal
|
lda pStack
|
||||||
sec ByteCnt byte
|
sec +Bytecount byte
|
||||||
adc (pLocal) ... ByteCnt
|
PrintF2.Exit.Cnt
|
||||||
sta pStack CC
|
adc #$ff SELF MODIFIED
|
||||||
|
sta pStack
|
||||||
pla
|
pla
|
||||||
plp
|
plp
|
||||||
PrintF2.LocalCleanUp.RTS
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.SPrintF stz PrintF.hFILE
|
K.SPrintF stz PrintF.hFILE
|
||||||
@ -721,22 +725,17 @@ PrintF.F clc
|
|||||||
bcc .1
|
bcc .1
|
||||||
bne PrintF.StrNum.RTS
|
bne PrintF.StrNum.RTS
|
||||||
|
|
||||||
.1 tya
|
.1 sta PrintF.LocalGetByte+1
|
||||||
sec +1
|
|
||||||
adc pStack
|
|
||||||
tay
|
|
||||||
|
|
||||||
lda pStack+1
|
tya
|
||||||
|
sec +1 for bytecount byte
|
||||||
|
adc pStack
|
||||||
|
ldy pStack+1 A,Y = float
|
||||||
|
|
||||||
ldx #FPU.SETFAC
|
ldx #FPU.SETFAC
|
||||||
jsr GP.ROMCALL
|
jsr GP.ROMCALL
|
||||||
|
|
||||||
lda PrintF.LocalGetByte+1
|
ldy #A2osX.NumStrBuf+1 FOUT.1 will do a DEY
|
||||||
clc
|
|
||||||
adc #5
|
|
||||||
sta PrintF.LocalGetByte+1
|
|
||||||
|
|
||||||
ldy #A2osX.NumStrBuf
|
|
||||||
ldx #FPU.FOUT
|
ldx #FPU.FOUT
|
||||||
jsr GP.ROMCALL
|
jsr GP.ROMCALL
|
||||||
|
|
||||||
|
@ -38,6 +38,11 @@ K.strtof pha
|
|||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
K.AToF >STYA TXTPTR Ptr to source string
|
K.AToF >STYA TXTPTR Ptr to source string
|
||||||
|
|
||||||
|
lda pStack
|
||||||
|
sec
|
||||||
|
sbc #5
|
||||||
|
sta pStack
|
||||||
|
|
||||||
jsr CHARGOT
|
jsr CHARGOT
|
||||||
|
|
||||||
ldx #FPU.FIN
|
ldx #FPU.FIN
|
||||||
|
Loading…
Reference in New Issue
Block a user