mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-10 09:30:40 +00:00
Kernel 0.9.1 : ASM rewrite...more directives
This commit is contained in:
parent
ab8bcb9b40
commit
e1cd14fbce
43
.Docs/ASM.md
Normal file
43
.Docs/ASM.md
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
# A2osX Macro Assembler (0.9.1)
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
Multi-CPU macro assembler based on S-C MASM 3.0 dialect
|
||||||
|
|
||||||
|
## Directives
|
||||||
|
|
||||||
|
| Code | Description | Compatibility | Status | Syntax | Comment |
|
||||||
|
|-|-|-|-|-|-|
|
||||||
|
| .AC | | S-C | NOT IMPL. | | As strings are supposed to be printed with A2osX API, Printf cannot handle 'AC' compressed strings |
|
||||||
|
| .AS | Ascii String | S-C,A2osX | Working | `.AS dTEXTd` where d is any delimiter `.AS -"TEXT"`produce ascii code with b7=1 | |
|
||||||
|
| .AT | Ascii String Terminated | S-C,A2osX | Working | (same as above) | |
|
||||||
|
| .AZ | Ascii String Zero Terminated (CString) | S-C,A2osX | Working | (same as above) | |
|
||||||
|
| .BS | Block Storage | S-C,A2osX | Working | | |
|
||||||
|
| .DA | Data | S-C,A2osX | In Progress | | |
|
||||||
|
| .DO | conditional start | S-C,A2osX | In Progress | | |
|
||||||
|
| .DU,.DUMMY | begin Dummy section | S-C,A2osX | In Progress | | |
|
||||||
|
| .ED | End Dummy section | S-C,A2osX | In Progress | | |
|
||||||
|
| .DA | | S-C,A2osX | In Progress | | |
|
||||||
|
| .ELSE | conditional ELSE | S-C,A2osX | In Progress | | |
|
||||||
|
| .EM | End Macro | S-C,A2osX | In Progress | | |
|
||||||
|
| .EN | ENd of source code | S-C,A2osX | In Progress | | |
|
||||||
|
| .EP | End Phase| S-C,A2osX | In Progress | | |
|
||||||
|
| .EQ | EQuate | S-C,A2osX | In Progress | | |
|
||||||
|
| .FIN | conditional end| S-C,A2osX | In Progress | | |
|
||||||
|
| .PH | PHase start| S-C,A2osX | In Progress | | |
|
||||||
|
| .HS | Hex String | S-C,A2osX | Working | `HS FE1A78` delimiter allowed : `HS 00.11,22` | |
|
||||||
|
| .IN,.INB,.INBx | | S-C,A2osX | Working | | |
|
||||||
|
| .LI,.LIST | | S-C,A2osX | Working | | |
|
||||||
|
| .MA | MAcro deffinition | S-C,A2osX | Working | | |
|
||||||
|
| .OP | OPCode | S-C,A2osX | Working | `.OP cpu` where cpu is one of 6502,65C02,65R02,65816,Z80,S16 | |
|
||||||
|
| .OR | ORigin | S-C,A2osX | Working | | |
|
||||||
|
| .PG | PaGe| S-C,A2osX | IGNORED | | |
|
||||||
|
| .PH | PHase | S-C,A2osX | Working | | |
|
||||||
|
| .SE | | S-C,A2osX | Working | | |
|
||||||
|
| .TA | Target Address| S-C,A2osX | IGNORED | | |
|
||||||
|
| .TF | Target File | S-C,A2osX | Working | | |
|
||||||
|
| .TI | ??? | S-C,A2osX | IGNORED | | |
|
||||||
|
| .US | USer defined | S-C,A2osX | IGNORED | | |
|
||||||
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
@ -9,6 +9,8 @@ DIR.Init lda #$80
|
|||||||
lda #0
|
lda #0
|
||||||
ldy #ASM.LI.CON
|
ldy #ASM.LI.CON
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
ldy #ASM.LI.MON
|
||||||
|
sta (pData),y
|
||||||
ldy #ASM.LI.XON
|
ldy #ASM.LI.XON
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
rts
|
rts
|
||||||
@ -26,11 +28,19 @@ DIR.AS clc
|
|||||||
|
|
||||||
jsr SRC.GetNextChar
|
jsr SRC.GetNextChar
|
||||||
bcs .9
|
bcs .9
|
||||||
|
cmp #'-'
|
||||||
|
bne .1
|
||||||
|
|
||||||
sta DIR.Word Save delimiter....
|
lda #$40 save b7 status of ALL chars
|
||||||
|
tsb DIR.Byte
|
||||||
|
|
||||||
|
jsr SRC.GetNextChar
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
.1 sta DIR.Word Save delimiter....
|
||||||
sta DIR.Word+1 Save also in prev char..
|
sta DIR.Word+1 Save also in prev char..
|
||||||
|
|
||||||
.1 jsr SRC.GetNextChar
|
.2 jsr SRC.GetNextChar
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
cmp DIR.Word delimiter ?
|
cmp DIR.Word delimiter ?
|
||||||
@ -40,10 +50,15 @@ DIR.AS clc
|
|||||||
sta DIR.Word+1 replace it with new
|
sta DIR.Word+1 replace it with new
|
||||||
txa
|
txa
|
||||||
cmp DIR.Word is it the starting delimiter
|
cmp DIR.Word is it the starting delimiter
|
||||||
beq .1 yes, skip
|
beq .2 yes, skip
|
||||||
|
|
||||||
jsr OUT.EmitByte no, emit prev char
|
bit DIR.Byte
|
||||||
bcc .1
|
bvc .3
|
||||||
|
|
||||||
|
ora #$80
|
||||||
|
|
||||||
|
.3 jsr OUT.EmitByte no, emit prev char
|
||||||
|
bcc .2
|
||||||
|
|
||||||
.9 lda #ERR.SYNTAX.ERROR
|
.9 lda #ERR.SYNTAX.ERROR
|
||||||
sec
|
sec
|
||||||
@ -51,12 +66,15 @@ DIR.AS clc
|
|||||||
|
|
||||||
.8 lda DIR.Word+1 Get prev char
|
.8 lda DIR.Word+1 Get prev char
|
||||||
cmp DIR.Word someone typed .AS "" ?
|
cmp DIR.Word someone typed .AS "" ?
|
||||||
beq .80
|
beq .88
|
||||||
|
|
||||||
ora DIR.Byte
|
bit DIR.Byte
|
||||||
|
bpl .81
|
||||||
|
eor #$80
|
||||||
|
|
||||||
jmp OUT.EmitByte
|
.81 jmp OUT.EmitByte
|
||||||
.80 clc
|
|
||||||
|
.88 clc
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
DIR.AZ jsr DIR.AS
|
DIR.AZ jsr DIR.AS
|
||||||
@ -66,7 +84,7 @@ DIR.AZ jsr DIR.AS
|
|||||||
jmp OUT.EmitByte
|
jmp OUT.EmitByte
|
||||||
.9 rts
|
.9 rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
DIR.BS jsr SRC.GetNextChar
|
DIR.BS jsr SRC.GetNextCharNB
|
||||||
bcs .98
|
bcs .98
|
||||||
|
|
||||||
jsr EXP.Eval
|
jsr EXP.Eval
|
||||||
@ -122,11 +140,10 @@ DIR.BS jsr SRC.GetNextChar
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
DIR.DA
|
DIR.DA jsr SRC.GetNextCharNB
|
||||||
.1 jsr SRC.GetNextChar
|
|
||||||
bcs .98
|
bcs .98
|
||||||
|
|
||||||
jsr EXP.Eval
|
.1 jsr EXP.Eval
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda SRC.ACC.SIZE
|
lda SRC.ACC.SIZE
|
||||||
@ -137,7 +154,9 @@ DIR.DA
|
|||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
cmp #','
|
cmp #','
|
||||||
beq .1
|
bne .98
|
||||||
|
jsr SRC.GetNextChar
|
||||||
|
bcc .1
|
||||||
|
|
||||||
.98 lda #ERR.SYNTAX.ERROR
|
.98 lda #ERR.SYNTAX.ERROR
|
||||||
clc
|
clc
|
||||||
@ -336,40 +355,67 @@ DIR.IN jsr SRC.GetNextCharNB
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
DIR.LI jsr SRC.GetNextCharNB
|
DIR.LI jsr SRC.GetNextChar
|
||||||
bcs DIR.LI.9
|
bcs .9
|
||||||
|
|
||||||
>LDYA L.T.LI
|
>LDYA L.T.LI
|
||||||
jsr SRC.GetKeyword
|
jsr SRC.GetKeyword
|
||||||
bcs DIR.LI.9
|
bcs .9
|
||||||
|
|
||||||
jmp (J.LI,x)
|
jsr .7
|
||||||
|
|
||||||
|
jsr SRC.GetChar
|
||||||
|
bcs .8
|
||||||
|
|
||||||
|
cmp #','
|
||||||
|
beq DIR.LI
|
||||||
|
cmp #' '
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
.9 lda #ERR.SYNTAX.ERROR
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
.7 jmp (J.LI,x)
|
||||||
|
|
||||||
|
.8 clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
DIR.LI.ON ldy #ASM.LI.ON
|
||||||
|
sec
|
||||||
|
bra DIR.LI.APPLY
|
||||||
|
|
||||||
|
DIR.LI.OFF ldy #ASM.LI.ON
|
||||||
|
clc
|
||||||
|
bra DIR.LI.APPLY
|
||||||
|
|
||||||
DIR.LI.CON ldy #ASM.LI.CON
|
DIR.LI.CON ldy #ASM.LI.CON
|
||||||
sec
|
sec
|
||||||
bra DIR.LI.APPLY
|
bra DIR.LI.APPLY
|
||||||
|
|
||||||
DIR.LI.COFF ldy #ASM.LI.CON
|
DIR.LI.COFF ldy #ASM.LI.CON
|
||||||
clc
|
clc
|
||||||
bra DIR.LI.APPLY
|
bra DIR.LI.APPLY
|
||||||
|
|
||||||
|
DIR.LI.MON ldy #ASM.LI.MON
|
||||||
|
sec
|
||||||
|
bra DIR.LI.APPLY
|
||||||
|
|
||||||
|
DIR.LI.MOFF ldy #ASM.LI.MON
|
||||||
|
clc
|
||||||
|
bra DIR.LI.APPLY
|
||||||
|
|
||||||
DIR.LI.XON ldy #ASM.LI.XON
|
DIR.LI.XON ldy #ASM.LI.XON
|
||||||
sec
|
sec
|
||||||
bra DIR.LI.APPLY
|
bra DIR.LI.APPLY
|
||||||
|
|
||||||
DIR.LI.XOFF ldy #ASM.LI.XON
|
DIR.LI.XOFF ldy #ASM.LI.XON
|
||||||
clc
|
clc
|
||||||
bra DIR.LI.APPLY
|
|
||||||
DIR.LI.ON ldy #ASM.LI.ON
|
DIR.LI.APPLY lda #0
|
||||||
sec
|
ror
|
||||||
bra DIR.LI.APPLY
|
|
||||||
DIR.LI.OFF ldy #ASM.LI.ON
|
|
||||||
clc
|
|
||||||
DIR.LI.APPLY asl
|
|
||||||
|
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
DIR.LI.9 lda #ERR.SYNTAX.ERROR
|
|
||||||
sec
|
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
DIR.MA >LDA.G MAC.bAdd
|
DIR.MA >LDA.G MAC.bAdd
|
||||||
|
@ -51,6 +51,7 @@ EXP.Eval.Next1 cmp #'.' Local Label?
|
|||||||
dex
|
dex
|
||||||
bpl .11
|
bpl .11
|
||||||
|
|
||||||
|
jsr SRC.GetNextChar
|
||||||
jmp EXP.EvalOperator
|
jmp EXP.EvalOperator
|
||||||
|
|
||||||
.10 jsr SRC.IsDigit10 Decimal constant ?
|
.10 jsr SRC.IsDigit10 Decimal constant ?
|
||||||
@ -99,7 +100,7 @@ EXP.Eval.Next1 cmp #'.' Local Label?
|
|||||||
jsr SRC.GetNextChar
|
jsr SRC.GetNextChar
|
||||||
bra EXP.EvalOperator
|
bra EXP.EvalOperator
|
||||||
|
|
||||||
.43 cmp '"'
|
.43 cmp #'"'
|
||||||
bne .42
|
bne .42
|
||||||
jsr SRC.GetNextChar
|
jsr SRC.GetNextChar
|
||||||
bcs EXP.EvalExitSYN
|
bcs EXP.EvalExitSYN
|
||||||
@ -203,8 +204,8 @@ EXP.GetSymbol jsr SYM.LookupGlobal
|
|||||||
EXP.Compute dec
|
EXP.Compute dec
|
||||||
asl
|
asl
|
||||||
tax
|
tax
|
||||||
* >LDA.G ASM.PASS pass#2?
|
>LDA.G ASM.PASS pass#2?
|
||||||
* beq .8
|
beq .8
|
||||||
jmp (J.EXP.OP,x)
|
jmp (J.EXP.OP,x)
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
|
@ -31,18 +31,20 @@ OUT.EmitByte pha
|
|||||||
cmp #3
|
cmp #3
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
jsr SCR.PrintLineOn
|
jsr SRC.PrintLineOn
|
||||||
bcs .1
|
bcs .1
|
||||||
|
|
||||||
|
>LDA.G ASM.LI.XON
|
||||||
|
bpl .1
|
||||||
jsr SRC.PrintLineOutBuf
|
jsr SRC.PrintLineOutBuf
|
||||||
lda #13
|
lda #13
|
||||||
>SYSCALL PutChar.A
|
>SYSCALL PutChar.A
|
||||||
lda #10
|
lda #10
|
||||||
>SYSCALL PutChar.A
|
>SYSCALL PutChar.A
|
||||||
|
|
||||||
jsr OUT.Reset
|
.1 jsr OUT.Reset
|
||||||
|
|
||||||
.1 lda #0
|
lda #0
|
||||||
ldy #OUT.Buf
|
ldy #OUT.Buf
|
||||||
|
|
||||||
.2 inc
|
.2 inc
|
||||||
|
@ -2,18 +2,19 @@ NEW
|
|||||||
PREFIX /A2OSX.BUILD
|
PREFIX /A2OSX.BUILD
|
||||||
AUTO 4,1
|
AUTO 4,1
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.PrintLine jsr SCR.PrintLineOn
|
SRC.PrintLine jsr SRC.PrintLineOn
|
||||||
bcs .9
|
bcs SRC.PrintLine.9
|
||||||
jsr SRC.PrintLineOutBuf
|
|
||||||
bcs .9
|
SRC.PrintLine.1 jsr SRC.PrintLineOutBuf
|
||||||
|
bcs SRC.PrintLine.9
|
||||||
|
|
||||||
>PUSHW ZPLineBuf
|
>PUSHW ZPLineBuf
|
||||||
>PUSHW.G SRC.LINENUM
|
>PUSHW.G SRC.LINENUM
|
||||||
>LDYA L.MSG.SRCLINE
|
>LDYA L.MSG.SRCLINE
|
||||||
>SYSCALL PrintF.YA
|
>SYSCALL PrintF.YA
|
||||||
.9 rts
|
SRC.PrintLine.9 rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SCR.PrintLineOn >LDA.G ASM.LI.ON
|
SRC.PrintLineOn >LDA.G ASM.LI.ON
|
||||||
bpl .9
|
bpl .9
|
||||||
>LDA.G MAC.bAdd
|
>LDA.G MAC.bAdd
|
||||||
bpl .1
|
bpl .1
|
||||||
@ -56,11 +57,18 @@ SRC.PrintLineOutBuf >LDA.G OUT.Buf
|
|||||||
>SYSCALL PrintF.YA
|
>SYSCALL PrintF.YA
|
||||||
.9 rts
|
.9 rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.PrintLineErr >PUSHW ZPLineBuf
|
SRC.PrintLineErr >STA.G DIR.Byte Save Error code
|
||||||
>LDYA L.MSG.LINECR
|
|
||||||
>SYSCALL PrintF.YA
|
jsr SRC.PrintLineOn
|
||||||
|
bcc .1 Already printed
|
||||||
|
|
||||||
|
jsr SRC.PrintLine.1
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
.1 >PUSHB.G DIR.Byte
|
||||||
|
>LDYA L.MSG.ERROR
|
||||||
|
>SYSCALL PrintF.YA
|
||||||
|
|
||||||
ldx ZPLinePtr
|
ldx ZPLinePtr
|
||||||
cpx ZPLineBuf
|
cpx ZPLineBuf
|
||||||
beq .4
|
beq .4
|
||||||
@ -416,12 +424,14 @@ SRC.ParseLine.AM stz SRC.AM.StrBuf
|
|||||||
inc SRC.AM.StrBuf
|
inc SRC.AM.StrBuf
|
||||||
ldx SRC.AM.StrBuf
|
ldx SRC.AM.StrBuf
|
||||||
sta SRC.AM.StrBuf,x
|
sta SRC.AM.StrBuf,x
|
||||||
bra .7
|
|
||||||
|
jsr SRC.GetNextChar
|
||||||
|
bcs .9
|
||||||
|
|
||||||
.3 jsr SRC.IsLetter Any register?
|
.3 jsr SRC.IsLetter Any register?
|
||||||
bcs .6 no, try something else
|
bcs .6 no, try something else
|
||||||
|
|
||||||
>LDYA ZPRPtr
|
>LDYA ZPRPtr Check in register table
|
||||||
jsr SRC.GetKeyword
|
jsr SRC.GetKeyword
|
||||||
bcs .6
|
bcs .6
|
||||||
|
|
||||||
@ -704,7 +714,7 @@ SRC.GetKeyword >STYA ZPPtr1 KeyWord table
|
|||||||
.3 lda (ZPLinePtr),y
|
.3 lda (ZPLinePtr),y
|
||||||
beq .5
|
beq .5
|
||||||
|
|
||||||
jsr SRC.IsLetterUC
|
jsr SRC.IsKeywordLetterUC
|
||||||
bcs .5
|
bcs .5
|
||||||
|
|
||||||
iny
|
iny
|
||||||
@ -717,7 +727,7 @@ SRC.GetKeyword >STYA ZPPtr1 KeyWord table
|
|||||||
lda (ZPLinePtr),y All chars match...
|
lda (ZPLinePtr),y All chars match...
|
||||||
beq .4 End of Line ?
|
beq .4 End of Line ?
|
||||||
|
|
||||||
jsr SRC.IsLetter
|
jsr SRC.IsKeywordLetterUC
|
||||||
bcc .5 Additional letters...
|
bcc .5 Additional letters...
|
||||||
|
|
||||||
.4 lda ZPLinePtr
|
.4 lda ZPLinePtr
|
||||||
@ -768,16 +778,23 @@ SRC.IsMODReserved ldx SRC.MOD.RESERVED
|
|||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.IsEXPReserved ldx SRC.EXP.RESERVED
|
SRC.IsEXPReserved ldx SRC.EXP.RESERVED
|
||||||
.1 cmp SRC.EXP.RESERVED,x
|
.1 cmp SRC.EXP.RESERVED,x
|
||||||
beq .8
|
beq SRC.IsEXPReserved.8
|
||||||
dex
|
dex
|
||||||
bne .1
|
bne .1
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.8 clc
|
SRC.IsEXPReserved.8 clc
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.IsLetterUC cmp #'A'
|
SRC.IsKeywordLetterUC
|
||||||
|
cmp #'.'
|
||||||
|
beq SRC.IsEXPReserved.8
|
||||||
|
|
||||||
|
cmp #'_'
|
||||||
|
beq SRC.IsEXPReserved.8
|
||||||
|
|
||||||
|
cmp #'A'
|
||||||
bcc .9
|
bcc .9
|
||||||
cmp #'Z'+1
|
cmp #'Z'+1
|
||||||
bcc .99
|
bcc .99
|
||||||
@ -815,10 +832,19 @@ SRC.IsDigit16 jsr SRC.IsDigit10
|
|||||||
bcc .9
|
bcc .9
|
||||||
cmp #'F'+1
|
cmp #'F'+1
|
||||||
bcc .1
|
bcc .1
|
||||||
rts cc if ok, cs if not
|
|
||||||
|
|
||||||
.1 sbc #'A'-11 cc so A->10 (11-CC)
|
cmp #'a'
|
||||||
|
bcc .9
|
||||||
|
cmp #'f'+1
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
eor #$20
|
||||||
|
|
||||||
|
.1
|
||||||
|
* clc
|
||||||
|
sbc #'A'-11 cc so A->10 (11-CC)
|
||||||
clc
|
clc
|
||||||
|
|
||||||
.8 and #$0F
|
.8 and #$0F
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -82,7 +82,6 @@ L.MSG.OUT0 .DA MSG.OUT0
|
|||||||
.DA MSG.OUT2
|
.DA MSG.OUT2
|
||||||
.DA MSG.OUT3
|
.DA MSG.OUT3
|
||||||
L.MSG.SRCLINE .DA MSG.SRCLINE
|
L.MSG.SRCLINE .DA MSG.SRCLINE
|
||||||
L.MSG.LINECR .DA MSG.LINECR
|
|
||||||
L.MSG.ERROR .DA MSG.ERROR
|
L.MSG.ERROR .DA MSG.ERROR
|
||||||
L.MSG.SYMBOLS .DA MSG.SYMBOLS
|
L.MSG.SYMBOLS .DA MSG.SYMBOLS
|
||||||
L.MSG.GSYMBOL .DA MSG.GSYMBOL
|
L.MSG.GSYMBOL .DA MSG.GSYMBOL
|
||||||
@ -137,12 +136,14 @@ J.DIRECTIVES .DA DIR.AC
|
|||||||
.DA DIR.TI
|
.DA DIR.TI
|
||||||
.DA DIR.US
|
.DA DIR.US
|
||||||
L.T.LI .DA T.LI
|
L.T.LI .DA T.LI
|
||||||
J.LI .DA DIR.LI.CON
|
J.LI .DA DIR.LI.ON
|
||||||
|
.DA DIR.LI.OFF
|
||||||
|
.DA DIR.LI.CON
|
||||||
.DA DIR.LI.COFF
|
.DA DIR.LI.COFF
|
||||||
|
.DA DIR.LI.MON
|
||||||
|
.DA DIR.LI.MOFF
|
||||||
.DA DIR.LI.XON
|
.DA DIR.LI.XON
|
||||||
.DA DIR.LI.XOFF
|
.DA DIR.LI.XOFF
|
||||||
.DA DIR.LI.ON
|
|
||||||
.DA DIR.LI.OFF
|
|
||||||
J.EXP.OP .DA EXP.OP.EOR ^!|&<=>+-*/
|
J.EXP.OP .DA EXP.OP.EOR ^!|&<=>+-*/
|
||||||
.DA EXP.OP.ORA
|
.DA EXP.OP.ORA
|
||||||
.DA EXP.OP.ORA
|
.DA EXP.OP.ORA
|
||||||
@ -280,12 +281,6 @@ CS.RUN >SYSCALL GetChar
|
|||||||
.9 pha
|
.9 pha
|
||||||
jsr SRC.PrintLineErr
|
jsr SRC.PrintLineErr
|
||||||
pla
|
pla
|
||||||
pha
|
|
||||||
>PUSHA
|
|
||||||
>PUSHW.G SRC.LINENUM
|
|
||||||
>LDYA L.MSG.ERROR
|
|
||||||
>SYSCALL PrintF.YA
|
|
||||||
pla
|
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -372,12 +367,14 @@ T.DIRECTIVES >PSTR "AC"
|
|||||||
>PSTR "US"
|
>PSTR "US"
|
||||||
.HS 00
|
.HS 00
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
T.LI >PSTR "CON"
|
T.LI >PSTR "ON"
|
||||||
|
>PSTR "OFF"
|
||||||
|
>PSTR "CON"
|
||||||
>PSTR "COFF"
|
>PSTR "COFF"
|
||||||
|
>PSTR "MON"
|
||||||
|
>PSTR "MOFF"
|
||||||
>PSTR "XON"
|
>PSTR "XON"
|
||||||
>PSTR "XOFF"
|
>PSTR "XOFF"
|
||||||
>PSTR "ON"
|
|
||||||
>PSTR "OFF"
|
|
||||||
.HS 00
|
.HS 00
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
MSG.HELP >CSTR "A2osX-Macro Assembler (S-C MASM 3.0 Based)\r\nUsage : ASM <src file> [type TXT ($04) or S-C/BAS ($FA)]\r\n"
|
MSG.HELP >CSTR "A2osX-Macro Assembler (S-C MASM 3.0 Based)\r\nUsage : ASM <src file> [type TXT ($04) or S-C/BAS ($FA)]\r\n"
|
||||||
@ -390,8 +387,7 @@ MSG.OUT1 >CSTR "%H-%h "
|
|||||||
MSG.OUT2 >CSTR "%H-%h %h "
|
MSG.OUT2 >CSTR "%H-%h %h "
|
||||||
MSG.OUT3 >CSTR "%H-%h %h %h "
|
MSG.OUT3 >CSTR "%H-%h %h %h "
|
||||||
MSG.SRCLINE >CSTR "%05D %s\r\n"
|
MSG.SRCLINE >CSTR "%05D %s\r\n"
|
||||||
MSG.LINECR >CSTR "%s\r\n"
|
MSG.ERROR >CSTR "*** Fatal Error $%h "
|
||||||
MSG.ERROR >CSTR "%05D-Error:$%h\r\n"
|
|
||||||
MSG.SYMBOLS >CSTR "Symbol Table:\r\n"
|
MSG.SYMBOLS >CSTR "Symbol Table:\r\n"
|
||||||
MSG.GSYMBOL >CSTR "$%h%h%h%h:%S\r\n"
|
MSG.GSYMBOL >CSTR "$%h%h%h%h:%S\r\n"
|
||||||
MSG.SUMMARY >CSTR "\r\nSymbol Table Size : %5D Bytes.\r\nEnd Of Assembly.\r\n"
|
MSG.SUMMARY >CSTR "\r\nSymbol Table Size : %5D Bytes.\r\nEnd Of Assembly.\r\n"
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
NEW
|
|
||||||
PREFIX /A2OSX.BUILD
|
|
||||||
AUTO 4,1
|
|
||||||
*---------------------------------------
|
|
||||||
T.ADDR.MODES .EQ *
|
|
||||||
>PSTR "(a)"
|
|
||||||
>PSTR "(a),Y"
|
|
||||||
>PSTR "(a,X)"
|
|
||||||
>PSTR "a"
|
|
||||||
>PSTR "a,X"
|
|
||||||
>PSTR "aa"
|
|
||||||
>PSTR "aa,X"
|
|
||||||
>PSTR "aa,Y"
|
|
||||||
>PSTR "i"
|
|
||||||
>PSTR "a,r"
|
|
||||||
>PSTR "r"
|
|
||||||
>PSTR "(aa)"
|
|
||||||
>PSTR "(aa,x)"
|
|
||||||
>PSTR "a,Y"
|
|
||||||
.HS 00
|
|
||||||
*---------------------------------------
|
|
||||||
T.REGISTERS .EQ *
|
|
||||||
>PSTR "Y"
|
|
||||||
>PSTR "X"
|
|
||||||
.HS 00
|
|
||||||
*---------------------------------------
|
|
||||||
MAN
|
|
||||||
SAVE /A2OSX.BUILD/BIN/DEV/ASM.T.65W02.A
|
|
||||||
LOAD /A2OSX.BUILD/BIN/DEV/ASM.T.65W02.S
|
|
||||||
ASM
|
|
@ -1,729 +0,0 @@
|
|||||||
NEW
|
|
||||||
PREFIX /A2OSX.BUILD
|
|
||||||
AUTO 4,1
|
|
||||||
*---------------------------------------
|
|
||||||
T.OPCODES .EQ *
|
|
||||||
ADC .DA ADC.E+1-*
|
|
||||||
>PSTR "ADC"
|
|
||||||
.HS 01
|
|
||||||
>PSTR "72a"
|
|
||||||
.HS 02
|
|
||||||
>PSTR "71a"
|
|
||||||
.HS 03
|
|
||||||
>PSTR "61a"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "65a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "75a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "6Daa"
|
|
||||||
.HS 07
|
|
||||||
>PSTR "7Daa"
|
|
||||||
.HS 08
|
|
||||||
>PSTR "79aa"
|
|
||||||
.HS 09
|
|
||||||
>PSTR "69i"
|
|
||||||
ADC.E .HS 00
|
|
||||||
AND .DA AND.E+1-*
|
|
||||||
>PSTR "AND"
|
|
||||||
.HS 01
|
|
||||||
>PSTR "32a"
|
|
||||||
.HS 02
|
|
||||||
>PSTR "31a"
|
|
||||||
.HS 03
|
|
||||||
>PSTR "21a"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "25a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "35a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "2Daa"
|
|
||||||
.HS 07
|
|
||||||
>PSTR "3Daa"
|
|
||||||
.HS 08
|
|
||||||
>PSTR "39aa"
|
|
||||||
.HS 09
|
|
||||||
>PSTR "29i"
|
|
||||||
AND.E .HS 00
|
|
||||||
ASL .DA ASL.E+1-*
|
|
||||||
>PSTR "ASL"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "06a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "16a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "0Eaa"
|
|
||||||
.HS 07
|
|
||||||
>PSTR "1Eaa"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "0A"
|
|
||||||
ASL.E .HS 00
|
|
||||||
BBR0 .DA BBR0.E+1-*
|
|
||||||
>PSTR "BBR0"
|
|
||||||
.HS 0A
|
|
||||||
>PSTR "0Far"
|
|
||||||
BBR0.E .HS 00
|
|
||||||
BBR1 .DA BBR1.E+1-*
|
|
||||||
>PSTR "BBR1"
|
|
||||||
.HS 0A
|
|
||||||
>PSTR "1Far"
|
|
||||||
BBR1.E .HS 00
|
|
||||||
BBR2 .DA BBR2.E+1-*
|
|
||||||
>PSTR "BBR2"
|
|
||||||
.HS 0A
|
|
||||||
>PSTR "2Far"
|
|
||||||
BBR2.E .HS 00
|
|
||||||
BBR3 .DA BBR3.E+1-*
|
|
||||||
>PSTR "BBR3"
|
|
||||||
.HS 0A
|
|
||||||
>PSTR "3Far"
|
|
||||||
BBR3.E .HS 00
|
|
||||||
BBR4 .DA BBR4.E+1-*
|
|
||||||
>PSTR "BBR4"
|
|
||||||
.HS 0A
|
|
||||||
>PSTR "4Far"
|
|
||||||
BBR4.E .HS 00
|
|
||||||
BBR5 .DA BBR5.E+1-*
|
|
||||||
>PSTR "BBR5"
|
|
||||||
.HS 0A
|
|
||||||
>PSTR "5Far"
|
|
||||||
BBR5.E .HS 00
|
|
||||||
BBR6 .DA BBR6.E+1-*
|
|
||||||
>PSTR "BBR6"
|
|
||||||
.HS 0A
|
|
||||||
>PSTR "6Far"
|
|
||||||
BBR6.E .HS 00
|
|
||||||
BBR7 .DA BBR7.E+1-*
|
|
||||||
>PSTR "BBR7"
|
|
||||||
.HS 0A
|
|
||||||
>PSTR "7Far"
|
|
||||||
BBR7.E .HS 00
|
|
||||||
BBS0 .DA BBS0.E+1-*
|
|
||||||
>PSTR "BBS0"
|
|
||||||
.HS 0A
|
|
||||||
>PSTR "8Far"
|
|
||||||
BBS0.E .HS 00
|
|
||||||
BBS1 .DA BBS1.E+1-*
|
|
||||||
>PSTR "BBS1"
|
|
||||||
.HS 0A
|
|
||||||
>PSTR "9Far"
|
|
||||||
BBS1.E .HS 00
|
|
||||||
BBS2 .DA BBS2.E+1-*
|
|
||||||
>PSTR "BBS2"
|
|
||||||
.HS 0A
|
|
||||||
>PSTR "AFar"
|
|
||||||
BBS2.E .HS 00
|
|
||||||
BBS3 .DA BBS3.E+1-*
|
|
||||||
>PSTR "BBS3"
|
|
||||||
.HS 0A
|
|
||||||
>PSTR "BFar"
|
|
||||||
BBS3.E .HS 00
|
|
||||||
BBS4 .DA BBS4.E+1-*
|
|
||||||
>PSTR "BBS4"
|
|
||||||
.HS 0A
|
|
||||||
>PSTR "CFar"
|
|
||||||
BBS4.E .HS 00
|
|
||||||
BBS5 .DA BBS5.E+1-*
|
|
||||||
>PSTR "BBS5"
|
|
||||||
.HS 0A
|
|
||||||
>PSTR "DFar"
|
|
||||||
BBS5.E .HS 00
|
|
||||||
BBS6 .DA BBS6.E+1-*
|
|
||||||
>PSTR "BBS6"
|
|
||||||
.HS 0A
|
|
||||||
>PSTR "EFar"
|
|
||||||
BBS6.E .HS 00
|
|
||||||
BBS7 .DA BBS7.E+1-*
|
|
||||||
>PSTR "BBS7"
|
|
||||||
.HS 0A
|
|
||||||
>PSTR "FFar"
|
|
||||||
BBS7.E .HS 00
|
|
||||||
BCC .DA BCC.E+1-*
|
|
||||||
>PSTR "BCC"
|
|
||||||
.HS 0B
|
|
||||||
>PSTR "90r"
|
|
||||||
BCC.E .HS 00
|
|
||||||
BCS .DA BCS.E+1-*
|
|
||||||
>PSTR "BCS"
|
|
||||||
.HS 0B
|
|
||||||
>PSTR "B0r"
|
|
||||||
BCS.E .HS 00
|
|
||||||
BEQ .DA BEQ.E+1-*
|
|
||||||
>PSTR "BEQ"
|
|
||||||
.HS 0B
|
|
||||||
>PSTR "F0r"
|
|
||||||
BEQ.E .HS 00
|
|
||||||
BIT .DA BIT.E+1-*
|
|
||||||
>PSTR "BIT"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "24a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "34a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "2Caa"
|
|
||||||
.HS 07
|
|
||||||
>PSTR "3Caa"
|
|
||||||
.HS 09
|
|
||||||
>PSTR "89i"
|
|
||||||
BIT.E .HS 00
|
|
||||||
BMI .DA BMI.E+1-*
|
|
||||||
>PSTR "BMI"
|
|
||||||
.HS 0B
|
|
||||||
>PSTR "30r"
|
|
||||||
BMI.E .HS 00
|
|
||||||
BNE .DA BNE.E+1-*
|
|
||||||
>PSTR "BNE"
|
|
||||||
.HS 0B
|
|
||||||
>PSTR "D0r"
|
|
||||||
BNE.E .HS 00
|
|
||||||
BPL .DA BPL.E+1-*
|
|
||||||
>PSTR "BPL"
|
|
||||||
.HS 0B
|
|
||||||
>PSTR "10r"
|
|
||||||
BPL.E .HS 00
|
|
||||||
BRA .DA BRA.E+1-*
|
|
||||||
>PSTR "BRA"
|
|
||||||
.HS 0B
|
|
||||||
>PSTR "80r"
|
|
||||||
BRA.E .HS 00
|
|
||||||
BRK .DA BRK.E+1-*
|
|
||||||
>PSTR "BRK"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "00"
|
|
||||||
BRK.E .HS 00
|
|
||||||
BVC .DA BVC.E+1-*
|
|
||||||
>PSTR "BVC"
|
|
||||||
.HS 0B
|
|
||||||
>PSTR "50r"
|
|
||||||
BVC.E .HS 00
|
|
||||||
BVS .DA BVS.E+1-*
|
|
||||||
>PSTR "BVS"
|
|
||||||
.HS 0B
|
|
||||||
>PSTR "70r"
|
|
||||||
BVS.E .HS 00
|
|
||||||
CLC .DA CLC.E+1-*
|
|
||||||
>PSTR "CLC"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "18"
|
|
||||||
CLC.E .HS 00
|
|
||||||
CLD .DA CLD.E+1-*
|
|
||||||
>PSTR "CLD"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "D8"
|
|
||||||
CLD.E .HS 00
|
|
||||||
CLI .DA CLI.E+1-*
|
|
||||||
>PSTR "CLI"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "58"
|
|
||||||
CLI.E .HS 00
|
|
||||||
CLV .DA CLV.E+1-*
|
|
||||||
>PSTR "CLV"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "B8"
|
|
||||||
CLV.E .HS 00
|
|
||||||
CMP .DA CMP.E+1-*
|
|
||||||
>PSTR "CMP"
|
|
||||||
.HS 01
|
|
||||||
>PSTR "D2a"
|
|
||||||
.HS 02
|
|
||||||
>PSTR "D1a"
|
|
||||||
.HS 03
|
|
||||||
>PSTR "C1a"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "C5a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "D5a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "CDaa"
|
|
||||||
.HS 07
|
|
||||||
>PSTR "DDaa"
|
|
||||||
.HS 08
|
|
||||||
>PSTR "D9aa"
|
|
||||||
.HS 09
|
|
||||||
>PSTR "C9i"
|
|
||||||
CMP.E .HS 00
|
|
||||||
CPX .DA CPX.E+1-*
|
|
||||||
>PSTR "CPX"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "E4a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "Ecaa"
|
|
||||||
.HS 09
|
|
||||||
>PSTR "E0i"
|
|
||||||
CPX.E .HS 00
|
|
||||||
CPY .DA CPY.E+1-*
|
|
||||||
>PSTR "CPY"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "C4a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "Ccaa"
|
|
||||||
.HS 09
|
|
||||||
>PSTR "C0i"
|
|
||||||
CPY.E .HS 00
|
|
||||||
DEC .DA DEC.E+1-*
|
|
||||||
>PSTR "DEC"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "3A"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "C6a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "D6a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "Ceaa"
|
|
||||||
.HS 07
|
|
||||||
>PSTR "Deaa"
|
|
||||||
DEC.E .HS 00
|
|
||||||
DEX .DA DEX.E+1-*
|
|
||||||
>PSTR "DEX"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "CA"
|
|
||||||
DEX.E .HS 00
|
|
||||||
DEY .DA DEY.E+1-*
|
|
||||||
>PSTR "DEY"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "88"
|
|
||||||
DEY.E .HS 00
|
|
||||||
EOR .DA EOR.E+1-*
|
|
||||||
>PSTR "EOR"
|
|
||||||
.HS 01
|
|
||||||
>PSTR "52a"
|
|
||||||
.HS 02
|
|
||||||
>PSTR "51a"
|
|
||||||
.HS 03
|
|
||||||
>PSTR "41a"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "45a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "55a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "4Daa"
|
|
||||||
.HS 07
|
|
||||||
>PSTR "5Daa"
|
|
||||||
.HS 08
|
|
||||||
>PSTR "59aa"
|
|
||||||
.HS 09
|
|
||||||
>PSTR "49i"
|
|
||||||
EOR.E .HS 00
|
|
||||||
INC .DA INC.E+1-*
|
|
||||||
>PSTR "INC"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "1A"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "E6a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "F6a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "Eeaa"
|
|
||||||
.HS 07
|
|
||||||
>PSTR "Feaa"
|
|
||||||
INC.E .HS 00
|
|
||||||
INX .DA INX.E+1-*
|
|
||||||
>PSTR "INX"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "E8"
|
|
||||||
INX.E .HS 00
|
|
||||||
INY .DA INY.E+1-*
|
|
||||||
>PSTR "INY"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "C8"
|
|
||||||
INY.E .HS 00
|
|
||||||
JMP .DA JMP.E+1-*
|
|
||||||
>PSTR "JMP"
|
|
||||||
.HS 0C
|
|
||||||
>PSTR "6Caa"
|
|
||||||
.HS 0D
|
|
||||||
>PSTR "7Caa"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "4Caa"
|
|
||||||
JMP.E .HS 00
|
|
||||||
JSR .DA JSR.E+1-*
|
|
||||||
>PSTR "JSR"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "20aa"
|
|
||||||
JSR.E .HS 00
|
|
||||||
LDA .DA LDA.E+1-*
|
|
||||||
>PSTR "LDA"
|
|
||||||
.HS 01
|
|
||||||
>PSTR "B2a"
|
|
||||||
.HS 02
|
|
||||||
>PSTR "B1a"
|
|
||||||
.HS 03
|
|
||||||
>PSTR "A1a"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "A5a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "B5a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "Adaa"
|
|
||||||
.HS 07
|
|
||||||
>PSTR "Bdaa"
|
|
||||||
.HS 08
|
|
||||||
>PSTR "B9aa"
|
|
||||||
.HS 09
|
|
||||||
>PSTR "A9i"
|
|
||||||
LDA.E .HS 00
|
|
||||||
LDX .DA LDX.E+1-*
|
|
||||||
>PSTR "LDX"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "A6a"
|
|
||||||
.HS 0E
|
|
||||||
>PSTR "B6a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "Aeaa"
|
|
||||||
.HS 08
|
|
||||||
>PSTR "Beaa"
|
|
||||||
.HS 09
|
|
||||||
>PSTR "A2i"
|
|
||||||
LDX.E .HS 00
|
|
||||||
LDY .DA LDY.E+1-*
|
|
||||||
>PSTR "LDY"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "A4a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "B4a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "Acaa"
|
|
||||||
.HS 07
|
|
||||||
>PSTR "Bcaa"
|
|
||||||
.HS 09
|
|
||||||
>PSTR "A0i"
|
|
||||||
LDY.E .HS 00
|
|
||||||
LSR .DA LSR.E+1-*
|
|
||||||
>PSTR "LSR"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "46a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "56a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "4Eaa"
|
|
||||||
.HS 07
|
|
||||||
>PSTR "5Eaa"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "4A"
|
|
||||||
LSR.E .HS 00
|
|
||||||
NOP .DA NOP.E+1-*
|
|
||||||
>PSTR "NOP"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "EA"
|
|
||||||
NOP.E .HS 00
|
|
||||||
ORA .DA ORA.E+1-*
|
|
||||||
>PSTR "ORA"
|
|
||||||
.HS 01
|
|
||||||
>PSTR "12a"
|
|
||||||
.HS 02
|
|
||||||
>PSTR "11a"
|
|
||||||
.HS 03
|
|
||||||
>PSTR "01a"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "05a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "15a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "0Daa"
|
|
||||||
.HS 07
|
|
||||||
>PSTR "1Daa"
|
|
||||||
.HS 08
|
|
||||||
>PSTR "19aa"
|
|
||||||
.HS 09
|
|
||||||
>PSTR "09i"
|
|
||||||
ORA.E .HS 00
|
|
||||||
PHA .DA PHA.E+1-*
|
|
||||||
>PSTR "PHA"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "48"
|
|
||||||
PHA.E .HS 00
|
|
||||||
PHP .DA PHP.E+1-*
|
|
||||||
>PSTR "PHP"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "08"
|
|
||||||
PHP.E .HS 00
|
|
||||||
PHX .DA PHX.E+1-*
|
|
||||||
>PSTR "PHX"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "DA"
|
|
||||||
PHX.E .HS 00
|
|
||||||
PHY .DA PHY.E+1-*
|
|
||||||
>PSTR "PHY"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "5A"
|
|
||||||
PHY.E .HS 00
|
|
||||||
PLA .DA PLA.E+1-*
|
|
||||||
>PSTR "PLA"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "68"
|
|
||||||
PLA.E .HS 00
|
|
||||||
PLP .DA PLP.E+1-*
|
|
||||||
>PSTR "PLP"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "28"
|
|
||||||
PLP.E .HS 00
|
|
||||||
PLX .DA PLX.E+1-*
|
|
||||||
>PSTR "PLX"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "FA"
|
|
||||||
PLX.E .HS 00
|
|
||||||
PLY .DA PLY.E+1-*
|
|
||||||
>PSTR "PLY"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "7A"
|
|
||||||
PLY.E .HS 00
|
|
||||||
RMB0 .DA RMB0.E+1-*
|
|
||||||
>PSTR "RMB0"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "07a"
|
|
||||||
RMB0.E .HS 00
|
|
||||||
RMB1 .DA RMB1.E+1-*
|
|
||||||
>PSTR "RMB1"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "17a"
|
|
||||||
RMB1.E .HS 00
|
|
||||||
RMB2 .DA RMB2.E+1-*
|
|
||||||
>PSTR "RMB2"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "27a"
|
|
||||||
RMB2.E .HS 00
|
|
||||||
RMB3 .DA RMB3.E+1-*
|
|
||||||
>PSTR "RMB3"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "37a"
|
|
||||||
RMB3.E .HS 00
|
|
||||||
RMB4 .DA RMB4.E+1-*
|
|
||||||
>PSTR "RMB4"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "47a"
|
|
||||||
RMB4.E .HS 00
|
|
||||||
RMB5 .DA RMB5.E+1-*
|
|
||||||
>PSTR "RMB5"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "57a"
|
|
||||||
RMB5.E .HS 00
|
|
||||||
RMB6 .DA RMB6.E+1-*
|
|
||||||
>PSTR "RMB6"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "67a"
|
|
||||||
RMB6.E .HS 00
|
|
||||||
RMB7 .DA RMB7.E+1-*
|
|
||||||
>PSTR "RMB7"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "77a"
|
|
||||||
RMB7.E .HS 00
|
|
||||||
ROL .DA ROL.E+1-*
|
|
||||||
>PSTR "ROL"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "26a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "36a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "2Eaa"
|
|
||||||
.HS 07
|
|
||||||
>PSTR "3Eaa"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "2A"
|
|
||||||
ROL.E .HS 00
|
|
||||||
ROR .DA ROR.E+1-*
|
|
||||||
>PSTR "ROR"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "66a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "76a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "6Eaa"
|
|
||||||
.HS 07
|
|
||||||
>PSTR "7Eaa"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "6A"
|
|
||||||
ROR.E .HS 00
|
|
||||||
RTI .DA RTI.E+1-*
|
|
||||||
>PSTR "RTI"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "40"
|
|
||||||
RTI.E .HS 00
|
|
||||||
RTS .DA RTS.E+1-*
|
|
||||||
>PSTR "RTS"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "60"
|
|
||||||
RTS.E .HS 00
|
|
||||||
SBC .DA SBC.E+1-*
|
|
||||||
>PSTR "SBC"
|
|
||||||
.HS 01
|
|
||||||
>PSTR "F2a"
|
|
||||||
.HS 02
|
|
||||||
>PSTR "F1a"
|
|
||||||
.HS 03
|
|
||||||
>PSTR "E1a"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "E5a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "F5a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "Edaa"
|
|
||||||
.HS 07
|
|
||||||
>PSTR "Fdaa"
|
|
||||||
.HS 08
|
|
||||||
>PSTR "F9aa"
|
|
||||||
.HS 09
|
|
||||||
>PSTR "E9i"
|
|
||||||
SBC.E .HS 00
|
|
||||||
SEC .DA SEC.E+1-*
|
|
||||||
>PSTR "SEC"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "38"
|
|
||||||
SEC.E .HS 00
|
|
||||||
SED .DA SED.E+1-*
|
|
||||||
>PSTR "SED"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "F8"
|
|
||||||
SED.E .HS 00
|
|
||||||
SEI .DA SEI.E+1-*
|
|
||||||
>PSTR "SEI"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "78"
|
|
||||||
SEI.E .HS 00
|
|
||||||
SMB0 .DA SMB0.E+1-*
|
|
||||||
>PSTR "SMB0"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "87a"
|
|
||||||
SMB0.E .HS 00
|
|
||||||
SMB1 .DA SMB1.E+1-*
|
|
||||||
>PSTR "SMB1"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "97a"
|
|
||||||
SMB1.E .HS 00
|
|
||||||
SMB2 .DA SMB2.E+1-*
|
|
||||||
>PSTR "SMB2"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "A7a"
|
|
||||||
SMB2.E .HS 00
|
|
||||||
SMB3 .DA SMB3.E+1-*
|
|
||||||
>PSTR "SMB3"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "B7a"
|
|
||||||
SMB3.E .HS 00
|
|
||||||
SMB4 .DA SMB4.E+1-*
|
|
||||||
>PSTR "SMB4"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "C7a"
|
|
||||||
SMB4.E .HS 00
|
|
||||||
SMB5 .DA SMB5.E+1-*
|
|
||||||
>PSTR "SMB5"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "D7a"
|
|
||||||
SMB5.E .HS 00
|
|
||||||
SMB6 .DA SMB6.E+1-*
|
|
||||||
>PSTR "SMB6"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "E7a"
|
|
||||||
SMB6.E .HS 00
|
|
||||||
SMB7 .DA SMB7.E+1-*
|
|
||||||
>PSTR "SMB7"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "F7a"
|
|
||||||
SMB7.E .HS 00
|
|
||||||
STA .DA STA.E+1-*
|
|
||||||
>PSTR "STA"
|
|
||||||
.HS 01
|
|
||||||
>PSTR "92a"
|
|
||||||
.HS 02
|
|
||||||
>PSTR "91a"
|
|
||||||
.HS 03
|
|
||||||
>PSTR "81a"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "85a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "95a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "8Daa"
|
|
||||||
.HS 07
|
|
||||||
>PSTR "9Daa"
|
|
||||||
.HS 08
|
|
||||||
>PSTR "99aa"
|
|
||||||
STA.E .HS 00
|
|
||||||
STP .DA STP.E+1-*
|
|
||||||
>PSTR "STP"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "DB"
|
|
||||||
STP.E .HS 00
|
|
||||||
STX .DA STX.E+1-*
|
|
||||||
>PSTR "STX"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "86a"
|
|
||||||
.HS 0E
|
|
||||||
>PSTR "96a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "8Eaa"
|
|
||||||
STX.E .HS 00
|
|
||||||
STY .DA STY.E+1-*
|
|
||||||
>PSTR "STY"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "84a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "94a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "8Caa"
|
|
||||||
STY.E .HS 00
|
|
||||||
STZ .DA STZ.E+1-*
|
|
||||||
>PSTR "STZ"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "64a"
|
|
||||||
.HS 05
|
|
||||||
>PSTR "74a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "9Caa"
|
|
||||||
.HS 07
|
|
||||||
>PSTR "9Eaa"
|
|
||||||
STZ.E .HS 00
|
|
||||||
TAX .DA TAX.E+1-*
|
|
||||||
>PSTR "TAX"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "AA"
|
|
||||||
TAX.E .HS 00
|
|
||||||
TAY .DA TAY.E+1-*
|
|
||||||
>PSTR "TAY"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "A8"
|
|
||||||
TAY.E .HS 00
|
|
||||||
TRB .DA TRB.E+1-*
|
|
||||||
>PSTR "TRB"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "14a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "1Caa"
|
|
||||||
TRB.E .HS 00
|
|
||||||
TSB .DA TSB.E+1-*
|
|
||||||
>PSTR "TSB"
|
|
||||||
.HS 04
|
|
||||||
>PSTR "04a"
|
|
||||||
.HS 06
|
|
||||||
>PSTR "0Caa"
|
|
||||||
TSB.E .HS 00
|
|
||||||
TSX .DA TSX.E+1-*
|
|
||||||
>PSTR "TSX"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "BA"
|
|
||||||
TSX.E .HS 00
|
|
||||||
TXA .DA TXA.E+1-*
|
|
||||||
>PSTR "TXA"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "8A"
|
|
||||||
TXA.E .HS 00
|
|
||||||
TXS .DA TXS.E+1-*
|
|
||||||
>PSTR "TXS"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "9A"
|
|
||||||
TXS.E .HS 00
|
|
||||||
TYA .DA TYA.E+1-*
|
|
||||||
>PSTR "TYA"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "98"
|
|
||||||
TYA.E .HS 00
|
|
||||||
WAI .DA WAI.E+1-*
|
|
||||||
>PSTR "WAI"
|
|
||||||
.HS 00
|
|
||||||
>PSTR "CB"
|
|
||||||
WAI.E .HS 00
|
|
||||||
.HS 0000
|
|
||||||
*---------------------------------------
|
|
||||||
MAN
|
|
||||||
SAVE /A2OSX.BUILD/BIN/DEV/ASM.T.65W02.O
|
|
||||||
LOAD /A2OSX.BUILD/BIN/DEV/ASM.T.65W02.S
|
|
||||||
ASM
|
|
@ -1,23 +0,0 @@
|
|||||||
NEW
|
|
||||||
PREFIX /A2OSX.BUILD
|
|
||||||
AUTO 4,1
|
|
||||||
.LIST OFF
|
|
||||||
.OR $0
|
|
||||||
.TF /A2OSX.BUILD/BIN/DEV/ASM.T.65W02
|
|
||||||
*---------------------------------------
|
|
||||||
.MA PSTR
|
|
||||||
.DA #:1-*-1
|
|
||||||
.AS "]1"
|
|
||||||
:1 .EQ *
|
|
||||||
.EM
|
|
||||||
*---------------------------------------
|
|
||||||
.DA T.ADDR.MODES
|
|
||||||
.DA T.REGISTERS
|
|
||||||
.DA T.OPCODES
|
|
||||||
*---------------------------------------
|
|
||||||
.INB /A2OSX.BUILD/BIN/DEV/ASM.T.65W02.O
|
|
||||||
.INB /A2OSX.BUILD/BIN/DEV/ASM.T.65W02.A
|
|
||||||
*---------------------------------------
|
|
||||||
MAN
|
|
||||||
SAVE /A2OSX.BUILD/BIN/DEV/ASM.T.65W02.S
|
|
||||||
ASM
|
|
Loading…
x
Reference in New Issue
Block a user