mirror of
https://github.com/A2osX/A2osX.git
synced 2024-09-30 15:57:29 +00:00
Kernel 0.94
This commit is contained in:
parent
20a9b57a98
commit
ba956a2bf9
Binary file not shown.
@ -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
|
||||
*---------------------------------------
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user