diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 6a5fb9f9..f859540a 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/ASM.S.DIR.txt b/BIN/ASM.S.DIR.txt index 88e63946..e82c7d53 100644 --- a/BIN/ASM.S.DIR.txt +++ b/BIN/ASM.S.DIR.txt @@ -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 *--------------------------------------- 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