mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-27 00:29:29 +00:00
Kernel 0.92
This commit is contained in:
parent
288bd3303e
commit
8495b88a54
Binary file not shown.
|
@ -541,14 +541,13 @@ Cmd.INT.IF ldx #1
|
||||||
jsr CMD.IF.UNARY
|
jsr CMD.IF.UNARY
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDA.G CMD.Test
|
>EOR.G CMD.Test
|
||||||
eor #$80
|
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
ldx #4 go check ]
|
ldx #4 go check ]
|
||||||
bra .8
|
bra .8
|
||||||
|
|
||||||
.9 lda #E.SYN
|
.9 lda #E.SYNTAX
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
|
|
||||||
|
@ -566,6 +565,9 @@ Cmd.INT.IF ldx #1
|
||||||
jsr CMD.IF.BINARY
|
jsr CMD.IF.BINARY
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
>EOR.G CMD.Test
|
||||||
|
sta (pData),y
|
||||||
|
|
||||||
ldx #5 go check ]
|
ldx #5 go check ]
|
||||||
|
|
||||||
.8 jsr Cmd.GetArgX
|
.8 jsr Cmd.GetArgX
|
||||||
|
@ -602,7 +604,7 @@ CMD.IF.UNARY ldx #3
|
||||||
tax
|
tax
|
||||||
jmp (J.CMD.IF.TOKEN2,x)
|
jmp (J.CMD.IF.TOKEN2,x)
|
||||||
|
|
||||||
.9 lda #E.SYN
|
.9 lda #E.SYNTAX
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -631,11 +633,11 @@ CMD.IF.DEF.7 >PUSHEA.G CMD.Stat
|
||||||
>SYSCALL STAT
|
>SYSCALL STAT
|
||||||
rts
|
rts
|
||||||
|
|
||||||
CMD.IF.DEF.8 ldx #$80 true
|
CMD.IF.DEF.8 lda #$80 true
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
CMD.IF.DEF.9 ldx #0 false
|
CMD.IF.DEF.9 lda #0 false
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -662,16 +664,15 @@ CMD.IF.BINARY ldx #2
|
||||||
jsr Cmd.GetArgX
|
jsr Cmd.GetArgX
|
||||||
>SYSCALL strcmp
|
>SYSCALL strcmp
|
||||||
lsr CS if !=
|
lsr CS if !=
|
||||||
|
and #$80
|
||||||
>EOR.G CMD.Operator
|
>EOR.G CMD.Operator
|
||||||
sta (pData),y
|
|
||||||
tax
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 lda #E.SYN
|
.9 lda #E.SYN
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
*--------------------------------------
|
||||||
CMD.IF.BINARY.NUM
|
CMD.IF.BINARY.NUM
|
||||||
ldx #2
|
ldx #2
|
||||||
jsr Cmd.GetArgX
|
jsr Cmd.GetArgX
|
||||||
|
@ -691,48 +692,8 @@ CMD.IF.BINARY.NUM
|
||||||
|
|
||||||
>PULLL.G M32.ARG
|
>PULLL.G M32.ARG
|
||||||
|
|
||||||
ldx #4
|
jsr M32.Cmp
|
||||||
ldy #M32.ARG+3
|
|
||||||
|
|
||||||
.1 lda (pData),y
|
|
||||||
pha
|
pha
|
||||||
dey
|
|
||||||
dex
|
|
||||||
bne .1
|
|
||||||
|
|
||||||
ldx #4
|
|
||||||
ldy #M32.ACC
|
|
||||||
|
|
||||||
sec
|
|
||||||
|
|
||||||
.2 pla
|
|
||||||
sbc (pData),y
|
|
||||||
sta (pData),y
|
|
||||||
iny
|
|
||||||
dex
|
|
||||||
bne .2
|
|
||||||
|
|
||||||
bcc .5 CC if Arg1 < Arg2
|
|
||||||
|
|
||||||
ldy #M32.ACC
|
|
||||||
|
|
||||||
lda (pData),y
|
|
||||||
iny
|
|
||||||
ora (pData),y
|
|
||||||
iny
|
|
||||||
ora (pData),y
|
|
||||||
iny
|
|
||||||
ora (pData),y Z if Arg1 = Arg2
|
|
||||||
|
|
||||||
bne .4
|
|
||||||
|
|
||||||
.3 lda #%001 001 arg1 = arg2
|
|
||||||
bra .6
|
|
||||||
.4 lda #%010 010 arg1 > arg2
|
|
||||||
bra .6
|
|
||||||
.5 lda #%100 100 Arg1 < Arg2
|
|
||||||
|
|
||||||
.6 pha
|
|
||||||
|
|
||||||
>LDA.G CMD.Operator
|
>LDA.G CMD.Operator
|
||||||
lsr
|
lsr
|
||||||
|
@ -741,15 +702,15 @@ CMD.IF.BINARY.NUM
|
||||||
eor CMD.IF.TOKEN3.BITS,x
|
eor CMD.IF.TOKEN3.BITS,x
|
||||||
bne .80
|
bne .80
|
||||||
|
|
||||||
ldx #$80 true
|
lda #$80 true
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.80 ldx #0 false
|
.80 lda #0 false
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 lda #E.SYN
|
.9 lda #E.SYNTAX
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -769,7 +730,7 @@ Cmd.INT.ELSE jsr CMD.StkGet
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 pla
|
.9 pla
|
||||||
lda #E.SYN
|
lda #E.SYNTAX
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -783,7 +744,7 @@ Cmd.INT.FI jsr CMD.StkPull
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 lda #E.SYN
|
.9 lda #E.SYNTAX
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -881,17 +842,6 @@ Cmd.GetEXP.GetNext
|
||||||
jsr Cmd.GetArgX
|
jsr Cmd.GetArgX
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Cmd.GetValue tax
|
|
||||||
jsr Cmd.GetArgX
|
|
||||||
>STYA ZPPtr1
|
|
||||||
|
|
||||||
lda (ZPPtr1)
|
|
||||||
cmp #'$'
|
|
||||||
bne .2
|
|
||||||
|
|
||||||
|
|
||||||
.2 >SYSCALL AToL
|
|
||||||
*--------------------------------------
|
|
||||||
Cmd.GetArgX >LDYA ZPArgVBuf
|
Cmd.GetArgX >LDYA ZPArgVBuf
|
||||||
|
|
||||||
dex
|
dex
|
||||||
|
|
46
X.M32.S.txt
46
X.M32.S.txt
|
@ -34,7 +34,7 @@ M32.Add ldy #M32.ARG+4 ARG+ACC->ACC
|
||||||
|
|
||||||
rts if CS, Overflow
|
rts if CS, Overflow
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
M32.Sub ldy #M32.ARG+4 ARG+ACC->ACC
|
M32.Sub ldy #M32.ARG+4 ARG-ACC->ACC
|
||||||
|
|
||||||
.1 dey
|
.1 dey
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
|
@ -93,5 +93,49 @@ M32.ACC2ARG ldy #M32.ACC+4 ACC->ARG
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
M32.Cmp ldx #4
|
||||||
|
ldy #M32.ARG+3
|
||||||
|
|
||||||
|
.1 lda (pData),y
|
||||||
|
pha
|
||||||
|
dey
|
||||||
|
dex
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
ldx #4
|
||||||
|
ldy #M32.ACC
|
||||||
|
|
||||||
|
sec
|
||||||
|
|
||||||
|
.2 pla
|
||||||
|
sbc (pData),y
|
||||||
|
sta (pData),y
|
||||||
|
iny
|
||||||
|
dex
|
||||||
|
bne .2
|
||||||
|
|
||||||
|
bcc .5 CC if ACC < ARG
|
||||||
|
|
||||||
|
ldy #M32.ACC
|
||||||
|
|
||||||
|
lda (pData),y
|
||||||
|
iny
|
||||||
|
ora (pData),y
|
||||||
|
iny
|
||||||
|
ora (pData),y
|
||||||
|
iny
|
||||||
|
ora (pData),y Z if ACC = ARG
|
||||||
|
|
||||||
|
bne .4
|
||||||
|
|
||||||
|
lda #%001 001 ACC = ARG
|
||||||
|
rts
|
||||||
|
|
||||||
|
.4 lda #%010 010 ACC > ARG
|
||||||
|
rts
|
||||||
|
|
||||||
|
.5 lda #%100 100 ACC < ARG
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/X.M32.S
|
SAVE USR/SRC/X.M32.S
|
||||||
|
|
Loading…
Reference in New Issue
Block a user