mirror of
https://github.com/A2osX/A2osX.git
synced 2024-07-07 04:28:56 +00:00
Kernel 0.9.2
This commit is contained in:
parent
10b4f9de2f
commit
091a515f4d
@ -617,7 +617,7 @@ Convert String to 32 bits (unsigned) int
|
|||||||
|
|
||||||
# C
|
# C
|
||||||
`long strtol (const char* str, char** endptr, int base);`
|
`long strtol (const char* str, char** endptr, int base);`
|
||||||
`unsigned long strtol (const char* str, char** endptr, int base);`
|
`unsigned long strtoul (const char* str, char** endptr, int base);`
|
||||||
|
|
||||||
# ASM
|
# ASM
|
||||||
**In:**
|
**In:**
|
||||||
@ -629,15 +629,24 @@ On stack (long)
|
|||||||
|
|
||||||
# AToL
|
# AToL
|
||||||
Convert String to 32 bits int
|
Convert String to 32 bits int
|
||||||
|
|
||||||
|
# C
|
||||||
|
`long atol ( const char * str );`
|
||||||
|
|
||||||
|
# ASM
|
||||||
**In:**
|
**In:**
|
||||||
+ PUSHW Source String (C-Sring)
|
`>LDYA str`
|
||||||
+ PUSHW PTR to target buffer DWORD
|
|
||||||
**Out:**
|
**Out:**
|
||||||
|
On stack (long)
|
||||||
|
|
||||||
# AToI.YA
|
# AToI.YA
|
||||||
Convert String to 16 bits int
|
|
||||||
|
# C
|
||||||
|
`long atol ( const char * str );`
|
||||||
|
|
||||||
|
# ASM
|
||||||
**In:**
|
**In:**
|
||||||
+ Y,A = Source String (C-String)
|
`>LDYA str`
|
||||||
**Out:**
|
**Out:**
|
||||||
+ Y,A = Int
|
+ Y,A = Int
|
||||||
|
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -19,9 +19,9 @@ CS.START cld
|
|||||||
.DA #$61 6502,Level 1 (65c02)
|
.DA #$61 6502,Level 1 (65c02)
|
||||||
.DA #1 BIN Layout Version 1
|
.DA #1 BIN Layout Version 1
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA CS.END-CS.START Code Length To Relocate
|
.DA CS.END-CS.START CS
|
||||||
.DA 0 Data Segment to Allocate
|
.DA DS.END-DS.START DS
|
||||||
.DA #16 SS
|
.DA #64 SS
|
||||||
.DA #2 ZP
|
.DA #2 ZP
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -66,7 +66,7 @@ CS.RUN >LDYA L.MSG0
|
|||||||
>STYA ZPPTR1
|
>STYA ZPPTR1
|
||||||
|
|
||||||
lda #K.SKTTABLE.SIZE
|
lda #K.SKTTABLE.SIZE
|
||||||
sta SocketCount
|
>STA.G SocketCount
|
||||||
|
|
||||||
.1 lda (ZPPTR1)
|
.1 lda (ZPPTR1)
|
||||||
beq .7
|
beq .7
|
||||||
@ -110,10 +110,10 @@ CS.RUN >LDYA L.MSG0
|
|||||||
adc /S.SOCKET
|
adc /S.SOCKET
|
||||||
sta ZPPTR1+1
|
sta ZPPTR1+1
|
||||||
|
|
||||||
dec SocketCount
|
>DEC.G SocketCount
|
||||||
bne .1
|
bne .1 A=0
|
||||||
|
|
||||||
lda #0 tell TSKMGR that all done ok, but
|
* lda #0 tell TSKMGR that all done ok, but
|
||||||
sec we do not want to stay in memory
|
sec we do not want to stay in memory
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -147,7 +147,14 @@ MSG1.S.8 .AZ "FIN-WAIT-2"
|
|||||||
MSG1.S.9 .AZ "CLOSING"
|
MSG1.S.9 .AZ "CLOSING"
|
||||||
MSG1.S.10 .AZ "TIME-WAIT"
|
MSG1.S.10 .AZ "TIME-WAIT"
|
||||||
hLIBTCPIP .BS 1
|
hLIBTCPIP .BS 1
|
||||||
|
*--------------------------------------
|
||||||
|
.DUMMY
|
||||||
|
.OR 0
|
||||||
|
DS.START
|
||||||
SocketCount .BS 1
|
SocketCount .BS 1
|
||||||
|
DS.END
|
||||||
|
.ED
|
||||||
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE /A2OSX.SRC/BIN/NETSTAT.S
|
SAVE /A2OSX.SRC/BIN/NETSTAT.S
|
||||||
ASM
|
ASM
|
||||||
|
@ -349,7 +349,6 @@ CSH.ULONG lda #CSH.T.ULONG
|
|||||||
CSH.FLOAT lda #CSH.T.FLOAT
|
CSH.FLOAT lda #CSH.T.FLOAT
|
||||||
|
|
||||||
CSH.TYPE >STA.G CSH.ACCT
|
CSH.TYPE >STA.G CSH.ACCT
|
||||||
|
|
||||||
jsr CSH.GetChar
|
jsr CSH.GetChar
|
||||||
bcs .9
|
bcs .9
|
||||||
cmp #' '
|
cmp #' '
|
||||||
@ -421,34 +420,34 @@ CSH.FnEval jsr CSH.GetCharNB
|
|||||||
.2 lda (ZPPtr1)
|
.2 lda (ZPPtr1)
|
||||||
beq .7 end of list, go check no more
|
beq .7 end of list, go check no more
|
||||||
|
|
||||||
jsr CSH.ExpEval
|
jsr CSH.GetNextCharNB skip '('
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
.20 jsr CSH.ExpEval
|
||||||
bcs .90
|
bcs .90
|
||||||
|
|
||||||
lda (ZPPtr1)
|
lda (ZPPtr1)
|
||||||
cmp #CSH.T.VARIADIC
|
cmp #CSH.T.VARIADIC
|
||||||
beq .3
|
bne .3
|
||||||
|
|
||||||
>CMP.G CSH.ACCT Match with ACC ?
|
bra *
|
||||||
|
|
||||||
|
.3 >CMP.G CSH.ACCT Match with ACC ?
|
||||||
bne .99
|
bne .99
|
||||||
|
|
||||||
.3
|
inc ZPPtr1 advance to next arg
|
||||||
|
|
||||||
|
|
||||||
lda (ZPPtr1)
|
|
||||||
cmp #CSH.T.VARIADIC
|
|
||||||
bne .5
|
|
||||||
|
|
||||||
.4 jsr CSH.GetNextCharNB
|
|
||||||
cmp #','
|
|
||||||
bne .7
|
|
||||||
jsr CSH.GetNextCharNB
|
|
||||||
bra .2
|
|
||||||
|
|
||||||
.5 inc ZPPtr1 advance to next arg
|
|
||||||
beq .7
|
beq .7
|
||||||
inc ZPPtr1+1
|
inc ZPPtr1+1
|
||||||
lda (ZPPtr1)
|
lda (ZPPtr1)
|
||||||
bne .4
|
beq .7
|
||||||
|
|
||||||
|
.4 jsr CSH.GetNextCharNB
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
cmp #','
|
||||||
|
bne .9
|
||||||
|
jsr CSH.GetNextCharNB
|
||||||
|
bra .20
|
||||||
|
|
||||||
.7 jsr CSH.GetNextCharNB
|
.7 jsr CSH.GetNextCharNB
|
||||||
bcs .9
|
bcs .9
|
||||||
@ -473,7 +472,7 @@ CSH.FnEval jsr CSH.GetCharNB
|
|||||||
CSH.ExpEval jsr CSH.ZeroACC
|
CSH.ExpEval jsr CSH.ZeroACC
|
||||||
dec A=0
|
dec A=0
|
||||||
>STA.G CSH.EXPBOP1
|
>STA.G CSH.EXPBOP1
|
||||||
|
|
||||||
jsr CSH.GetCharNB
|
jsr CSH.GetCharNB
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
@ -653,24 +652,23 @@ CSH.GetNumInACC >LDA.G CSH.ACCT
|
|||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
>PUSHWI ZPCSHBufPtr
|
>PUSHWI ZPCSHBufPtr
|
||||||
>PUSHW ZPCSHBufPtr
|
>LDYA ZPCSHBufPtr
|
||||||
|
|
||||||
>SYSCALL StrToF
|
>SYSCALL StrToF
|
||||||
bcs .9
|
bcs .9
|
||||||
>PULLF.G CSH.ACC
|
>PULLF.G CSH.ACC
|
||||||
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.1 >PUSHBI 10
|
.1 >PUSHBI 10
|
||||||
|
|
||||||
>PUSHWI ZPCSHBufPtr
|
>PUSHWI ZPCSHBufPtr
|
||||||
>PUSHW ZPCSHBufPtr
|
>LDYA ZPCSHBufPtr
|
||||||
|
|
||||||
>SYSCALL StrToL
|
>SYSCALL StrToL
|
||||||
bcs .9
|
bcs .9
|
||||||
>PULLL.G CSH.ACC
|
>PULLL.G CSH.ACC
|
||||||
|
clc
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CSH.ZeroACC lda #0
|
CSH.ZeroACC lda #0
|
||||||
|
@ -8,7 +8,7 @@ AUTO 4,1
|
|||||||
A2osX.MAIN.S .EQ A2osX.AUX-A2osX.MAIN
|
A2osX.MAIN.S .EQ A2osX.AUX-A2osX.MAIN
|
||||||
A2osX.AUX.S .EQ A2osX.GP-A2osX.AUX
|
A2osX.AUX.S .EQ A2osX.GP-A2osX.AUX
|
||||||
A2osX.GP.S .EQ GP.End-GP.CodeStart
|
A2osX.GP.S .EQ GP.End-GP.CodeStart
|
||||||
A2osX.GP.SC .EQ GP.CodeEnd-GP.CodeStart
|
A2osX.GP.SC .EQ GP.CodeEnd-GP.CodeStart
|
||||||
A2osX.D1.S .EQ A2osX.D2-A2osX.D1
|
A2osX.D1.S .EQ A2osX.D2-A2osX.D1
|
||||||
A2osX.D2.S .EQ A2osX.E0-A2osX.D2
|
A2osX.D2.S .EQ A2osX.E0-A2osX.D2
|
||||||
A2osX.E0.S .EQ A2osX.E0.E-A2osX.E0
|
A2osX.E0.S .EQ A2osX.E0.E-A2osX.E0
|
||||||
|
@ -76,7 +76,6 @@ MATH.Go jsr GP.ROMCALL
|
|||||||
sec
|
sec
|
||||||
sbc #5
|
sbc #5
|
||||||
sta pStack
|
sta pStack
|
||||||
|
|
||||||
sta FORPNT
|
sta FORPNT
|
||||||
lda pStack+1
|
lda pStack+1
|
||||||
sta FORPNT+1
|
sta FORPNT+1
|
||||||
|
@ -13,13 +13,16 @@ AUTO 4,1
|
|||||||
* **Out:**
|
* **Out:**
|
||||||
* On stack (float)
|
* On stack (float)
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
K.StrToF jsr K.AToF
|
K.StrToF >STYA TXTPTR Ptr to source string
|
||||||
>PULLW ZPPtr3
|
>PULLW ZPPtr1
|
||||||
|
|
||||||
|
jsr K.AToF.I
|
||||||
|
|
||||||
lda TXTPTR
|
lda TXTPTR
|
||||||
sta (ZPPtr3)
|
sta (ZPPtr1)
|
||||||
ldy #1
|
ldy #1
|
||||||
lda TXTPTR+1
|
lda TXTPTR+1
|
||||||
sta (ZPPtr3),y
|
sta (ZPPtr1),y
|
||||||
rts
|
rts
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* ## AToF
|
* ## AToF
|
||||||
@ -32,15 +35,25 @@ K.StrToF jsr K.AToF
|
|||||||
* **Out:**
|
* **Out:**
|
||||||
* On stack (float)
|
* On stack (float)
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
K.AToF >PULLW FORPNT Ptr to dst buffer
|
K.AToF >STYA TXTPTR Ptr to source string
|
||||||
>PULLW TXTPTR Ptr to source string
|
|
||||||
jsr CHARGOT
|
K.AToF.I jsr CHARGOT
|
||||||
|
|
||||||
ldx #ROM.FIN
|
ldx #ROM.FIN
|
||||||
|
**** DUP code in MATH.Go ****
|
||||||
jsr GP.ROMCALL
|
jsr GP.ROMCALL
|
||||||
|
|
||||||
|
lda pStack
|
||||||
|
sec
|
||||||
|
sbc #5
|
||||||
|
sta pStack
|
||||||
|
sta FORPNT Ptr to dst buffer
|
||||||
|
lda pStack+1
|
||||||
|
sta FORPNT+1
|
||||||
|
|
||||||
ldx #ROM.GETFAC
|
ldx #ROM.GETFAC
|
||||||
jsr GP.ROMCALL
|
jsr GP.ROMCALL
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
@ -48,7 +61,7 @@ K.AToF >PULLW FORPNT Ptr to dst buffer
|
|||||||
* Convert String to 32 bits (unsigned) int
|
* Convert String to 32 bits (unsigned) int
|
||||||
* # C
|
* # C
|
||||||
* `long strtol (const char* str, char** endptr, int base);`
|
* `long strtol (const char* str, char** endptr, int base);`
|
||||||
* `unsigned long strtol (const char* str, char** endptr, int base);`
|
* `unsigned long strtoul (const char* str, char** endptr, int base);`
|
||||||
* # ASM
|
* # ASM
|
||||||
* **In:**
|
* **In:**
|
||||||
* `>PUSHB Base`
|
* `>PUSHB Base`
|
||||||
@ -60,7 +73,8 @@ K.AToF >PULLW FORPNT Ptr to dst buffer
|
|||||||
K.StrToL sec Signed
|
K.StrToL sec Signed
|
||||||
.HS 90 BCC
|
.HS 90 BCC
|
||||||
K.StrToUL clc Unsigned
|
K.StrToUL clc Unsigned
|
||||||
jsr MEM.PullP1P2P3
|
>STYA ZPPtr2
|
||||||
|
>PULLW ZPPtr1
|
||||||
>PULLA Base
|
>PULLA Base
|
||||||
|
|
||||||
jsr K.AToL.I
|
jsr K.AToL.I
|
||||||
@ -68,25 +82,28 @@ K.StrToUL clc Unsigned
|
|||||||
* clc
|
* clc
|
||||||
|
|
||||||
K.StrToUL.Exit adc ZPPtr2
|
K.StrToUL.Exit adc ZPPtr2
|
||||||
sta (ZPPtr3)
|
sta (ZPPtr1)
|
||||||
lda #0
|
lda #0
|
||||||
adc ZPPtr2+1
|
adc ZPPtr2+1
|
||||||
ldy #1
|
ldy #1
|
||||||
sta (ZPPtr3),y
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
K.StrToUL.rts rts
|
K.StrToUL.rts rts
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # AToL
|
* # AToL
|
||||||
* Convert String to 32 bits int
|
* Convert String to 32 bits int
|
||||||
|
* # C
|
||||||
|
* `long atol ( const char * str );`
|
||||||
|
* # ASM
|
||||||
* **In:**
|
* **In:**
|
||||||
* PUSHW Source String (C-Sring)
|
* `>LDYA str`
|
||||||
* PUSHW PTR to target buffer DWORD
|
|
||||||
* **Out:**
|
* **Out:**
|
||||||
|
* On stack (long)
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
*STDLIB.32 .BS 4 32 bits max
|
*STDLIB.32 .BS 4 32 bits max
|
||||||
STDLIB.32 .EQ FAC 32 bits max
|
STDLIB.32 .EQ FAC 32 bits max
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.AToL jsr MEM.PullP1P2 C-String in Ptr2, Dst buffer in Ptr1
|
K.AToL >STYA ZPPtr2 C-String in Ptr2, Dst buffer in Ptr1
|
||||||
|
|
||||||
lda #10 base 10
|
lda #10 base 10
|
||||||
sec signed
|
sec signed
|
||||||
@ -98,7 +115,7 @@ K.AToL.I jsr STDLIB.GetDec
|
|||||||
ldy #3
|
ldy #3
|
||||||
|
|
||||||
.3 lda STDLIB.32,y
|
.3 lda STDLIB.32,y
|
||||||
sta (ZPPtr1),y
|
>PUSHA
|
||||||
dey
|
dey
|
||||||
bpl .3
|
bpl .3
|
||||||
pla
|
pla
|
||||||
@ -107,10 +124,12 @@ K.AToL.I jsr STDLIB.GetDec
|
|||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # AToI.YA
|
* ## AToI.YA
|
||||||
* Convert String to 16 bits int
|
* # C
|
||||||
|
* `int atoi ( const char * str );`
|
||||||
|
* # ASM
|
||||||
* **In:**
|
* **In:**
|
||||||
* Y,A = Source String (C-String)
|
* `>LDYA str`
|
||||||
* **Out:**
|
* **Out:**
|
||||||
* Y,A = Int
|
* Y,A = Int
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user