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