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 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

View File

@ -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