mirror of
https://github.com/A2osX/A2osX.git
synced 2024-07-13 13:29:04 +00:00
Kernel 0.9.2
This commit is contained in:
parent
005c2ee1c6
commit
49f95d6184
Binary file not shown.
Binary file not shown.
@ -35,7 +35,9 @@ CS.START cld
|
|||||||
.DA CS.DOEVENT
|
.DA CS.DOEVENT
|
||||||
.DA CS.QUIT
|
.DA CS.QUIT
|
||||||
L.LIBTCPIP .DA LIBTCPIP
|
L.LIBTCPIP .DA LIBTCPIP
|
||||||
L.Socket .DA Socket
|
L.SA.LOCAL .DA SA.LOCAL
|
||||||
|
L.SA.REMOTE .DA SA.REMOTE
|
||||||
|
L.SA.REMOTE.AD .DA SA.REMOTE+S.SOCKADDR.ADDR
|
||||||
L.ICMP.Request .DA ICMP.Request
|
L.ICMP.Request .DA ICMP.Request
|
||||||
L.MSG.IPKO .DA MSG.IPKO
|
L.MSG.IPKO .DA MSG.IPKO
|
||||||
L.MSG.USAGE .DA MSG.USAGE
|
L.MSG.USAGE .DA MSG.USAGE
|
||||||
@ -71,10 +73,11 @@ CS.RUN.IPOK
|
|||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
bcs .8
|
bcs .8
|
||||||
>STYA ZPTmpPtr
|
>STYA ZPTmpPtr
|
||||||
|
>SYSCALL puts
|
||||||
|
|
||||||
lda (ZPTmpPtr)
|
lda (ZPTmpPtr)
|
||||||
cmp #'-'
|
cmp #'-'
|
||||||
bne .2
|
bne .21
|
||||||
|
|
||||||
ldy #1
|
ldy #1
|
||||||
lda (ZPTmpPtr),y
|
lda (ZPTmpPtr),y
|
||||||
@ -89,9 +92,9 @@ CS.RUN.IPOK
|
|||||||
>STA.G PingCount
|
>STA.G PingCount
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
jsr Init.Timeout
|
.21 jsr Init.Timeout
|
||||||
|
|
||||||
.2 >PUSHEA.G DST.IP
|
.2 >PUSHW L.SA.REMOTE.AD
|
||||||
>PUSHW ZPTmpPtr
|
>PUSHW ZPTmpPtr
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.HST.GETBYNAME
|
>LIBCALL hLIBTCPIP,LIBTCPIP.HST.GETBYNAME
|
||||||
bcc .3
|
bcc .3
|
||||||
@ -108,7 +111,7 @@ CS.RUN.IPOK
|
|||||||
>STA.G ArgHostName
|
>STA.G ArgHostName
|
||||||
jmp .1
|
jmp .1
|
||||||
|
|
||||||
.8 >LDA.G DST.IP
|
.8 lda SA.REMOTE+S.SOCKADDR.ADDR
|
||||||
bne CS.RUN.ARGSOK
|
bne CS.RUN.ARGSOK
|
||||||
|
|
||||||
.9 >PUSHBI 0
|
.9 >PUSHBI 0
|
||||||
@ -124,13 +127,10 @@ CS.RUN.ARGSOK >LDA.G ArgHostName
|
|||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
|
|
||||||
ldy #DST.IP+3
|
|
||||||
ldx #3
|
ldx #3
|
||||||
|
|
||||||
.1 lda (pData),y
|
.1 lda SA.REMOTE+S.SOCKADDR.ADDR,x
|
||||||
sta Socket.Dst.Addr,x
|
|
||||||
>PUSHA
|
>PUSHA
|
||||||
dey
|
|
||||||
dex
|
dex
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
@ -142,21 +142,22 @@ CS.RUN.OPENSKT ldx #3
|
|||||||
ldy #S.IPCFG.IP+3
|
ldy #S.IPCFG.IP+3
|
||||||
|
|
||||||
.1 lda (ZPIPCfgPtr),y
|
.1 lda (ZPIPCfgPtr),y
|
||||||
sta Socket.Src.Addr,x
|
sta SA.LOCAL+S.SOCKADDR.ADDR,x
|
||||||
dey
|
dey
|
||||||
dex
|
dex
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
ldy #Identifier
|
ldy #Identifier
|
||||||
lda A2OSX.RANDOM16
|
lda A2OSX.RANDOM16
|
||||||
sta Socket.Dst.Port
|
sta SA.REMOTE+S.SOCKADDR.PORT
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
iny
|
iny
|
||||||
lda A2OSX.RANDOM16+1
|
lda A2OSX.RANDOM16+1
|
||||||
sta Socket.Dst.Port+1
|
sta SA.REMOTE+S.SOCKADDR.PORT+1
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
>PUSHW L.Socket
|
>PUSHBI S.IP.PROTOCOL.ICMP
|
||||||
|
lda #S.SOCKET.T.RAW
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.socket
|
>LIBCALL hLIBTCPIP,LIBTCPIP.socket
|
||||||
bcc .2
|
bcc .2
|
||||||
|
|
||||||
@ -167,6 +168,12 @@ CS.RUN.OPENSKT ldx #3
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.2 >STA.G hSocket
|
.2 >STA.G hSocket
|
||||||
|
pha
|
||||||
|
>PUSHW L.SA.LOCAL
|
||||||
|
pla
|
||||||
|
>LIBCALL hLIBTCPIP,LIBTCPIP.Bind
|
||||||
|
bcc CS.RUN.SEND.ECHO
|
||||||
|
rts
|
||||||
|
|
||||||
CS.RUN.SEND.ECHO
|
CS.RUN.SEND.ECHO
|
||||||
ldy #Identifier
|
ldy #Identifier
|
||||||
@ -251,13 +258,11 @@ CS.DOEVENT lda (pEvent)
|
|||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.Print.UNREACH
|
CS.Print.UNREACH
|
||||||
ldx #4
|
ldx #3
|
||||||
ldy #DST.IP+3
|
|
||||||
|
|
||||||
.1 >PUSHB (pData),y
|
.1 >PUSHB SA.LOCAL+S.SOCKADDR.ADDR,x
|
||||||
dey
|
|
||||||
dex
|
dex
|
||||||
bne .1
|
bpl .1
|
||||||
|
|
||||||
>PUSHBI 4
|
>PUSHBI 4
|
||||||
>LDYA L.MSG.UNREACH
|
>LDYA L.MSG.UNREACH
|
||||||
@ -349,14 +354,15 @@ MSG.UNREACH .AZ "%d.%d.%d.%d: TimeOut/Host unreachable\r\n"
|
|||||||
MSG.REPLY .AZ "32 bytes from %d.%d.%d.%d, icmp_seq=%D, ttl=%d, time=%D ms\r\n"
|
MSG.REPLY .AZ "32 bytes from %d.%d.%d.%d, icmp_seq=%D, ttl=%d, time=%D ms\r\n"
|
||||||
hLIBTCPIP .BS 1
|
hLIBTCPIP .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Socket .DA #S.SOCKET.T.RAW
|
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
||||||
.BS 1
|
.BS 1
|
||||||
.DA #S.IP.PROTOCOL.ICMP
|
.BS 4 S.SOCKADDR.ADDR
|
||||||
|
.BS 2 S.SOCKADDR.PORT
|
||||||
|
*--------------------------------------
|
||||||
|
SA.REMOTE .DA #AF.INET S.SOCKADDR.AF
|
||||||
.BS 1
|
.BS 1
|
||||||
Socket.Src.Addr .BS 4
|
.BS 4 S.SOCKADDR.ADDR
|
||||||
Socket.Src.Port .DA 0 Dynamic
|
.BS 2
|
||||||
Socket.Dst.Addr .BS 4
|
|
||||||
Socket.Dst.Port .DA 0 Identifier
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ICMP.Request .DA #S.ICMP.TYPE.ECHOREQ
|
ICMP.Request .DA #S.ICMP.TYPE.ECHOREQ
|
||||||
.DA #0 CODE
|
.DA #0 CODE
|
||||||
@ -373,7 +379,6 @@ DS.START
|
|||||||
ArgIndex .BS 1
|
ArgIndex .BS 1
|
||||||
PingCount .BS 1
|
PingCount .BS 1
|
||||||
ArgHostName .BS 1
|
ArgHostName .BS 1
|
||||||
DST.IP .BS 4
|
|
||||||
hSocket .BS 1
|
hSocket .BS 1
|
||||||
hFrame .BS 1
|
hFrame .BS 1
|
||||||
Identifier .BS 2
|
Identifier .BS 2
|
||||||
|
Loading…
Reference in New Issue
Block a user