mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-06 14:30:08 +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
|
||||
`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
|
||||
**In:**
|
||||
@ -629,15 +629,24 @@ On stack (long)
|
||||
|
||||
# AToL
|
||||
Convert String to 32 bits int
|
||||
|
||||
# C
|
||||
`long atol ( const char * str );`
|
||||
|
||||
# ASM
|
||||
**In:**
|
||||
+ PUSHW Source String (C-Sring)
|
||||
+ PUSHW PTR to target buffer DWORD
|
||||
`>LDYA str`
|
||||
**Out:**
|
||||
On stack (long)
|
||||
|
||||
# AToI.YA
|
||||
Convert String to 16 bits int
|
||||
|
||||
# C
|
||||
`long atol ( const char * str );`
|
||||
|
||||
# ASM
|
||||
**In:**
|
||||
+ Y,A = Source String (C-String)
|
||||
`>LDYA str`
|
||||
**Out:**
|
||||
+ 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 #1 BIN Layout Version 1
|
||||
.DA 0
|
||||
.DA CS.END-CS.START Code Length To Relocate
|
||||
.DA 0 Data Segment to Allocate
|
||||
.DA #16 SS
|
||||
.DA CS.END-CS.START CS
|
||||
.DA DS.END-DS.START DS
|
||||
.DA #64 SS
|
||||
.DA #2 ZP
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
@ -66,7 +66,7 @@ CS.RUN >LDYA L.MSG0
|
||||
>STYA ZPPTR1
|
||||
|
||||
lda #K.SKTTABLE.SIZE
|
||||
sta SocketCount
|
||||
>STA.G SocketCount
|
||||
|
||||
.1 lda (ZPPTR1)
|
||||
beq .7
|
||||
@ -110,10 +110,10 @@ CS.RUN >LDYA L.MSG0
|
||||
adc /S.SOCKET
|
||||
sta ZPPTR1+1
|
||||
|
||||
dec SocketCount
|
||||
bne .1
|
||||
>DEC.G SocketCount
|
||||
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
|
||||
rts
|
||||
*--------------------------------------
|
||||
@ -147,7 +147,14 @@ MSG1.S.8 .AZ "FIN-WAIT-2"
|
||||
MSG1.S.9 .AZ "CLOSING"
|
||||
MSG1.S.10 .AZ "TIME-WAIT"
|
||||
hLIBTCPIP .BS 1
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
SocketCount .BS 1
|
||||
DS.END
|
||||
.ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.SRC/BIN/NETSTAT.S
|
||||
ASM
|
||||
|
@ -349,7 +349,6 @@ CSH.ULONG lda #CSH.T.ULONG
|
||||
CSH.FLOAT lda #CSH.T.FLOAT
|
||||
|
||||
CSH.TYPE >STA.G CSH.ACCT
|
||||
|
||||
jsr CSH.GetChar
|
||||
bcs .9
|
||||
cmp #' '
|
||||
@ -421,34 +420,34 @@ CSH.FnEval jsr CSH.GetCharNB
|
||||
.2 lda (ZPPtr1)
|
||||
beq .7 end of list, go check no more
|
||||
|
||||
jsr CSH.ExpEval
|
||||
jsr CSH.GetNextCharNB skip '('
|
||||
bcs .9
|
||||
|
||||
.20 jsr CSH.ExpEval
|
||||
bcs .90
|
||||
|
||||
lda (ZPPtr1)
|
||||
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
|
||||
|
||||
.3
|
||||
|
||||
|
||||
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
|
||||
inc ZPPtr1 advance to next arg
|
||||
beq .7
|
||||
inc ZPPtr1+1
|
||||
lda (ZPPtr1)
|
||||
bne .4
|
||||
beq .7
|
||||
|
||||
.4 jsr CSH.GetNextCharNB
|
||||
bcs .9
|
||||
|
||||
cmp #','
|
||||
bne .9
|
||||
jsr CSH.GetNextCharNB
|
||||
bra .20
|
||||
|
||||
.7 jsr CSH.GetNextCharNB
|
||||
bcs .9
|
||||
@ -473,7 +472,7 @@ CSH.FnEval jsr CSH.GetCharNB
|
||||
CSH.ExpEval jsr CSH.ZeroACC
|
||||
dec A=0
|
||||
>STA.G CSH.EXPBOP1
|
||||
|
||||
|
||||
jsr CSH.GetCharNB
|
||||
bcs .9
|
||||
|
||||
@ -653,24 +652,23 @@ CSH.GetNumInACC >LDA.G CSH.ACCT
|
||||
bcc .1
|
||||
|
||||
>PUSHWI ZPCSHBufPtr
|
||||
>PUSHW ZPCSHBufPtr
|
||||
|
||||
>LDYA ZPCSHBufPtr
|
||||
|
||||
>SYSCALL StrToF
|
||||
bcs .9
|
||||
>PULLF.G CSH.ACC
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
.1 >PUSHBI 10
|
||||
|
||||
>PUSHWI ZPCSHBufPtr
|
||||
>PUSHW ZPCSHBufPtr
|
||||
>LDYA ZPCSHBufPtr
|
||||
|
||||
>SYSCALL StrToL
|
||||
bcs .9
|
||||
>PULLL.G CSH.ACC
|
||||
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CSH.ZeroACC lda #0
|
||||
|
@ -8,7 +8,7 @@ AUTO 4,1
|
||||
A2osX.MAIN.S .EQ A2osX.AUX-A2osX.MAIN
|
||||
A2osX.AUX.S .EQ A2osX.GP-A2osX.AUX
|
||||
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.D2.S .EQ A2osX.E0-A2osX.D2
|
||||
A2osX.E0.S .EQ A2osX.E0.E-A2osX.E0
|
||||
|
@ -76,7 +76,6 @@ MATH.Go jsr GP.ROMCALL
|
||||
sec
|
||||
sbc #5
|
||||
sta pStack
|
||||
|
||||
sta FORPNT
|
||||
lda pStack+1
|
||||
sta FORPNT+1
|
||||
|
@ -13,13 +13,16 @@ AUTO 4,1
|
||||
* **Out:**
|
||||
* On stack (float)
|
||||
*\--------------------------------------
|
||||
K.StrToF jsr K.AToF
|
||||
>PULLW ZPPtr3
|
||||
K.StrToF >STYA TXTPTR Ptr to source string
|
||||
>PULLW ZPPtr1
|
||||
|
||||
jsr K.AToF.I
|
||||
|
||||
lda TXTPTR
|
||||
sta (ZPPtr3)
|
||||
sta (ZPPtr1)
|
||||
ldy #1
|
||||
lda TXTPTR+1
|
||||
sta (ZPPtr3),y
|
||||
sta (ZPPtr1),y
|
||||
rts
|
||||
*/--------------------------------------
|
||||
* ## AToF
|
||||
@ -32,15 +35,25 @@ K.StrToF jsr K.AToF
|
||||
* **Out:**
|
||||
* On stack (float)
|
||||
*\--------------------------------------
|
||||
K.AToF >PULLW FORPNT Ptr to dst buffer
|
||||
>PULLW TXTPTR Ptr to source string
|
||||
jsr CHARGOT
|
||||
K.AToF >STYA TXTPTR Ptr to source string
|
||||
|
||||
K.AToF.I jsr CHARGOT
|
||||
|
||||
ldx #ROM.FIN
|
||||
**** DUP code in MATH.Go ****
|
||||
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
|
||||
jsr GP.ROMCALL
|
||||
|
||||
clc
|
||||
rts
|
||||
*/--------------------------------------
|
||||
@ -48,7 +61,7 @@ K.AToF >PULLW FORPNT Ptr to dst buffer
|
||||
* Convert String to 32 bits (unsigned) int
|
||||
* # C
|
||||
* `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
|
||||
* **In:**
|
||||
* `>PUSHB Base`
|
||||
@ -60,7 +73,8 @@ K.AToF >PULLW FORPNT Ptr to dst buffer
|
||||
K.StrToL sec Signed
|
||||
.HS 90 BCC
|
||||
K.StrToUL clc Unsigned
|
||||
jsr MEM.PullP1P2P3
|
||||
>STYA ZPPtr2
|
||||
>PULLW ZPPtr1
|
||||
>PULLA Base
|
||||
|
||||
jsr K.AToL.I
|
||||
@ -68,25 +82,28 @@ K.StrToUL clc Unsigned
|
||||
* clc
|
||||
|
||||
K.StrToUL.Exit adc ZPPtr2
|
||||
sta (ZPPtr3)
|
||||
sta (ZPPtr1)
|
||||
lda #0
|
||||
adc ZPPtr2+1
|
||||
ldy #1
|
||||
sta (ZPPtr3),y
|
||||
sta (ZPPtr1),y
|
||||
|
||||
K.StrToUL.rts rts
|
||||
*/--------------------------------------
|
||||
* # AToL
|
||||
* Convert String to 32 bits int
|
||||
* # C
|
||||
* `long atol ( const char * str );`
|
||||
* # ASM
|
||||
* **In:**
|
||||
* PUSHW Source String (C-Sring)
|
||||
* PUSHW PTR to target buffer DWORD
|
||||
* `>LDYA str`
|
||||
* **Out:**
|
||||
* On stack (long)
|
||||
*\--------------------------------------
|
||||
*STDLIB.32 .BS 4 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
|
||||
sec signed
|
||||
@ -98,7 +115,7 @@ K.AToL.I jsr STDLIB.GetDec
|
||||
ldy #3
|
||||
|
||||
.3 lda STDLIB.32,y
|
||||
sta (ZPPtr1),y
|
||||
>PUSHA
|
||||
dey
|
||||
bpl .3
|
||||
pla
|
||||
@ -107,10 +124,12 @@ K.AToL.I jsr STDLIB.GetDec
|
||||
|
||||
.9 rts
|
||||
*/--------------------------------------
|
||||
* # AToI.YA
|
||||
* Convert String to 16 bits int
|
||||
* ## AToI.YA
|
||||
* # C
|
||||
* `int atoi ( const char * str );`
|
||||
* # ASM
|
||||
* **In:**
|
||||
* Y,A = Source String (C-String)
|
||||
* `>LDYA str`
|
||||
* **Out:**
|
||||
* Y,A = Int
|
||||
*\--------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user