From ba956a2bf99c6f73c91d7a60852d9d9e1787dcf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 25 Feb 2020 08:28:30 +0100 Subject: [PATCH] Kernel 0.94 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/ASM.S.DIR.txt | 25 +++++++++++-------------- BIN/ASM.S.SRC.txt | 21 +++++++++++++++++++-- BIN/ASM.S.txt | 34 +++++++++++++++++----------------- 4 files changed, 47 insertions(+), 33 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 6a5fb9f9939947012d7c42272b21e79167b70986..f859540ab52ab184d7de1d4834f25d145f1f73ed 100644 GIT binary patch delta 28889 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.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 *--------------------------------------- diff --git a/BIN/ASM.S.SRC.txt b/BIN/ASM.S.SRC.txt index 13f4b882..1de7ca0d 100644 --- a/BIN/ASM.S.SRC.txt +++ b/BIN/ASM.S.SRC.txt @@ -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 diff --git a/BIN/ASM.S.txt b/BIN/ASM.S.txt index 99283c96..74dc0937 100644 --- a/BIN/ASM.S.txt +++ b/BIN/ASM.S.txt @@ -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