mirror of
https://github.com/A2osX/A2osX.git
synced 2025-01-27 09:34:38 +00:00
Kernel 0.9.1 : ASM ...
This commit is contained in:
parent
c5959af52d
commit
c9a37c4fad
Binary file not shown.
@ -26,7 +26,8 @@ DIR.AZ clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
DIR.BS jsr SRC.GetNextCharNB
|
||||
beq .98
|
||||
bcs .98
|
||||
|
||||
jsr EXP.Eval
|
||||
bcs .9
|
||||
|
||||
@ -42,7 +43,7 @@ DIR.BS jsr SRC.GetNextCharNB
|
||||
stz DIR.Byte
|
||||
|
||||
jsr SRC.GetNextChar
|
||||
beq .1
|
||||
bcs .1
|
||||
cmp #' '
|
||||
beq .1
|
||||
|
||||
@ -176,10 +177,9 @@ DIR.EP ldy #ASM.PH.ON
|
||||
rts
|
||||
*---------------------------------------
|
||||
DIR.EQ jsr SRC.GetNextCharNB
|
||||
beq .99
|
||||
bcs .99
|
||||
|
||||
>DEBUG
|
||||
|
||||
jsr EXP.Eval
|
||||
bcs .9
|
||||
|
||||
@ -215,7 +215,7 @@ DIR.HS clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
DIR.IN jsr SRC.GetNextCharNB
|
||||
beq .9
|
||||
bcs .9
|
||||
|
||||
>LDYA ZPLinePtr
|
||||
>SYSCALL RealPath.YA
|
||||
@ -240,7 +240,7 @@ DIR.IN jsr SRC.GetNextCharNB
|
||||
rts
|
||||
*---------------------------------------
|
||||
DIR.LI jsr SRC.GetNextCharNB
|
||||
beq DIR.LI.9
|
||||
bcs DIR.LI.9
|
||||
|
||||
>LDYA L.T.LI
|
||||
jsr SRC.GetKeyword
|
||||
@ -275,7 +275,7 @@ DIR.LI.9 lda #ERR.SYNTAX.ERROR
|
||||
rts
|
||||
*---------------------------------------
|
||||
DIR.MA jsr SRC.GetNextCharNB
|
||||
beq .9
|
||||
bcs .9
|
||||
|
||||
.1 jsr FIO.ReadLine
|
||||
bcs .99
|
||||
@ -294,21 +294,26 @@ DIR.MA jsr SRC.GetNextCharNB
|
||||
beq .3
|
||||
|
||||
.2 jsr SRC.GetNextChar skip label
|
||||
beq .8
|
||||
bcs .8
|
||||
|
||||
cmp #' '
|
||||
bne .2
|
||||
|
||||
.3 jsr SRC.GetNextCharNB Scan for an Opcode...
|
||||
beq .8
|
||||
bcs .8
|
||||
|
||||
cmp #'.'
|
||||
bne .8
|
||||
|
||||
jsr SRC.GetNextChar
|
||||
beq .8
|
||||
bcs .8
|
||||
|
||||
cmp #'E'
|
||||
bne .8
|
||||
|
||||
jsr SRC.GetNextChar
|
||||
beq .8
|
||||
bcs .8
|
||||
|
||||
cmp #'M'
|
||||
bne .8
|
||||
clc
|
||||
@ -340,7 +345,7 @@ DIR.OP.SYNERR lda #ERR.SYNTAX.ERROR
|
||||
rts
|
||||
*---------------------------------------
|
||||
DIR.OR jsr SRC.GetNextCharNB
|
||||
beq DIR.OP.SYNERR
|
||||
bcs DIR.OP.SYNERR
|
||||
|
||||
jsr EXP.Eval
|
||||
bcs .9
|
||||
|
@ -28,7 +28,7 @@ EXP.Eval.Missing lda #ERR.MISSING.EXP
|
||||
rts
|
||||
|
||||
EXP.Eval.Next jsr SRC.GetNextCharUC
|
||||
beq EXP.Eval.Missing
|
||||
bcs EXP.Eval.Missing
|
||||
|
||||
EXP.Eval.Next1 cmp #'.' Local Label?
|
||||
bne .12
|
||||
@ -88,10 +88,10 @@ EXP.Eval.Next1 cmp #'.' Local Label?
|
||||
.4 cmp #'''
|
||||
bne .43
|
||||
jsr SRC.GetNextChar
|
||||
beq EXP.EvalExitSYN
|
||||
bcs EXP.EvalExitSYN
|
||||
jsr EXP.SetAccA
|
||||
jsr SRC.GetNextChar
|
||||
beq EXP.EvalOperator
|
||||
bcs EXP.EvalOperator
|
||||
cmp #'''
|
||||
bne EXP.EvalExitSYN
|
||||
bra EXP.EvalOperator
|
||||
@ -99,11 +99,11 @@ EXP.Eval.Next1 cmp #'.' Local Label?
|
||||
.43 cmp '"'
|
||||
bne .42
|
||||
jsr SRC.GetNextChar
|
||||
beq EXP.EvalExitSYN
|
||||
bcs EXP.EvalExitSYN
|
||||
ora #$80
|
||||
jsr EXP.SetAccA
|
||||
jsr SRC.GetNextChar
|
||||
beq EXP.EvalOperator
|
||||
bcs EXP.EvalOperator
|
||||
cmp #'"'
|
||||
bne EXP.EvalExitSYN
|
||||
bra EXP.EvalOperator
|
||||
@ -134,7 +134,7 @@ EXP.EvalOperator lda EXP.Operator
|
||||
bcs EXP.EvalExitRTS
|
||||
|
||||
.7 jsr SRC.GetNextChar
|
||||
beq EXP.EvalExitOK
|
||||
bcs EXP.EvalExitOK
|
||||
|
||||
cmp #' '
|
||||
beq EXP.EvalExitOK
|
||||
|
@ -77,12 +77,13 @@ SRC.ParseLine lda (ZPLineBuf)
|
||||
|
||||
cpx #'.' local symbol?
|
||||
bne .2
|
||||
|
||||
>DEBUG
|
||||
jsr SRC.GetNextChar skip '.'
|
||||
beq SRC.ParseLine.Inv
|
||||
bcs SRC.ParseLine.Inv
|
||||
|
||||
jsr SRC.GetDecimal
|
||||
bcs SRC.ParseLine.Inv
|
||||
|
||||
lda SRC.ACC+1
|
||||
ora SRC.ACC+2
|
||||
ora SRC.ACC+3
|
||||
@ -103,7 +104,7 @@ SRC.ParseLine lda (ZPLineBuf)
|
||||
.3 bcs SRC.ParseLine.Err
|
||||
|
||||
.4 jsr SRC.GetNextCharNB Scan for an Opcode...
|
||||
beq SRC.ParseLine.Ok
|
||||
bcs SRC.ParseLine.Ok
|
||||
|
||||
cmp #'.'
|
||||
bne .5
|
||||
@ -162,7 +163,8 @@ SRC.ParseLine.SymR lda #ERR.RANGE
|
||||
rts
|
||||
*---------------------------------------
|
||||
SRC.ParseLine.SymP jsr SRC.GetNextChar
|
||||
beq SRC.ParseLine.Inv
|
||||
bcs SRC.ParseLine.Inv
|
||||
|
||||
jsr SRC.GetDecimal
|
||||
bcs SRC.ParseLine.Inv
|
||||
jmp SYM.AddPrivate
|
||||
@ -276,7 +278,7 @@ SRC.ParseLine.AM stz SRC.AM.ID
|
||||
stz SRC.AM.StrBuf
|
||||
|
||||
.1 jsr SRC.GetNextCharUC any arg immediately after ' '?
|
||||
beq .8 no, AM.ID=0 (implied)
|
||||
bcs .8 no, AM.ID=0 (implied)
|
||||
|
||||
cmp #' ' another space ?
|
||||
beq .8 ignore end of line (comment)
|
||||
@ -313,9 +315,11 @@ SRC.ParseLine.AM stz SRC.AM.ID
|
||||
inc SRC.AM.tmpBuf
|
||||
|
||||
.3 jsr SRC.GetNextCharUC
|
||||
beq .4
|
||||
bcs .4
|
||||
|
||||
jsr SRC.IsLetterOrDigit
|
||||
bcs .4
|
||||
|
||||
inc SRC.AM.tmpBuf
|
||||
ldx SRC.AM.tmpBuf
|
||||
sta SRC.AM.tmpBuf,x
|
||||
@ -407,7 +411,7 @@ SRC.GetDecimal stz SRC.ACC+1
|
||||
sta SRC.ACC
|
||||
|
||||
.1 jsr SRC.GetNextChar
|
||||
beq .8
|
||||
bcs .8
|
||||
|
||||
cmp #' '
|
||||
beq .8
|
||||
@ -455,16 +459,16 @@ SRC.GetHex stz SRC.ACC+1
|
||||
stz SRC.ACC+3
|
||||
|
||||
jsr SRC.GetNextChar
|
||||
bcs .99
|
||||
|
||||
lda (ZPLinePtr)
|
||||
beq .99
|
||||
jsr SRC.IsDigit16
|
||||
bcs .99
|
||||
|
||||
sta SRC.ACC
|
||||
|
||||
.1 jsr SRC.GetNextChar
|
||||
beq .8
|
||||
bcs .8
|
||||
|
||||
cmp #' '
|
||||
beq .8
|
||||
jsr SRC.IsEXPReserved
|
||||
@ -502,7 +506,7 @@ SRC.GetOctal stz SRC.ACC+1
|
||||
stz SRC.ACC+3
|
||||
|
||||
jsr SRC.GetNextChar
|
||||
|
||||
bcs .99
|
||||
lda (ZPLinePtr)
|
||||
beq .99
|
||||
|
||||
@ -513,7 +517,7 @@ SRC.GetOctal stz SRC.ACC+1
|
||||
sta SRC.ACC
|
||||
|
||||
.1 jsr SRC.GetNextChar
|
||||
beq .8
|
||||
bcs .8
|
||||
|
||||
cmp #' '
|
||||
beq .8
|
||||
@ -559,10 +563,8 @@ SRC.GetBinary stz SRC.ACC+1
|
||||
stz SRC.ACC+2
|
||||
stz SRC.ACC+3
|
||||
|
||||
jsr SRC.GetNextChar
|
||||
|
||||
lda (ZPLinePtr)
|
||||
beq .99
|
||||
jsr SRC.GetNextChar
|
||||
bcs .99
|
||||
|
||||
cmp #'1'
|
||||
beq .10
|
||||
@ -574,7 +576,7 @@ SRC.GetBinary stz SRC.ACC+1
|
||||
sta SRC.ACC
|
||||
|
||||
.1 jsr SRC.GetNextChar
|
||||
beq .8
|
||||
bcs .8
|
||||
|
||||
cmp #' '
|
||||
beq .8
|
||||
@ -683,6 +685,7 @@ SRC.IsMODReserved ldx SRC.MOD.RESERVED
|
||||
bne .1
|
||||
sec
|
||||
rts
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
@ -693,6 +696,7 @@ SRC.IsEXPReserved ldx SRC.EXP.RESERVED
|
||||
bne .1
|
||||
sec
|
||||
rts
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
@ -745,39 +749,45 @@ SRC.IsDigit8 cmp #'0'
|
||||
rts
|
||||
*---------------------------------------
|
||||
SRC.GetNextCharNB jsr SRC.GetNextCharUC
|
||||
beq .9
|
||||
bcs .9
|
||||
cmp #' '
|
||||
beq SRC.GetNextCharNB
|
||||
|
||||
clc
|
||||
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
SRC.GetNextCharUC jsr SRC.GetNextChar
|
||||
beq .9
|
||||
cmp #'a'
|
||||
bcc .9
|
||||
cmp #'z'+1
|
||||
bcs .9
|
||||
eor #$20 to Uppercase
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
SRC.GetCharUC lda (ZPLinePtr)
|
||||
beq .9
|
||||
cmp #'a'
|
||||
bcc .9
|
||||
bcc .8
|
||||
cmp #'z'+1
|
||||
bcs .9
|
||||
bcs .8
|
||||
eor #$20 to Uppercase
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
SRC.GetNextChar lda (ZPLinePtr)
|
||||
beq .9
|
||||
cmp #$0D
|
||||
beq .9
|
||||
|
||||
inc ZPLinePtr
|
||||
bne .1
|
||||
bne .8
|
||||
|
||||
inc ZPLinePtr+1
|
||||
|
||||
.1 lda (ZPLinePtr)
|
||||
.9 rts
|
||||
.8 lda (ZPLinePtr)
|
||||
beq .9
|
||||
cmp #$0D
|
||||
beq .9
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
.9 sec
|
||||
rts
|
||||
*---------------------------------------
|
||||
SRC.ACC10 lda SRC.ACC ACC*2-> ACC & ACCTMP
|
||||
asl
|
||||
|
@ -126,8 +126,6 @@ SYM.AddGlobal lda #SYM.F.RESOLVED
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
SYM.UpdateGlobal >PUSHB.G SYM.hGlobals
|
||||
>DEBUG
|
||||
|
||||
>PUSHW.G ASM.SYM.ID
|
||||
>PUSHEA.G SYM.Global
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user