mirror of
https://github.com/A2osX/A2osX.git
synced 2025-03-24 09:33:48 +00:00
Kernel 0.94++
This commit is contained in:
parent
80f0627240
commit
4ec4d5432b
Binary file not shown.
@ -5,38 +5,55 @@ NEW
|
||||
* Y = Type, A = OP
|
||||
*--------------------------------------
|
||||
CSH.BOP.EXEC cpy #CSH.T.UINT
|
||||
bcs .1
|
||||
bcs .3
|
||||
|
||||
cpy #CSH.T.UCHAR
|
||||
beq .1
|
||||
|
||||
.1 clc
|
||||
adc CSH.Type2FPU-3,y
|
||||
cpy #CSH.T.SCHAR
|
||||
beq .2
|
||||
|
||||
lda #E.TMISMATCH
|
||||
sec
|
||||
rts
|
||||
|
||||
.1 tax
|
||||
jmp (J.CSH.bBOPS,x)
|
||||
|
||||
.2 tax
|
||||
jmp (J.CSH.cBOPS,x)
|
||||
|
||||
.3 clc
|
||||
adc CSH.Type2FPU-CSH.T.UINT,y
|
||||
tax
|
||||
jsr A2osX.FPUCALL
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CSH.BOPS.MUL clc
|
||||
CSH.BOPS.bMUL
|
||||
CSH.BOPS.cMUL
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CSH.BOPS.DIV clc
|
||||
CSH.BOPS.bDIV
|
||||
CSH.BOPS.cDIV
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CSH.BOPS.MOD clc
|
||||
CSH.BOPS.bMOD
|
||||
CSH.BOPS.cMOD
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CSH.BOPS.ADD
|
||||
CSH.BOPS.ADDi8
|
||||
CSH.BOPS.ADDu8 clc
|
||||
CSH.BOPS.ADD clc
|
||||
>PULLA
|
||||
adc (pStack)
|
||||
sta (pStack)
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CSH.BOPS.SUB
|
||||
CSH.BOPS.SUBi8
|
||||
CSH.BOPS.SUBu8 sec
|
||||
CSH.BOPS.SUB sec
|
||||
ldy #1
|
||||
lda (pStack),y
|
||||
sbc (pStack)
|
||||
@ -45,8 +62,7 @@ CSH.BOPS.SUBu8 sec
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CSH.BOPS.SHL
|
||||
CSH.BOPS.SHL8 lda (pStack)
|
||||
CSH.BOPS.SHL lda (pStack)
|
||||
tax
|
||||
beq .8
|
||||
|
||||
@ -63,8 +79,23 @@ CSH.BOPS.SHL8 lda (pStack)
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CSH.BOPS.SHR
|
||||
CSH.BOPS.SHR lda (pStack)
|
||||
tax
|
||||
beq .8
|
||||
|
||||
ldy #1
|
||||
lda (pStack),y
|
||||
|
||||
.1 lsr
|
||||
dex
|
||||
bne .1
|
||||
|
||||
sta (pStack),y
|
||||
|
||||
.8 inc pStack
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CSH.BOPS.L
|
||||
CSH.BOPS.G
|
||||
CSH.BOPS.LE
|
||||
@ -120,8 +151,7 @@ EXEC.puts >PULLYA
|
||||
>PUSHYA
|
||||
rts
|
||||
*--------------------------------------
|
||||
EXEC.printf
|
||||
>SYSCALL PrintF
|
||||
EXEC.printf >SYSCALL PrintF
|
||||
>PUSHYA
|
||||
rts
|
||||
*--------------------------------------
|
||||
@ -153,6 +183,8 @@ EXEC.malloc >PULLYA
|
||||
>PUSHYA
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/bin/csh.s.exec
|
||||
LOAD usr/src/bin/csh.s
|
||||
|
@ -88,9 +88,27 @@ L.MSG.DEBUG .DA MSG.DEBUG
|
||||
L.MSG.ERR .DA MSG.ERR
|
||||
L.ENV.INCLUDE .DA ENV.INCLUDE
|
||||
L.CSH.BOPS .DA CSH.BOPS
|
||||
J.CSH.BOPS .DA CSH.BOPS.MUL
|
||||
.DA CSH.BOPS.DIV
|
||||
.DA CSH.BOPS.MOD
|
||||
J.CSH.bBOPS .DA CSH.BOPS.bMUL
|
||||
.DA CSH.BOPS.bDIV
|
||||
.DA CSH.BOPS.bMOD
|
||||
.DA CSH.BOPS.ADD
|
||||
.DA CSH.BOPS.SUB
|
||||
.DA CSH.BOPS.SHL
|
||||
.DA CSH.BOPS.SHR
|
||||
.DA CSH.BOPS.L
|
||||
.DA CSH.BOPS.LE
|
||||
.DA CSH.BOPS.G
|
||||
.DA CSH.BOPS.GE
|
||||
.DA CSH.BOPS.EQ
|
||||
.DA CSH.BOPS.NE
|
||||
.DA CSH.BOPS.AND
|
||||
.DA CSH.BOPS.OR
|
||||
.DA CSH.BOPS.EOR
|
||||
.DA CSH.BOPS.LAND
|
||||
.DA CSH.BOPS.LOR
|
||||
J.CSH.cBOPS .DA CSH.BOPS.cMUL
|
||||
.DA CSH.BOPS.cDIV
|
||||
.DA CSH.BOPS.cMOD
|
||||
.DA CSH.BOPS.ADD
|
||||
.DA CSH.BOPS.SUB
|
||||
.DA CSH.BOPS.SHL
|
||||
@ -486,8 +504,6 @@ CSH.BOPS >PSTR "*"
|
||||
>PSTR "||"
|
||||
.HS 00
|
||||
*--------------------------------------
|
||||
CSH.Type2FPU .DA #FPU.wMUL,#FPU.iMUL,#FPU.uMUL,#FPU.lMUL,FPU.fMUL
|
||||
*--------------------------------------
|
||||
* Reserved Directives:
|
||||
*--------------------------------------
|
||||
CSH.DIRS >PSTR "define"
|
||||
@ -519,6 +535,8 @@ CSH.TYPES >PSTR "void"
|
||||
>PSTR "float"
|
||||
.HS 00
|
||||
*--------------------------------------
|
||||
CSH.Type2FPU .DA #FPU.wMUL,#FPU.iMUL,#FPU.uMUL,#FPU.lMUL,FPU.fMUL
|
||||
*--------------------------------------
|
||||
CSH.FTYPES >PSTR "fastcall"
|
||||
* .HS 00
|
||||
*--------------------------------------
|
||||
|
@ -86,8 +86,7 @@ SCRN.UpdateTopBar.1
|
||||
|
||||
>PUSHW LineBufPtr
|
||||
>PUSHW L.MSG.TOPBAR
|
||||
>PUSHB #K.VER
|
||||
>PUSHB /K.VER
|
||||
>PUSHW A2osX.KVER
|
||||
|
||||
>LDA.G hFileName
|
||||
>SYSCALL GetMemPtr
|
||||
|
@ -86,9 +86,11 @@ EXP.TEST lda (ZPArgVBufPtr)
|
||||
|
||||
.1 jsr CORE.ArgV.Next
|
||||
beq .9
|
||||
|
||||
>LDYA L.EXP.OP.BINARY -eq -ne .... ?
|
||||
jsr CORE.LookupArgVBuf
|
||||
bcs .9
|
||||
|
||||
stx CORE.Operator
|
||||
jsr EXP.TEST.BINARY
|
||||
bcs .9
|
||||
@ -269,6 +271,7 @@ EXP.TEST.BINARY.NUM
|
||||
bcs EXP.TEST.BINARY.ESYN4
|
||||
|
||||
lda CORE.Operator
|
||||
asl
|
||||
* clc
|
||||
adc #FPU.lL
|
||||
tax
|
||||
@ -279,7 +282,8 @@ EXP.TEST.BINARY.NUM
|
||||
|
||||
lda #$80 true
|
||||
|
||||
.8 >RET 4
|
||||
.8 clc
|
||||
>RET 4
|
||||
*--------------------------------------
|
||||
EXP.GetInt8Exp jsr EXP.GET
|
||||
bcc EXP.GetInt8YA
|
||||
|
@ -46,14 +46,17 @@ HIS.Add >LDA.G HIS.hBuf
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
HIS.Select >LDA.G HIS.Count
|
||||
beq .8
|
||||
bne .10
|
||||
|
||||
clc
|
||||
.99 rts
|
||||
|
||||
>STZ.G HIS.Index
|
||||
.10 >STZ.G HIS.Index
|
||||
|
||||
.1 jsr HIS.GetIndex
|
||||
bcs .9
|
||||
bcs .99
|
||||
|
||||
>PUSHW L.MSG.HISTORY
|
||||
>PUSHW L.MSG.HIS
|
||||
>PUSHB.G HIS.Index
|
||||
>PUSHW ZPCLBuf
|
||||
>PUSHBI 3
|
||||
@ -63,28 +66,40 @@ HIS.Select >LDA.G HIS.Count
|
||||
>INC.G HIS.Index
|
||||
>CMP.G HIS.Count
|
||||
bne .1
|
||||
|
||||
>PUSHW L.MSG.HISTORYPROMPT
|
||||
|
||||
>PUSHW L.MSG.HISPROMPT
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
|
||||
|
||||
>STZ.G HIS.Index
|
||||
|
||||
>SYSCALL GetChar
|
||||
bcs HIS.Select.RTS
|
||||
|
||||
|
||||
|
||||
* >PUSHW L.MSG.ECHOCRLF
|
||||
* >PUSHBI 0
|
||||
* >SYSCALL PrintF
|
||||
|
||||
cmp #'0'
|
||||
bcc .7
|
||||
|
||||
cmp #'9'+1
|
||||
bcs .7
|
||||
|
||||
and #$f
|
||||
>STA.G HIS.Index
|
||||
|
||||
.7 >PUSHW L.MSG.HISROMPTCLR
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
|
||||
jsr CL.PrintPrompt
|
||||
bcs .9
|
||||
|
||||
bra HIS.Reset
|
||||
|
||||
.8 clc
|
||||
.9
|
||||
|
||||
>LDA.G HIS.Index
|
||||
bne HIS.GetToCL1
|
||||
|
||||
jmp CL.Reset
|
||||
|
||||
.8 clc
|
||||
|
||||
.9
|
||||
HIS.Select.RTS rts
|
||||
*--------------------------------------
|
||||
HIS.GetPrev >LDA.G HIS.hBuf
|
||||
@ -117,7 +132,7 @@ HIS.Reset >STZ.G HIS.Index
|
||||
*--------------------------------------
|
||||
HIS.GetToCL >STA.G HIS.Index
|
||||
|
||||
jsr CL.CLR
|
||||
HIS.GetToCL1 jsr CL.CLR
|
||||
|
||||
jsr HIS.GetIndex
|
||||
bcs .9
|
||||
|
20
BIN/SH.S.txt
20
BIN/SH.S.txt
@ -103,8 +103,9 @@ CS.START cld
|
||||
.DA CS.QUIT
|
||||
*--------------------------------------
|
||||
L.MSG.GREETINGS .DA MSG.GREETINGS
|
||||
L.MSG.HISTORY .DA MSG.HISTORY
|
||||
L.MSG.HISTORYPROMPT .DA MSG.HISTORYPROMPT
|
||||
L.MSG.HIS .DA MSG.HIS
|
||||
L.MSG.HISPROMPT .DA MSG.HISPROMPT
|
||||
L.MSG.HISROMPTCLR .DA MSG.HISROMPTCLR
|
||||
L.MSG.PROMPT .DA MSG.PROMPT
|
||||
L.MSG.PROMPTCRLF .DA MSG.PROMPTCRLF
|
||||
L.MSG.TRACE .DA MSG.TRACE
|
||||
@ -561,8 +562,9 @@ IncPStack3 inc pStack
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
MSG.GREETINGS .AZ "\r\nA2osX-SH %d.%d\r\n\r\n"
|
||||
MSG.HISTORY .AZ "\r\n%3d : %s"
|
||||
MSG.HISTORYPROMPT .AZ "\r\n\r\n? "
|
||||
MSG.HIS .AZ "\r\n%3d : %s"
|
||||
MSG.HISPROMPT .AZ "\r\n\r\n? "
|
||||
MSG.HISROMPTCLR .DA #C.BS,#C.BS,0
|
||||
MSG.PROMPT .AZ "\e[?7h$ " Enable Line Wrap
|
||||
MSG.PROMPTCRLF .AZ "\e[?7l\r\n" Disable Line Wrap
|
||||
MSG.TRACE .AS ">"
|
||||
@ -649,12 +651,12 @@ EXP.OP.BINARY .AT "-LT"
|
||||
.AT "-GE"
|
||||
.AT "-EQ"
|
||||
.AT "-NE"
|
||||
.AT "="
|
||||
.AT "!="
|
||||
.AT ".<"
|
||||
.AT "<="
|
||||
.AT ".>"
|
||||
.AT ">="
|
||||
.AT "="
|
||||
.AT "!="
|
||||
.HS 00
|
||||
EXP.OP.MATH .AT "*"
|
||||
.AT "/"
|
||||
@ -667,13 +669,13 @@ EXP.OP.LOGIC .AT "AND"
|
||||
.HS 00
|
||||
*--------------------------------------
|
||||
EXP.OP.BINARY.BITS
|
||||
.DA #%010 strcmp
|
||||
.DA #%101
|
||||
.DA #%100
|
||||
.DA #%110
|
||||
.DA #%001
|
||||
.DA #%011
|
||||
|
||||
.DA #%010
|
||||
.DA #%101
|
||||
*--------------------------------------
|
||||
EXP.OP.MATH.FPU .DA #FPU.lMUL,#FPU.lDIV,#FPU.lMOD,#FPU.lADD,#FPU.lSUB
|
||||
*--------------------------------------
|
||||
SET.FLAGS .AS "CXE"
|
||||
|
@ -155,8 +155,8 @@ J.SKT.send .DA SKT.send.RAW
|
||||
LIB.LOAD ldx RefCount
|
||||
bne .8
|
||||
|
||||
sta FD.DSOCK+S.FD.DSOCK.IOHANDLER
|
||||
sta FD.SSOCK+S.FD.SSOCK.IOHANDLER
|
||||
sta FD.DSOCK+S.FD.DSOCK.IOH
|
||||
sta FD.SSOCK+S.FD.SSOCK.IOH
|
||||
|
||||
>LDYAI K.ARPCACHE.SIZE*S.ARPCACHE
|
||||
>SYSCALL2 GetMem
|
||||
|
@ -211,23 +211,23 @@ TERMX.READ bit bActive is screen active?
|
||||
cmp #C.CR
|
||||
bne .21
|
||||
|
||||
jsr Char.Out.Put
|
||||
jsr TERMX.COUT
|
||||
ldy #S.DCB.TTY.bCRLF
|
||||
lda (ZPDCBPtr),y
|
||||
bpl .7
|
||||
|
||||
lda #C.LF
|
||||
.21 jsr Char.Out.Put no remap....send char....
|
||||
.21 jsr TERMX.COUT no remap....send char....
|
||||
bra .7 and flush
|
||||
|
||||
.3 lda KeyMap.Tbl,x
|
||||
pha
|
||||
lda #C.ESC
|
||||
jsr Char.Out.Put
|
||||
jsr TERMX.COUT
|
||||
lda #'['
|
||||
jsr Char.Out.Put
|
||||
jsr TERMX.COUT
|
||||
pla
|
||||
jsr Char.Out.Put
|
||||
jsr TERMX.COUT
|
||||
bra .7
|
||||
|
||||
.6 ldy #S.DCB.TTY.OUTTAIL
|
||||
@ -630,22 +630,22 @@ Csi.Query ldx CsiPCnt
|
||||
cmp #6
|
||||
bne .8
|
||||
lda #C.ESC
|
||||
jsr Char.Out.Put
|
||||
jsr TERMX.COUT
|
||||
lda #'['
|
||||
jsr Char.Out.Put
|
||||
jsr TERMX.COUT
|
||||
ldy #S.DCB.TTY.CV
|
||||
lda (ZPDCBPtr),y
|
||||
inc
|
||||
jsr DecOut
|
||||
lda #';'
|
||||
jsr Char.Out.Put
|
||||
jsr TERMX.COUT
|
||||
|
||||
ldy #S.DCB.TTY.CH
|
||||
lda (ZPDCBPtr),y
|
||||
inc
|
||||
jsr DecOut
|
||||
lda #'R'
|
||||
jsr Char.Out.Put
|
||||
jsr TERMX.COUT
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
@ -855,7 +855,7 @@ COUT.IAC.SB ldy #S.DCB.TTY.INBUF+2
|
||||
bne COUT.IAC.SB.9
|
||||
ldx #0
|
||||
.1 lda SB.IS.TTYPE,x
|
||||
jsr Char.Out.Put
|
||||
jsr TERMX.COUT
|
||||
inx
|
||||
cpx #SB.IS.TTYPE.LEN
|
||||
bne .1
|
||||
@ -907,11 +907,11 @@ COUT.IAC.SendAX
|
||||
pha push CMD
|
||||
phx
|
||||
lda #IAC
|
||||
jsr Char.Out.Put
|
||||
jsr TERMX.COUT
|
||||
pla
|
||||
jsr Char.Out.Put
|
||||
jsr TERMX.COUT
|
||||
pla
|
||||
jsr Char.Out.Put
|
||||
jsr TERMX.COUT
|
||||
*--------------------------------------
|
||||
COUT.IAC.WONT
|
||||
*--------------------------------------
|
||||
@ -942,7 +942,7 @@ ENQ ldx #0
|
||||
|
||||
.1 lda ENQ.String,x
|
||||
|
||||
jsr Char.Out.Put
|
||||
jsr TERMX.COUT
|
||||
inx
|
||||
cpx #ENQ.String.Len
|
||||
bne .1
|
||||
@ -1109,10 +1109,10 @@ DecOut jsr MATH.A2STR10NP
|
||||
.1 lda FOUTBuf,x
|
||||
beq TERMX.RTS
|
||||
inx
|
||||
jsr Char.Out.Put
|
||||
jsr TERMX.COUT
|
||||
bra .1
|
||||
*--------------------------------------
|
||||
Char.Out.Put pha save char
|
||||
TERMX.COUT pha save char
|
||||
|
||||
ldy #S.DCB.TTY.OUTHEAD
|
||||
lda (ZPDCBPtr),y
|
||||
|
Loading…
x
Reference in New Issue
Block a user