Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-02-25 08:28:30 +01:00
parent 20a9b57a98
commit ba956a2bf9
4 changed files with 47 additions and 33 deletions

Binary file not shown.

View File

@ -12,6 +12,9 @@ DIR.Reset lda #$80
sta (pData),y
ldy #ASM.LI.XON
sta (pData),y
>STA.G MAC.StkPtr
rts
*---------------------------------------
DIR.AC clc
@ -170,8 +173,6 @@ DIR.DO >LDA.G ASM.DO.StackPtr
.1 sta (pData),y
lda #$FF
>STA.G ASM.DO.ON
clc
rts
@ -188,7 +189,7 @@ DIR.DU >LDA.G ASM.DU.ON
jsr DIR.SavePC
clc
rts
DIR.DU.ERR lda #E.INV.DIR
DIR.DU.ERR lda #E.ILLEGAL.DIR
sec
rts
*---------------------------------------
@ -203,7 +204,7 @@ DIR.ED >LDA.G ASM.DU.ON
clc
rts
.9 lda #E.INV.DIR
.9 lda #E.ILLEGAL.DIR
sec
rts
*---------------------------------------
@ -233,6 +234,7 @@ DIR.EN clc
*---------------------------------------
DIR.EP >LDA.G ASM.PH.ON
bpl .9
lda #0
sta (pData),y
ldy #ASM.PC.PH
@ -240,7 +242,7 @@ DIR.EP >LDA.G ASM.PH.ON
jsr DIR.RestorePC
clc
rts
.9 lda #E.INV.DIR
.9 lda #E.ILLEGAL.DIR
sec
rts
*---------------------------------------
@ -286,21 +288,16 @@ DIR.EQ clc
sec
.9 rts
*---------------------------------------
DIR.FI ldy #ASM.DO.StackPtr
lda (pData),y
DIR.FI >LDA.G ASM.DO.StackPtr
beq .99
dec
sta (pData),y
bne .1
lda #$0
ldy #ASM.DO.ON
sta (pData),y
.1 clc
clc
rts
.99 lda #E.INV.DIR
.99 lda #E.ILLEGAL.DIR
sec
rts
*---------------------------------------
@ -478,7 +475,7 @@ DIR.PH >LDA.G ASM.PH.ON
jsr DIR.SavePC
jmp DIR.OR
.9 lda #E.INV.DIR
.9 lda #E.ILLEGAL.DIR
sec
rts
*---------------------------------------

View File

@ -12,11 +12,28 @@ SRC.ParseLine jsr OUT.Reset
beq .8
pha
* >LDA.G ASM.PASS
* beq .55
* >DEBUG
*.55
jsr SRC.DoCheck
pla
bcc SRC.ParseLine.DirOp false....skip label processing
bcs .7
>LDA.G ASM.MA.ON
.1 cmp #C.SPACE false....skip label processing
beq SRC.ParseLine.DirOp
jsr SRC.GetNextChar
bcs .8
cmp #C.SPACE
bne .1
bra SRC.ParseLine.DirOp
.7 >LDA.G ASM.MA.ON
bpl SRC.ParseLine.LABEL
jmp MAC.Learn

View File

@ -65,22 +65,23 @@ E.VAL.TOO.BIG .EQ $A2
E.LINE.TOO.LONG .EQ $A3
E.INV.LABEL .EQ $A4
E.INV.DIR .EQ $A5
E.INV.OPCODE .EQ $A6
E.INV.AM.SYN .EQ $A7
E.INV.AM .EQ $A8
E.INV.AM.4.OC .EQ $A9
E.RANGE .EQ $AA
E.UNDEF.SYMBOL .EQ $AB
E.SYMBOL.REDEF .EQ $AC
E.TOO.MANY.DO .EQ $AD
E.ELSE.WITHOUT.DO .EQ $AE
E.TOO.MANY.LOCAL .EQ $AF
E.MISSING.EXP .EQ $B0
E.EXP.SYN.ERROR .EQ $B1
E.MACRO.INV.DEF .EQ $B2
E.MACRO.TOO.BIG .EQ $B3
E.MACRO.INV .EQ $B4
E.MACRO.TOO.MANY .EQ $B5
E.ILLEGAL.DIR .EQ $A6
E.INV.OPCODE .EQ $A7
E.INV.AM.SYN .EQ $A8
E.INV.AM .EQ $A9
E.INV.AM.4.OC .EQ $AA
E.RANGE .EQ $AB
E.UNDEF.SYMBOL .EQ $AC
E.SYMBOL.REDEF .EQ $AD
E.TOO.MANY.DO .EQ $AE
E.ELSE.WITHOUT.DO .EQ $AF
E.TOO.MANY.LOCAL .EQ $B0
E.MISSING.EXP .EQ $B1
E.EXP.SYN.ERROR .EQ $B2
E.MACRO.INV.DEF .EQ $B3
E.MACRO.TOO.BIG .EQ $B4
E.MACRO.INV .EQ $B5
E.MACRO.TOO.MANY .EQ $B6
*
E.INV.ARGS .EQ $BA
E.INV.T.FILE .EQ $BC
@ -535,7 +536,6 @@ ASM.T.hMem .BS 1
ASM.PASS .BS 1
ASM.DO.ON .BS 1
ASM.DO.StackPtr .BS 1
ASM.DO.Stack .BS DO.MAXDEPTH