Kernel 0.92

This commit is contained in:
Rémy GIBERT 2018-11-24 23:25:33 +01:00
parent 288bd3303e
commit 8495b88a54
3 changed files with 61 additions and 67 deletions

Binary file not shown.

View File

@ -541,14 +541,13 @@ Cmd.INT.IF ldx #1
jsr CMD.IF.UNARY
bcs .9
>LDA.G CMD.Test
eor #$80
>EOR.G CMD.Test
sta (pData),y
ldx #4 go check ]
bra .8
.9 lda #E.SYN
.9 lda #E.SYNTAX
sec
.99 rts
@ -566,6 +565,9 @@ Cmd.INT.IF ldx #1
jsr CMD.IF.BINARY
bcs .9
>EOR.G CMD.Test
sta (pData),y
ldx #5 go check ]
.8 jsr Cmd.GetArgX
@ -602,7 +604,7 @@ CMD.IF.UNARY ldx #3
tax
jmp (J.CMD.IF.TOKEN2,x)
.9 lda #E.SYN
.9 lda #E.SYNTAX
sec
rts
@ -631,11 +633,11 @@ CMD.IF.DEF.7 >PUSHEA.G CMD.Stat
>SYSCALL STAT
rts
CMD.IF.DEF.8 ldx #$80 true
CMD.IF.DEF.8 lda #$80 true
clc
rts
CMD.IF.DEF.9 ldx #0 false
CMD.IF.DEF.9 lda #0 false
clc
rts
*--------------------------------------
@ -662,16 +664,15 @@ CMD.IF.BINARY ldx #2
jsr Cmd.GetArgX
>SYSCALL strcmp
lsr CS if !=
and #$80
>EOR.G CMD.Operator
sta (pData),y
tax
clc
rts
.9 lda #E.SYN
sec
rts
*--------------------------------------
CMD.IF.BINARY.NUM
ldx #2
jsr Cmd.GetArgX
@ -691,48 +692,8 @@ CMD.IF.BINARY.NUM
>PULLL.G M32.ARG
ldx #4
ldy #M32.ARG+3
.1 lda (pData),y
jsr M32.Cmp
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
lsr
@ -741,15 +702,15 @@ CMD.IF.BINARY.NUM
eor CMD.IF.TOKEN3.BITS,x
bne .80
ldx #$80 true
lda #$80 true
clc
rts
.80 ldx #0 false
.80 lda #0 false
clc
rts
.9 lda #E.SYN
.9 lda #E.SYNTAX
sec
rts
*--------------------------------------
@ -769,7 +730,7 @@ Cmd.INT.ELSE jsr CMD.StkGet
rts
.9 pla
lda #E.SYN
lda #E.SYNTAX
sec
rts
*--------------------------------------
@ -783,7 +744,7 @@ Cmd.INT.FI jsr CMD.StkPull
clc
rts
.9 lda #E.SYN
.9 lda #E.SYNTAX
sec
rts
*--------------------------------------
@ -881,17 +842,6 @@ Cmd.GetEXP.GetNext
jsr Cmd.GetArgX
rts
*--------------------------------------
Cmd.GetValue tax
jsr Cmd.GetArgX
>STYA ZPPtr1
lda (ZPPtr1)
cmp #'$'
bne .2
.2 >SYSCALL AToL
*--------------------------------------
Cmd.GetArgX >LDYA ZPArgVBuf
dex

View File

@ -34,7 +34,7 @@ M32.Add ldy #M32.ARG+4 ARG+ACC->ACC
rts if CS, Overflow
*---------------------------------------
M32.Sub ldy #M32.ARG+4 ARG+ACC->ACC
M32.Sub ldy #M32.ARG+4 ARG-ACC->ACC
.1 dey
lda (pData),y
@ -93,5 +93,49 @@ M32.ACC2ARG ldy #M32.ACC+4 ACC->ARG
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
SAVE USR/SRC/X.M32.S