mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-19 07:30:41 +00:00
Kernel 0.94
This commit is contained in:
parent
27169807fe
commit
5d6b5670f2
Binary file not shown.
@ -897,6 +897,8 @@ CSH.AddVar >LDA.G CSH.hSymbols
|
|||||||
jsr CSH.NewKey
|
jsr CSH.NewKey
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
>STYA ZPVarID
|
||||||
|
|
||||||
ldx ZPVarType
|
ldx ZPVarType
|
||||||
jsr CSH.SizeOf
|
jsr CSH.SizeOf
|
||||||
sta ZPVarSizeOf
|
sta ZPVarSizeOf
|
||||||
@ -924,10 +926,15 @@ CSH.AddVar >LDA.G CSH.hSymbols
|
|||||||
>PUSHWI ZPVarDef
|
>PUSHWI ZPVarDef
|
||||||
>PUSHWI 6
|
>PUSHWI 6
|
||||||
>SYSCALL SListAddData
|
>SYSCALL SListAddData
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
lda #'*'
|
||||||
|
jsr DEBUG.KPL
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
|
|
||||||
.99
|
.99 lda #CSH.E.OOM
|
||||||
|
.HS 2C BIT ABS
|
||||||
CSH.TMISMATCH lda #CSH.E.TMISMATCH
|
CSH.TMISMATCH lda #CSH.E.TMISMATCH
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
@ -935,10 +942,9 @@ CSH.TMISMATCH lda #CSH.E.TMISMATCH
|
|||||||
CSH.NewKey >PUSHA
|
CSH.NewKey >PUSHA
|
||||||
>PUSHW ZPFileBufPtr
|
>PUSHW ZPFileBufPtr
|
||||||
>SYSCALL SListNewKey
|
>SYSCALL SListNewKey
|
||||||
|
>DEBUG
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>STYA ZPVarID
|
|
||||||
|
|
||||||
txa
|
txa
|
||||||
* clc
|
* clc
|
||||||
adc ZPFileBufPtr
|
adc ZPFileBufPtr
|
||||||
@ -967,19 +973,7 @@ CSH.SetVarValueFromStack
|
|||||||
|
|
||||||
|
|
||||||
lda #'>'
|
lda #'>'
|
||||||
>SYSCALL putchar
|
jsr DEBUG.KPL
|
||||||
>PUSHW L.MSG.DBGPL
|
|
||||||
>PUSHW ZPVarDataPtr
|
|
||||||
|
|
||||||
ldy #3
|
|
||||||
|
|
||||||
.2 >PUSHB (ZPVarDataPtr),y
|
|
||||||
dey
|
|
||||||
bpl .2
|
|
||||||
|
|
||||||
>PUSHBI 6
|
|
||||||
>SYSCALL printf
|
|
||||||
>DEBUG
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@ -1042,6 +1036,7 @@ CSH.Get >PUSHW ZPFileBufPtr
|
|||||||
* Output : Stack, X = Var Type
|
* Output : Stack, X = Var Type
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CSH.GetVarValueOnStack
|
CSH.GetVarValueOnStack
|
||||||
|
>DEBUG
|
||||||
phx
|
phx
|
||||||
phy
|
phy
|
||||||
pha
|
pha
|
||||||
@ -1086,19 +1081,8 @@ CSH.GetVarValueOnStack
|
|||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
lda #'<'
|
lda #'<'
|
||||||
>SYSCALL putchar
|
jsr DEBUG.KPL
|
||||||
>PUSHW L.MSG.DBGPL
|
|
||||||
>PUSHW ZPVarDataPtr
|
|
||||||
|
|
||||||
ldy #3
|
|
||||||
|
|
||||||
.20 >PUSHB (ZPVarDataPtr),y
|
|
||||||
dey
|
|
||||||
bpl .20
|
|
||||||
|
|
||||||
>PUSHBI 6
|
|
||||||
>SYSCALL printf
|
|
||||||
>DEBUG
|
|
||||||
ldx ZPVarType
|
ldx ZPVarType
|
||||||
clc X = Var Type
|
clc X = Var Type
|
||||||
.9 rts
|
.9 rts
|
||||||
@ -1365,6 +1349,23 @@ CSH.SIZEOF txa
|
|||||||
.2 lda #2
|
.2 lda #2
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
DEBUG.KPL >SYSCALL putchar
|
||||||
|
|
||||||
|
>PUSHW L.MSG.DBGKPL
|
||||||
|
>PUSHW ZPVarID
|
||||||
|
>PUSHW ZPVarDataPtr
|
||||||
|
|
||||||
|
ldy #3
|
||||||
|
|
||||||
|
.1 >PUSHB (ZPVarDataPtr),y
|
||||||
|
dey
|
||||||
|
bpl .1
|
||||||
|
|
||||||
|
>PUSHBI 8
|
||||||
|
>SYSCALL printf
|
||||||
|
* >DEBUG
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/BIN/CSH.S.CORE
|
SAVE USR/SRC/BIN/CSH.S.CORE
|
||||||
LOAD USR/SRC/BIN/CSH.S
|
LOAD USR/SRC/BIN/CSH.S
|
||||||
|
@ -67,7 +67,7 @@ L.MSG.USAGE .DA MSG.USAGE
|
|||||||
L.MSG.ECHOCRLF .DA MSG.ECHOCRLF
|
L.MSG.ECHOCRLF .DA MSG.ECHOCRLF
|
||||||
L.MSG.DEBUG .DA MSG.DEBUG
|
L.MSG.DEBUG .DA MSG.DEBUG
|
||||||
L.MSG.ERR .DA MSG.ERR
|
L.MSG.ERR .DA MSG.ERR
|
||||||
L.MSG.DBGPL .DA MSG.DBGPL
|
L.MSG.DBGKPL .DA MSG.DBGKPL
|
||||||
.INB USR/SRC/BIN/CSH.R
|
.INB USR/SRC/BIN/CSH.R
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -303,7 +303,7 @@ MSG.USAGE .AS "Usage : CSH <option> file\r\n"
|
|||||||
MSG.ECHOCRLF .AZ "\r\n"
|
MSG.ECHOCRLF .AZ "\r\n"
|
||||||
MSG.DEBUG .AZ "pStack=%H"
|
MSG.DEBUG .AZ "pStack=%H"
|
||||||
MSG.ERR .AZ "^\r\nLine #%D:"
|
MSG.ERR .AZ "^\r\nLine #%D:"
|
||||||
MSG.DBGPL .AZ "P=%H, V=%L\r\n"
|
MSG.DBGKPL .AZ "K=%H, P=%H, V=%L\r\n"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
OptionList .AS "DdTt"
|
OptionList .AS "DdTt"
|
||||||
OptionVars .DA #bDebug,#bDebug,#bTrace,#bTrace
|
OptionVars .DA #bDebug,#bDebug,#bTrace,#bTrace
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
ZPSListKeyID .EQ ZPMEMMGR+8
|
||||||
ZPSListDataLen .EQ ZPMEMMGR+10
|
ZPSListDataLen .EQ ZPMEMMGR+10
|
||||||
ZPSListIBlkPtr .EQ ZPMEMMGR+12
|
ZPSListIBlkPtr .EQ ZPMEMMGR+12
|
||||||
ZPSListDBlkPtr .EQ ZPMEMMGR+14
|
ZPSListDBlkPtr .EQ ZPMEMMGR+14
|
||||||
@ -13,9 +14,11 @@ SLIST.bStringMode .BS 1
|
|||||||
SLIST.KeyID .EQ *
|
SLIST.KeyID .EQ *
|
||||||
SLIST.BytePtr .BS 1
|
SLIST.BytePtr .BS 1
|
||||||
SLIST.BlockPtr .BS 1
|
SLIST.BlockPtr .BS 1
|
||||||
|
SLIST.KeyID.Save .BS 2
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SLISTX.SListGetData
|
SLISTX.SListGetData
|
||||||
jsr SLIST.Select
|
jsr SLIST.Select
|
||||||
|
|
||||||
jsr SLIST.SkipKey
|
jsr SLIST.SkipKey
|
||||||
jsr SLIST.GetDataLen
|
jsr SLIST.GetDataLen
|
||||||
|
|
||||||
@ -107,9 +110,10 @@ SLISTX.SListGetData
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SLISTX.SListAddData
|
SLISTX.SListAddData
|
||||||
jsr SLIST.Select
|
jsr SLIST.Select
|
||||||
|
|
||||||
jsr SLIST.SkipKey
|
jsr SLIST.SkipKey
|
||||||
>LDYA SLIST.KeyID Save DataLen location
|
>LDYA SLIST.KeyID Save DataLen location
|
||||||
>STYA TXTPTR to update later
|
>STYA SLIST.KeyID.Save to update later
|
||||||
|
|
||||||
ldy SLIST.BytePtr
|
ldy SLIST.BytePtr
|
||||||
lda (ZPSListDBlkPtr),y
|
lda (ZPSListDBlkPtr),y
|
||||||
@ -155,6 +159,7 @@ SLISTX.SListAddData
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SLISTX.SListSetData
|
SLISTX.SListSetData
|
||||||
jsr SLIST.Select
|
jsr SLIST.Select
|
||||||
|
|
||||||
jsr SLIST.SkipKey
|
jsr SLIST.SkipKey
|
||||||
jsr SLIST.GetDataLen
|
jsr SLIST.GetDataLen
|
||||||
|
|
||||||
@ -250,7 +255,7 @@ SLISTX.SListNewKey
|
|||||||
jsr SLIST.AddBlockByte
|
jsr SLIST.AddBlockByte
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDYA TXTPTR
|
>LDYA SLIST.KeyID
|
||||||
ldx SLIST.KeyLen
|
ldx SLIST.KeyLen
|
||||||
* clc
|
* clc
|
||||||
rts
|
rts
|
||||||
@ -263,7 +268,6 @@ SLISTX.SListLookup
|
|||||||
jsr SLIST.Search
|
jsr SLIST.Search
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDYA TXTPTR
|
|
||||||
ldx SLIST.KeyLen
|
ldx SLIST.KeyLen
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -285,19 +289,24 @@ SLISTX.SListFree
|
|||||||
.8 lda SLIST.hList
|
.8 lda SLIST.hList
|
||||||
jmp K.FreeMem
|
jmp K.FreeMem
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SLISTX.SListNew >LDYAI 160 40k Max before out of memory!!!
|
SLISTX.SListNew >LDYAI 128 32k Max before out of memory!!!
|
||||||
jsr K.GetMem0
|
jsr K.GetMem0
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>STYA ZPSListIBlkPtr
|
>STYA ZPSListIBlkPtr
|
||||||
stx .8+1
|
stx .8+1
|
||||||
|
|
||||||
>LDYAI 256
|
>LDYAI 256
|
||||||
jsr K.GetMem
|
jsr K.GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>STYA ZPSListDBlkPtr
|
>STYA ZPSListDBlkPtr
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sta (ZPSListDBlkPtr)
|
sta (ZPSListDBlkPtr)
|
||||||
txa
|
txa
|
||||||
sta (ZPSListIBlkPtr)
|
sta (ZPSListIBlkPtr)
|
||||||
|
|
||||||
.8 lda #$ff SELF MODIFIED
|
.8 lda #$ff SELF MODIFIED
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -316,6 +325,7 @@ SLIST.Search lda SLIST.hList
|
|||||||
.1 iny
|
.1 iny
|
||||||
jsr SHARED.TXTPTR.GetY
|
jsr SHARED.TXTPTR.GetY
|
||||||
beq .11
|
beq .11
|
||||||
|
|
||||||
jsr SHARED.IsIDValid
|
jsr SHARED.IsIDValid
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
@ -324,15 +334,16 @@ SLIST.Search lda SLIST.hList
|
|||||||
stz SLIST.BytePtr
|
stz SLIST.BytePtr
|
||||||
stz SLIST.BlockPtr
|
stz SLIST.BlockPtr
|
||||||
|
|
||||||
.2 >LDYA SLIST.KeyID
|
.2 ldy SLIST.BytePtr
|
||||||
>STYA TXTPTR
|
|
||||||
ldy SLIST.BytePtr
|
|
||||||
lda (ZPSListDBlkPtr),y
|
lda (ZPSListDBlkPtr),y
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
cmp SLIST.KeyLen
|
cmp SLIST.KeyLen
|
||||||
bne .5
|
bne .5
|
||||||
|
|
||||||
|
>LDYA SLIST.KeyID
|
||||||
|
>STYA SLIST.KeyID.Save
|
||||||
|
|
||||||
jsr SLIST.GetNextByte Skip Len
|
jsr SLIST.GetNextByte Skip Len
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
@ -351,10 +362,13 @@ SLIST.Search lda SLIST.hList
|
|||||||
cpy SLIST.KeyLen
|
cpy SLIST.KeyLen
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
|
>LDYA SLIST.KeyID.Save
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.5 jsr SLIST.Select.I move back to ZPSListKeyID
|
.5 >LDYA SLIST.KeyID.Save
|
||||||
|
|
||||||
|
jsr SLIST.Select.I move back...
|
||||||
jsr SLIST.Next
|
jsr SLIST.Next
|
||||||
bra .2
|
bra .2
|
||||||
|
|
||||||
@ -366,15 +380,16 @@ SLIST.Select lda SLIST.hList
|
|||||||
jsr K.GetMemPtr
|
jsr K.GetMemPtr
|
||||||
>STYA ZPSListIBlkPtr
|
>STYA ZPSListIBlkPtr
|
||||||
|
|
||||||
SLIST.Select.I ldy TXTPTR+1
|
>LDYA TXTPTR
|
||||||
sty SLIST.BlockPtr
|
|
||||||
|
SLIST.Select.I >STYA SLIST.KeyID
|
||||||
|
|
||||||
|
ldy SLIST.BlockPtr
|
||||||
|
|
||||||
lda (ZPSListIBlkPtr),y
|
lda (ZPSListIBlkPtr),y
|
||||||
jsr K.GetMemPtr
|
jsr K.GetMemPtr
|
||||||
>STYA ZPSListDBlkPtr
|
>STYA ZPSListDBlkPtr
|
||||||
|
|
||||||
lda TXTPTR
|
|
||||||
sta SLIST.BytePtr
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SLIST.Next jsr SLIST.SkipKey
|
SLIST.Next jsr SLIST.SkipKey
|
||||||
|
Loading…
x
Reference in New Issue
Block a user