Work In Progress (ASM)

This commit is contained in:
Rémy GIBERT 2015-10-28 17:55:12 +01:00
parent 72daed64fc
commit 40b78c11a4
21 changed files with 5220 additions and 5188 deletions

View File

@ -4,7 +4,6 @@ NEW
INC 1 INC 1
AUTO 6 AUTO 6
.LIST OFF .LIST OFF
.OP 65C02
*--------------------------------------- *---------------------------------------
DIR.AC clc DIR.AC clc
rts rts
@ -36,17 +35,7 @@ DIR.ED clc
DIR.EL clc DIR.EL clc
rts rts
*--------------------------------------- *---------------------------------------
DIR.EM ldy #ASM.MA.ON DIR.EM lda #ERR.INVALID.MACRO.DEF
lda (pData),y
bpl .9
lda #$00
sta (pData),y
clc
rts
.9 lda #ERR.INVALID.MACRO.DEF
sec sec
rts rts
*--------------------------------------- *---------------------------------------
@ -56,8 +45,11 @@ DIR.EN clc
DIR.EP clc DIR.EP clc
rts rts
*--------------------------------------- *---------------------------------------
DIR.EQ clc DIR.EQ jsr EXP.Get
rts bcs .9
clc
.9 rts
*--------------------------------------- *---------------------------------------
DIR.FI clc DIR.FI clc
rts rts
@ -71,7 +63,7 @@ DIR.IN jsr SRC.GetArg
>LDYA L.SRC.BUFFER >LDYA L.SRC.BUFFER
>SYSCALL SYS.NewPStrYA >SYSCALL SYS.NewPStrYA
jsr SRC.OpenFileA jsr FIO.OpenFileA
bcs .99 bcs .99
rts rts
@ -111,20 +103,57 @@ DIR.LI.APPLY lsr
sta (pData),y sta (pData),y
rts rts
*--------------------------------------- *---------------------------------------
DIR.MA ldy #ASM.MA.ON DIR.MA jsr SRC.GetArg
bcs .9
.1 jsr FIO.ReadLine
bcs .99
lda TmpBuffer256
beq .1
cmp #'*' Comment?
beq .8
cmp #';' Comment?
beq .8
cmp #' ' no label...go scan dir/opcode
beq .3
.2 jsr SRC.GetChar skip label
beq .8
cmp #' '
bne .2
.3 jsr SRC.GetCharNB Scan for an Opcode...
beq .8
cmp #'.'
bne .8
jsr SRC.GetChar
beq .8
cmp #'E'
bne .8
jsr SRC.GetChar
beq .8
cmp #'M'
bne .8
clc
rts
.8 ldy #ASM.PASS If Pass#2, ignore
lda (pData),y lda (pData),y
bmi .9 bne .1
lda #$80
sta (pData),y
jsr SRC.GetArg
bra .1
clc clc
rts rts
.9 lda #ERR.INVALID.MACRO.DEF .9 lda #ERR.INVALID.MACRO.DEF
sec sec
rts .99 rts
*--------------------------------------- *---------------------------------------
DIR.OP jsr SRC.GetArg DIR.OP jsr SRC.GetArg
bcs .9 bcs .9
@ -147,8 +176,20 @@ DIR.OP jsr SRC.GetArg
sec sec
rts rts
*--------------------------------------- *---------------------------------------
DIR.OR clc DIR.OR jsr EXP.Get
rts bcs .9
ldy #ASM.PC
ldx #0
.1 lda SRC.ACC,x
sta (pData),y
inx
iny
cpx #4
bne .1
clc
.9 rts
*--------------------------------------- *---------------------------------------
DIR.PG clc DIR.PG clc
rts rts

View File

@ -4,43 +4,69 @@ NEW
INC 1 INC 1
AUTO 6 AUTO 6
.LIST OFF .LIST OFF
.OP 65C02
*--------------------------------------- *---------------------------------------
* Addressing Mode reserved : #(),XY * Addressing Mode reserved : []#(),
* EXP.Operators .AS "^!|&<=>+-*/"
* U-Operators : * U-Operators :
* B-Operators : * B-Operators :
* Num Format : 0-9 -> decimal * Num Format : 0-9 -> decimal
* $ = Hexa * $ = Hex
* % = binary * % = binary
* & = octal * & = octal
* * = PC
*--------------------------------------- *---------------------------------------
EXP.Get jsr SRC.GetCharNB EXP.Get jsr SRC.GetCharNB
beq .9 beq .98
jsr SRC.IsDigit10 Decimal constant ? cmp #'*'
bne . bne .10
ldy #ASM.PC
ldx #0
.11 lda (pData),y
sta SRC.ACC,x
inx
iny
cpx #4
bne .11
bra .8
.10 jsr SRC.IsDigit10 Decimal constant ?
bcs .1
dec SRC.BufPtr
jsr SRC.GetDecimal
bcs .97
bra .8
.1 cmp #'$' Hex?
bne .2
jsr SRC.GetHex
bcs .97
bra .8
.2 cmp #'%' binary?
bne .3
jsr SRC.GetBinary
bcs .97
bra .8
.3 jsr SRC.IsLetter Symbol ?
bcs .97
cmp #'$' Hex? .8 clc
bne . rts
.97 lda #ERR.SYNTAX.ERROR
sec
rts
.98 lda #ERR.MISSING.EXP
cmp #''' literal?
bne .
jsr SRC.IsLetter Symbol ?
bne .
cmp #'#'
.9 lda #ERR.MISSING.EXP
sec sec
.99 rts .99 rts
*--------------------------------------- *---------------------------------------
@ -49,9 +75,9 @@ EXP.Get jsr SRC.GetCharNB
stz SRC.ACC+2 stz SRC.ACC+2
stz SRC.ACC+3 stz SRC.ACC+3
*--------------------------------------- *---------------------------------------
EXP.Operators .AS "^!|&<=>+-*/"
*--------------------------------------- *---------------------------------------
MAN MAN
SAVE BIN/ASM.S.DIR SAVE BIN/ASM.S.EXP
LOAD BIN/ASM.S LOAD BIN/ASM.S
ASM ASM

270
BIN/ASM.S.FIO.txt Normal file
View File

@ -0,0 +1,270 @@
PR#3
PREFIX /A2OSX.SRC
NEW
INC 1
AUTO 6
.LIST OFF
*---------------------------------------
FIO.OpenFileA sta hFileName
>SYSCALL SYS.GetMemPtrA
>STYA ZPPtr1
ldy #1
lda (ZPPtr1),y
cmp #'/'
beq .1
>PUSHB hFileName
ldy #S.PS.hPREFIX
lda (pPs),y
>PUSHA
>SYSCALL SYS.PStrCat
sta hFileName
>SYSCALL SYS.GetMemPtrA
>STYA ZPPtr1
.1 >PUSHW ZPPtr1
>PUSHW L.MSG.SRC.FILE
>LIBCALL hLIBSTR,LIBSTR.PRINTF
ldy #SRC.COUNT
lda (pData),y
cmp #SRC.IN.DEPTH.MAX
bne .10
lda #ERR.SRC.TOO.MANY.IN
sec
rts
.10 lda hFileName
>SYSCALL SYS.MLIOpenA
bcs .99
pha
ldy #SRC.COUNT
lda (pData),y
clc
adc #SRC.hREFNUMS
tay
pla
sta (pData),y
ldy #SRC.COUNT
lda (pData),y
clc
adc #SRC.hBUFFERS
tay
txa
sta (pData),y
lda hFileName
>SYSCALL SYS.MLIGetFileInfoA
bcs .99
>STYA ZPQuickPtr1
ldy #1
lda (ZPQuickPtr1),y
tax
ldy #SRC.COUNT
lda (pData),y
clc
adc #SRC.hFILETYPES
tay
txa
sta (pData),y
cmp #$FA S-C/BAS?
beq .8
cmp #$04 TXT ?
bne .98
>PUSHBI $0D Line separator for TXT file
>PUSHBI $FF
ldy #SRC.COUNT
lda (pData),y
clc
adc #SRC.hREFNUMS
tay
lda (pData),y
>PUSHA
>SYSCALL SYS.MLINewLine
bcs .99
.8 ldy #SRC.COUNT
lda (pData),y
inc
sta (pData),y
clc
rts
.98 lda #ERR.SRC.INV.TYPE
.99 sec
rts
*---------------------------------------
FIO.ReadLine stz SRC.Label.Flags
stz SRC.BufPtr
ldy #SRC.COUNT
lda (pData),y
clc
adc #SRC.hFILETYPES-1
tay
lda (pData),y
bmi .10
>PUSHWI 256
>PUSHWI TmpBuffer256
jsr FIO.ReadFromFile
bcs .19
lda #0 replace ending $0D with $00
sta TmpBuffer256,y
.19 rts
.10 >PUSHWI 3
>PUSHW L.SRC.Buffer
jsr FIO.ReadFromFile
bcs .9
lda SRC.Buffer+1
sta SRC.LINENUM
lda SRC.Buffer+2
sta SRC.LINENUM+1
lda SRC.Buffer LEN
sec
sbc #3
bcc .9 LEN should be at least 3
tay
lda #0
>PUSHYA
>PUSHW L.SRC.BUFFER
jsr FIO.ReadFromFile
ldy #0
ldx #0
.1 lda SRC.Buffer,y
bmi .2
sta TmpBuffer256,x
beq .8 Ending 00
inx
beq .99
iny
bne .1
bra .99
.2 cmp #$C0 REPEAT char?
bne .5
iny
beq .99
lda SRC.Buffer,y
iny
beq .99
.3 pha
lda SRC.Buffer,y
sta TmpBuffer256,x
pla
inx
beq .99
dec
bne .3
iny
bne .1
bra .99
.5 and #$3F Compute blank count
.6 pha
lda #$20
sta TmpBuffer256,x
pla
inx
beq .99
dec
bne .6
iny
bne .1
bra .99
.8 clc
.9 rts
.99 lda #ERR.LINE.TOO.LONG
sec
rts
*--------------------------------------
FIO.ReadFromFile ldy #SRC.COUNT
lda (pData),y
clc
adc #SRC.hREFNUMS-1
tay
lda (pData),y
>PUSHA
>SYSCALL SYS.MLIRead
bcs .9
tax $100 byte transfered ?
beq .9
lda #ERR.LINE.TOO.LONG
sec
.9 rts
*---------------------------------------
FIO.FileClose ldy #SRC.COUNT
lda (pData),y
beq .8
clc
adc #SRC.hREFNUMS-1
tay
lda (pData),y
>SYSCALL SYS.MLICloseA
ldy #SRC.COUNT
lda (pData),y
clc
adc #SRC.hBUFFERS-1
tay
lda (pData),y
>SYSCALL SYS.FreeMemA
ldy #SRC.COUNT
lda (pData),y
dec
sta (pData),y
.8 clc
rts
*---------------------------------------
LOAD.ASM.T ldy #ASM.T.hMem
lda (pData),y
beq .1
>SYSCALL SYS.FreeMemA
ldy #ASM.T.hMem
lda #0
sta (pData),y
.1 >PUSHW L.ASM.T.FILENAME
>PUSHW L.MSG.T.FILE
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.ASM.T.FILENAME
>SYSCALL SYS.LoadFileYA
bcs .9
txa
ldy #ASM.T.hMem
sta (pData),y
.9 rts
*---------------------------------------
MAN
SAVE BIN/ASM.S.FIO
LOAD BIN/ASM.S
ASM

View File

@ -4,246 +4,8 @@ NEW
INC 1 INC 1
AUTO 6 AUTO 6
.LIST OFF .LIST OFF
.OP 65C02
*--------------------------------------- *---------------------------------------
SRC.OpenFileA sta hFileName SRC.ParseLine ldx TmpBuffer256
>SYSCALL SYS.GetMemPtrA
>STYA ZPPtr1
ldy #1
lda (ZPPtr1),y
cmp #'/'
beq .1
>PUSHB hFileName
ldy #S.PS.hPREFIX
lda (pPs),y
>PUSHA
>SYSCALL SYS.PStrCat
sta hFileName
>SYSCALL SYS.GetMemPtrA
>STYA ZPPtr1
.1 >PUSHW ZPPtr1
>PUSHW L.MSG.SRC.FILE
>LIBCALL hLIBSTR,LIBSTR.PRINTF
ldy #SRC.COUNT
lda (pData),y
cmp #SRC.IN.DEPTH.MAX
bne .10
lda #ERR.SRC.TOO.MANY.IN
sec
rts
.10 lda hFileName
>SYSCALL SYS.MLIOpenA
bcs .99
pha
ldy #SRC.COUNT
lda (pData),y
clc
adc #SRC.hREFNUMS
tay
pla
sta (pData),y
ldy #SRC.COUNT
lda (pData),y
clc
adc #SRC.hBUFFERS
tay
txa
sta (pData),y
lda hFileName
>SYSCALL SYS.MLIGetFileInfoA
bcs .99
>STYA ZPQuickPtr1
ldy #1
lda (ZPQuickPtr1),y
tax
ldy #SRC.COUNT
lda (pData),y
clc
adc #SRC.hFILETYPES
tay
txa
sta (pData),y
cmp #$FA S-C/BAS?
beq .8
cmp #$04 TXT ?
bne .98
>PUSHBI $0D Line separator for TXT file
>PUSHBI $FF
ldy #SRC.COUNT
lda (pData),y
clc
adc #SRC.hREFNUMS
tay
lda (pData),y
>PUSHA
>SYSCALL SYS.MLINewLine
bcs .99
.8 ldy #SRC.COUNT
lda (pData),y
inc
sta (pData),y
clc
rts
.98 lda #ERR.SRC.INV.TYPE
.99 sec
rts
*---------------------------------------
SRC.ReadLine ldy #SRC.COUNT
lda (pData),y
clc
adc #SRC.hFILETYPES-1
tay
lda (pData),y
bmi .10
>PUSHWI 256
>PUSHWI TmpBuffer256
jsr SRC.ReadFromFile
bcs .19
lda #0 replace ending $0D with $00
sta TmpBuffer256,y
.19 rts
.10 >PUSHWI 3
>PUSHW L.SRC.Buffer
jsr SRC.ReadFromFile
bcs .9
lda SRC.Buffer+1
sta SRC.LINENUM
lda SRC.Buffer+2
sta SRC.LINENUM+1
lda SRC.Buffer LEN
sec
sbc #3
bcc .9 LEN should be at least 3
tay
lda #0
>PUSHYA
>PUSHW L.SRC.BUFFER
jsr SRC.ReadFromFile
ldy #0
ldx #0
.1 lda SRC.Buffer,y
bmi .2
sta TmpBuffer256,x
beq .8 Ending 00
inx
beq .99
iny
bne .1
bra .99
.2 cmp #$C0 REPEAT char?
bne .5
iny
beq .99
lda SRC.Buffer,y
iny
beq .99
.3 pha
lda SRC.Buffer,y
sta TmpBuffer256,x
pla
inx
beq .99
dec
bne .3
iny
bne .1
bra .99
.5 and #$3F Compute blank count
.6 pha
lda #$20
sta TmpBuffer256,x
pla
inx
beq .99
dec
bne .6
iny
bne .1
bra .99
.8 clc
.9 rts
.99 lda #ERR.LINE.TOO.LONG
sec
rts
*--------------------------------------
SRC.ReadFromFile ldy #SRC.COUNT
lda (pData),y
clc
adc #SRC.hREFNUMS-1
tay
lda (pData),y
>PUSHA
>SYSCALL SYS.MLIRead
bcs .9
tax $100 byte transfered ?
beq .9
lda #ERR.LINE.TOO.LONG
sec
.9 rts
*---------------------------------------
SRC.FileClose ldy #SRC.COUNT
lda (pData),y
beq .8
clc
adc #SRC.hREFNUMS-1
tay
lda (pData),y
>SYSCALL SYS.MLICloseA
ldy #SRC.COUNT
lda (pData),y
clc
adc #SRC.hBUFFERS-1
tay
lda (pData),y
>SYSCALL SYS.FreeMemA
ldy #SRC.COUNT
lda (pData),y
dec
sta (pData),y
.8 clc
rts
*---------------------------------------
SRC.ParseLine stz SRC.Label.Flags
stz SRC.BufPtr
ldx TmpBuffer256
beq SRC.ParseLine.Skip beq SRC.ParseLine.Skip
cpx #'*' Comment? cpx #'*' Comment?
@ -254,16 +16,6 @@ SRC.ParseLine stz SRC.Label.Flags
cpx #' ' no label...go scan dir/opcode cpx #' ' no label...go scan dir/opcode
beq .4 beq .4
ldy #ASM.MA.ON Macro learning mode ?
lda (pData),y
bpl .1 go Label check
.10 jsr SRC.GetChar skip label
beq SRC.ParseLine.skip
cmp #' '
bne .10
bra .4
.1 cpx #'.' local symbol? .1 cpx #'.' local symbol?
bne .2 bne .2
jsr SRC.ParseLine.SymL jsr SRC.ParseLine.SymL
@ -282,7 +34,15 @@ SRC.ParseLine stz SRC.Label.Flags
bcs SRC.ParseLine.Err bcs SRC.ParseLine.Err
bra SRC.ParseLine.Ok bra SRC.ParseLine.Ok
.5 jsr SRC.ParseLine.OpCode .5 cmp #'>'
bne .6
jsr SRC.ParseLine.Exec.Macro
bcs SRC.ParseLine.Err
bra SRC.ParseLine.Ok
.6 dec SRC.BufPtr Back one char...
jsr SRC.ParseLine.OpCode
bcs SRC.ParseLine.Err bcs SRC.ParseLine.Err
@ -290,19 +50,8 @@ SRC.ParseLine.Ok lda SRC.Label.Flags
beq .1 beq .1
jsr SYM.Add jsr SYM.Add
bcs SRC.ParseLine.Err
.1 ldy #ASM.MA.ON Macro learning mode ? .1
lda (pData),y
bpl .2
ldy #ASM.PASS If Pass#2, ignore
lda (pData),y
bne SRC.ParseLine.skip
jsr SRC.ParseLine.Macro
.2
SRC.ParseLine.skip clc SRC.ParseLine.skip clc
rts rts
@ -352,16 +101,69 @@ SRC.ParseLine.Dir >LDYA L.T.DIRECTIVES
sec sec
rts rts
*--------------------------------------- *---------------------------------------
SRC.ParseLine.OpCode SRC.ParseLine.Exec.Macro
clc clc
rts rts
*--------------------------------------- *---------------------------------------
SRC.ParseLine.Macro SRC.ParseLine.Add.Macro
clc clc
rts rts
*--------------------------------------- *---------------------------------------
SRC.ParseLine.OpCode
jsr SRC.GetArg
bcs .9
ldy #ASM.T.hMem
lda (pData),y
>SYSCALL SYS.GetMemPtrA
>STYA ZPPtr1
ldy #ASM.T.O
lda (ZPPtr1),y
clc
adc ZPPtr1
sta ZPPtr2
iny
lda (ZPPtr1),y
adc ZPPtr1+1
sta ZPPtr2+1
.10 lda (ZPPtr2)
ldy #1
ora (ZPPtr2),y
beq .9
ldx #$FF
.1 inx
lda SRC.Buffer,x
iny
cmp (ZPPtr2),y
bne .7
cpx SRC.Buffer
bne .1
clc
rts
.7 lda ZPPtr1
clc
adc (ZPPtr2)
tax
lda ZPPtr1+1
ldy #1
adc (ZPPtr2),y
stx ZPPtr2
sta ZPPtr2+1
bra .10
.9 lda #ERR.INVALID.OPCODE
sec
rts
*---------------------------------------
SRC.PrintLine bcs .8 if CS, unconditional SRC.PrintLine bcs .8 if CS, unconditional
ldy #ASM.MA.ON ldy #ASM.MACRO.ON
lda (pData),y lda (pData),y
bpl .1 bpl .1
@ -422,6 +224,91 @@ SRC.GetDecimal stz SRC.ACC+1
.8 clc .8 clc
rts rts
.99 lda #ERR.SYNTAX.ERROR
sec
rts
*---------------------------------------
SRC.GetHex stz SRC.ACC+1
stz SRC.ACC+2
stz SRC.ACC+3
jsr SRC.GetChar
beq .99
jsr SRC.IsDigit16
bcs .99
and #$0F
sta SRC.ACC
.1 jsr SRC.GetChar
beq .8
cmp #' '
beq .8
jsr SRC.IsDigit16
bcs .99
asl
asl
asl
asl
ldx #4
.2 asl
rol SRC.ACC
rol SRC.ACC+1
rol SRC.ACC+2
rol SRC.ACC+3
bcs .9
dex
bne .2
bra .1
.8 clc
rts
.9 lda #ERR.VAL.TOO.BIG
sec
rts
.99 lda #ERR.SYNTAX.ERROR
sec
rts
*---------------------------------------
SRC.GetBinary stz SRC.ACC+1
stz SRC.ACC+2
stz SRC.ACC+3
jsr SRC.GetChar
beq .99
cmp #'1'
beq .10
cmp #'0'
bne .99
.10 and #$01
sta SRC.ACC
.1 jsr SRC.GetChar
beq .8
cmp #'1'
beq .11
cmp #'0'
bne .8
.11 lsr
rol SRC.ACC
rol SRC.ACC+1
rol SRC.ACC+2
rol SRC.ACC+3
bcs .9
bra .1
.8 clc
rts
.9 lda #ERR.VAL.TOO.BIG
sec
rts
.99 lda #ERR.SYNTAX.ERROR .99 lda #ERR.SYNTAX.ERROR
sec sec
rts rts
@ -512,7 +399,6 @@ SRC.GetArg jsr SRC.GetCharUC
beq .2 beq .2
cmp #' ' cmp #' '
beq .2 beq .2
cmp #','
iny iny
sta SRC.Buffer,y sta SRC.Buffer,y
bra .1 bra .1
@ -540,9 +426,25 @@ SRC.IsLetter cmp #'A'
.9 sec .9 sec
SRC.IsLetterRTS rts SRC.IsLetterRTS rts
*--------------------------------------- *---------------------------------------
SRC.IsDigit16 jsr SRC.IsDigit10
bcc .8
cmp #'A'
bcc .9
cmp #'G'
bcc .1
rts cc if ok, cs if not
.1 sbc #'A'-10 cc so A->10
clc
.8 and #$0F
rts
.9 sec
rts
*---------------------------------------
SRC.IsDigit10 cmp #'0' SRC.IsDigit10 cmp #'0'
bcc .9 bcc .9
cmp #':' cmp #'9'+1
rts cc if ok, cs if not rts cc if ok, cs if not
.9 sec .9 sec
@ -565,9 +467,10 @@ SRC.GetCharUC jsr SRC.GetChar
*--------------------------------------- *---------------------------------------
SRC.GetChar ldx SRC.BufPtr SRC.GetChar ldx SRC.BufPtr
lda TmpBuffer256,x lda TmpBuffer256,x
inc SRC.BufPtr beq .9
and #$7f inc SRC.BufPtr if 255, will make Z
rts and #$7f Make sure NZ
.9 rts
*--------------------------------------- *---------------------------------------
SRC.ACC10 lda SRC.ACC ACC*2-> ACC & ACCTMP SRC.ACC10 lda SRC.ACC ACC*2-> ACC & ACCTMP
asl asl

View File

@ -4,24 +4,23 @@ NEW
INC 1 INC 1
AUTO 6 AUTO 6
.LIST OFF .LIST OFF
.OP 65C02
*--------------------------------------- *---------------------------------------
SYM.Add SYM.Add
clc clc
rts rts
*--------------------------------------- *---------------------------------------
SYM.AddGlobal
clc
rts
*---------------------------------------
SYM.LookupGlobal
clc
rts
*---------------------------------------
SYM.ClearPrivate SYM.ClearPrivate
clc clc
rts rts
*--------------------------------------- *---------------------------------------
SYM.AddPrivate
clc
rts
*---------------------------------------
SYM.LookupPrivate
clc
rts
*---------------------------------------
SYM.ClearLocal SYM.ClearLocal
clc clc
rts rts
@ -34,11 +33,11 @@ SYM.LookupLocal
clc clc
rts rts
*--------------------------------------- *---------------------------------------
SYM.AddGlobal SYM.AddPrivate
clc clc
rts rts
*--------------------------------------- *---------------------------------------
SYM.LookupGlobal SYM.LookupPrivate
clc clc
rts rts
*--------------------------------------- *---------------------------------------

View File

@ -16,6 +16,10 @@ AUTO 6
ZPPtr1 .EQ ZPBIN ZPPtr1 .EQ ZPBIN
ZPPtr2 .EQ ZPBIN+2 ZPPtr2 .EQ ZPBIN+2
*--------------------------------------- *---------------------------------------
ASM.T.AM .EQ 0
ASM.T.R .EQ 2
ASM.T.O .EQ 4
*---------------------------------------
SYM.BLOCK.SIZE .EQ 4096 SYM.BLOCK.SIZE .EQ 4096
SYM.BLOCK.MAX .EQ 8 SYM.BLOCK.MAX .EQ 8
SRC.IN.DEPTH.MAX .EQ 7 SRC.IN.DEPTH.MAX .EQ 7
@ -31,6 +35,7 @@ ERR.VAL.TOO.BIG .EQ $A2
ERR.LINE.TOO.LONG .EQ $A3 ERR.LINE.TOO.LONG .EQ $A3
ERR.INVALID.LABEL .EQ $A4 ERR.INVALID.LABEL .EQ $A4
ERR.INVALID.DIRECTIVE .EQ $A5 ERR.INVALID.DIRECTIVE .EQ $A5
ERR.INVALID.OPCODE .EQ $A6
ERR.MISSING.EXP .EQ $B0 ERR.MISSING.EXP .EQ $B0
ERR.EXP.SYN.ERROR .EQ $B1 ERR.EXP.SYN.ERROR .EQ $B1
ERR.INVALID.MACRO.DEF .EQ $E0 ERR.INVALID.MACRO.DEF .EQ $E0
@ -167,7 +172,8 @@ CS.INIT >LDYA L.LIBSTR
ldy #ASM.LI.ON ldy #ASM.LI.ON
sta (pData),y sta (pData),y
lda #$00 * lda #$00
lda #$80
ldy #ASM.LI.CON ldy #ASM.LI.CON
sta (pData),y sta (pData),y
ldy #ASM.LI.XON ldy #ASM.LI.XON
@ -207,25 +213,17 @@ CS.RUN ldy #bCANCEL
ldy #SRC.hFILENAME ldy #SRC.hFILENAME
lda (pData),y lda (pData),y
jsr SRC.OpenFileA jsr FIO.OpenFileA
bcs .99 bcs .99
.10 jsr SRC.ReadLine .10 jsr FIO.ReadLine
bcc .2 bcc .2
cmp #$4C End Of File? cmp #$4C End Of File?
bne .9 bne .9
jsr SRC.FileClose jsr FIO.FileClose
ldy #ASM.MA.ON Macro learning mode ? ldy #SRC.COUNT end of root file ?
lda (pData),y
bpl .22
lda #ERR.SRC.UNEXP.EOF
sec
rts
.22 ldy #SRC.COUNT end of root file ?
lda (pData),y lda (pData),y
bne .8 no continue back to previous file bne .8 no continue back to previous file
@ -246,9 +244,6 @@ CS.RUN ldy #bCANCEL
jsr SRC.PrintLine with CC, conditional jsr SRC.PrintLine with CC, conditional
ldy #ASM.MA.ON Macro learning mode ?
lda (pData),y
bmi .10
.8 clc .8 clc
rts rts
@ -300,7 +295,7 @@ CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device?
.9 sec .9 sec
rts rts
*-------------------------------------- *--------------------------------------
CS.QUIT jsr SRC.FileClose CS.QUIT jsr FIO.FileClose
bne CS.QUIT bne CS.QUIT
ldy #ASM.T.hMem ldy #ASM.T.hMem
@ -314,35 +309,15 @@ CS.QUIT jsr SRC.FileClose
>SYSCALL SYS.FreeMemA >SYSCALL SYS.FreeMemA
.8 lda #hLIBSTR .8 lda hLIBSTR
>SYSCALL SYS.UnloadLibA >SYSCALL SYS.UnloadLibA
clc clc
rts rts
*--------------------------------------- *---------------------------------------
LOAD.ASM.T ldy #ASM.T.hMem
lda (pData),y
beq .1
>SYSCALL SYS.FreeMemA
ldy #ASM.T.hMem
lda #0
sta (pData),y
.1 >PUSHW L.ASM.T.FILENAME
>PUSHW L.MSG.T.FILE
>LIBCALL hLIBSTR,LIBSTR.PRINTF
>LDYA L.ASM.T.FILENAME
>SYSCALL SYS.LoadFileYA
bcs .9
txa
ldy #ASM.T.hMem
sta (pData),y
.9 rts
*---------------------------------------
.INB BIN/ASM.S.SRC
.INB BIN/ASM.S.DIR .INB BIN/ASM.S.DIR
.INB BIN/ASM.S.EXP
.INB BIN/ASM.S.FIO
.INB BIN/ASM.S.SRC
.INB BIN/ASM.S.SYM .INB BIN/ASM.S.SYM
*--------------------------------------- *---------------------------------------
CS.END CS.END
@ -449,7 +424,7 @@ MSG.HELP2 >CSTRING "Usage : ASM <src file> [type TXT ($04) or S-C/BAS ($FA)]\n
MSG.PASS >CSTRING "Pass:#%d\n" MSG.PASS >CSTRING "Pass:#%d\n"
MSG.SRC.FILE >CSTRING "Source File:%S\n" MSG.SRC.FILE >CSTRING "Source File:%S\n"
MSG.OBJ.FILE >CSTRING "Object File:%S, Type=%02x\n" MSG.OBJ.FILE >CSTRING "Object File:%S, Type=%02x\n"
MSG.T.FILE >CSTRING ".T File:%S\n" MSG.T.FILE >CSTRING "CPU Definition File:%S\n"
MSG.SRCLINE >CSTRING "%05D-%s\n" MSG.SRCLINE >CSTRING "%05D-%s\n"
MSG.ERROR >CSTRING "%05D-Error:$%h\n" MSG.ERROR >CSTRING "%05D-Error:$%h\n"
ASM.T.DEFAULT .AS ".T.6502" ASM.T.DEFAULT .AS ".T.6502"
@ -489,11 +464,11 @@ DST.hFILETYPE .BS 1
ASM.T.hMem .BS 1 handle to ASM.T.xxxxx ASM.T.hMem .BS 1 handle to ASM.T.xxxxx
ASM.PASS .BS 1 ASM.PASS .BS 1
ASM.MACRO.ON .BS 1
ASM.PH.ON .BS 1 ASM.PH.ON .BS 1
ASM.LI.ON .BS 1 ASM.LI.ON .BS 1
ASM.LI.CON .BS 1 ASM.LI.CON .BS 1
ASM.LI.XON .BS 1 ASM.LI.XON .BS 1
ASM.MA.ON .BS 1
ASM.PC .BS 4 32Bits PC ASM.PC .BS 4 32Bits PC
ASM.PC.PH .BS 4 32Bits PC saved for PH directive ASM.PC.PH .BS 4 32Bits PC saved for PH directive

View File

@ -3,481 +3,384 @@ PREFIX /A2OSX.SRC
NEW NEW
INC 1 INC 1
AUTO 6 AUTO 6
.LIST OFF .LIST OFF
*--------------------------------------- T.OPCODES .EQ *
T.OPCODES .EQ * ADC .DA ADC.E+1
.DA #E.ADC-* .HS 03
>PSTR "ADC" .AS "ADC"
.DA #0,#3 .HS 00.03373161
.AS "71a" .HS 01.03363161
.DA #1,#3 .HS 02.03363561
.AS "61a" .HS 03.03373561
.DA #2,#3 .HS 04.0436446161
.AS "65a" .HS 05.0437446161
.DA #3,#3 .HS 06.0437396161
.AS "75a" .HS 07.03363969
.DA #4,#4 ADC.E .HS 00
.AS "6Daa" AND .DA AND.E+1
.DA #5,#4 .HS 03
.AS "7Daa" .AS "AND"
.DA #6,#4 .HS 00.03333161
.AS "79aa" .HS 01.03323161
.DA #7,#3 .HS 02.03323561
.AS "69i" .HS 03.03333561
E.ADC .HS 00 .HS 04.0432446161
.DA #E.AND-* .HS 05.0433446161
>PSTR "AND" .HS 06.0433396161
.DA #0,#3 .HS 07.03323969
.AS "31a" AND.E .HS 00
.DA #1,#3 ASL .DA ASL.E+1
.AS "21a" .HS 03
.DA #2,#3 .AS "ASL"
.AS "25a" .HS 02.03303661
.DA #3,#3 .HS 03.03313661
.AS "35a" .HS 04.0430456161
.DA #4,#4 .HS 05.0431456161
.AS "2Daa" .HS FF.023041
.DA #5,#4 ASL.E .HS 00
.AS "3Daa" BCC .DA BCC.E+1
.DA #6,#4 .HS 03
.AS "39aa" .AS "BCC"
.DA #7,#3 .HS 08.03393072
.AS "29i" BCC.E .HS 00
E.AND .HS 00 BCS .DA BCS.E+1
.DA #E.ASL-* .HS 03
>PSTR "ASL" .AS "BCS"
.DA #2,#3 .HS 08.03423072
.AS "06a" BCS.E .HS 00
.DA #3,#3 BEQ .DA BEQ.E+1
.AS "16a" .HS 03
.DA #4,#4 .AS "BEQ"
.AS "0Eaa" .HS 08.03463072
.DA #5,#4 BEQ.E .HS 00
.AS "1Eaa" BIT .DA BIT.E+1
.DA #255,#2 .HS 03
.AS "0A" .AS "BIT"
E.ASL .HS 00 .HS 02.03323461
.DA #E.BCC-* .HS 04.0432436161
>PSTR "BCC" BIT.E .HS 00
.DA #8,#3 BMI .DA BMI.E+1
.AS "90r" .HS 03
E.BCC .HS 00 .AS "BMI"
.DA #E.BCS-* .HS 08.03333072
>PSTR "BCS" BMI.E .HS 00
.DA #8,#3 BNE .DA BNE.E+1
.AS "B0r" .HS 03
E.BCS .HS 00 .AS "BNE"
.DA #E.BEQ-* .HS 08.03443072
>PSTR "BEQ" BNE.E .HS 00
.DA #8,#3 BPL .DA BPL.E+1
.AS "F0r" .HS 03
E.BEQ .HS 00 .AS "BPL"
.DA #E.BIT-* .HS 08.03313072
>PSTR "BIT" BPL.E .HS 00
.DA #2,#3 BRK .DA BRK.E+1
.AS "24a" .HS 03
.DA #4,#4 .AS "BRK"
.AS "2Caa" .HS FF.023030
E.BIT .HS 00 BRK.E .HS 00
.DA #E.BMI-* BVC .DA BVC.E+1
>PSTR "BMI" .HS 03
.DA #8,#3 .AS "BVC"
.AS "30r" .HS 08.03353072
E.BMI .HS 00 BVC.E .HS 00
.DA #E.BNE-* BVS .DA BVS.E+1
>PSTR "BNE" .HS 03
.DA #8,#3 .AS "BVS"
.AS "D0r" .HS 08.03373072
E.BNE .HS 00 BVS.E .HS 00
.DA #E.BPL-* CLC .DA CLC.E+1
>PSTR "BPL" .HS 03
.DA #8,#3 .AS "CLC"
.AS "10r" .HS FF.023138
E.BPL .HS 00 CLC.E .HS 00
.DA #E.BRK-* CLD .DA CLD.E+1
>PSTR "BRK" .HS 03
.DA #255,#2 .AS "CLD"
.AS "00" .HS FF.024438
E.BRK .HS 00 CLD.E .HS 00
.DA #E.BVC-* CLI .DA CLI.E+1
>PSTR "BVC" .HS 03
.DA #8,#3 .AS "CLI"
.AS "50r" .HS FF.023538
E.BVC .HS 00 CLI.E .HS 00
.DA #E.BVS-* CLV .DA CLV.E+1
>PSTR "BVS" .HS 03
.DA #8,#3 .AS "CLV"
.AS "70r" .HS FF.024238
E.BVS .HS 00 CLV.E .HS 00
.DA #E.CLC-* CMP .DA CMP.E+1
>PSTR "CLC" .HS 03
.DA #255,#2 .AS "CMP"
.AS "18" .HS 00.03443161
E.CLC .HS 00 .HS 01.03433161
.DA #E.CLD-* .HS 02.03433561
>PSTR "CLD" .HS 03.03443561
.DA #255,#2 .HS 04.0443446161
.AS "D8" .HS 05.0444446161
E.CLD .HS 00 .HS 06.0444396161
.DA #E.CLI-* .HS 07.03433969
>PSTR "CLI" CMP.E .HS 00
.DA #255,#2 CPX .DA CPX.E+1
.AS "58" .HS 03
E.CLI .HS 00 .AS "CPX"
.DA #E.CLV-* .HS 02.03453461
>PSTR "CLV" .HS 04.0445636161
.DA #255,#2 .HS 07.03453069
.AS "B8" CPX.E .HS 00
E.CLV .HS 00 CPY .DA CPY.E+1
.DA #E.CMP-* .HS 03
>PSTR "CMP" .AS "CPY"
.DA #0,#3 .HS 02.03433461
.AS "D1a" .HS 04.0443636161
.DA #1,#3 .HS 07.03433069
.AS "C1a" CPY.E .HS 00
.DA #2,#3 DEC .DA DEC.E+1
.AS "C5a" .HS 03
.DA #3,#3 .AS "DEC"
.AS "D5a" .HS 02.03433661
.DA #4,#4 .HS 03.03443661
.AS "CDaa" .HS 04.0443656161
.DA #5,#4 .HS 05.0444656161
.AS "DDaa" DEC.E .HS 00
.DA #6,#4 DEX .DA DEX.E+1
.AS "D9aa" .HS 03
.DA #7,#3 .AS "DEX"
.AS "C9i" .HS FF.024341
E.CMP .HS 00 DEX.E .HS 00
.DA #E.CPX-* DEY .DA DEY.E+1
>PSTR "CPX" .HS 03
.DA #2,#3 .AS "DEY"
.AS "E4a" .HS FF.023838
.DA #4,#4 DEY.E .HS 00
.AS "Ecaa" EOR .DA EOR.E+1
.DA #7,#3 .HS 03
.AS "E0i" .AS "EOR"
E.CPX .HS 00 .HS 00.03353161
.DA #E.CPY-* .HS 01.03343161
>PSTR "CPY" .HS 02.03343561
.DA #2,#3 .HS 03.03353561
.AS "C4a" .HS 04.0434446161
.DA #4,#4 .HS 05.0435446161
.AS "Ccaa" .HS 06.0435396161
.DA #7,#3 .HS 07.03343969
.AS "C0i" EOR.E .HS 00
E.CPY .HS 00 INC .DA INC.E+1
.DA #E.DEC-* .HS 03
>PSTR "DEC" .AS "INC"
.DA #2,#3 .HS 02.03453661
.AS "C6a" .HS 03.03463661
.DA #3,#3 .HS 04.0445656161
.AS "D6a" .HS 05.0446656161
.DA #4,#4 INC.E .HS 00
.AS "Ceaa" INX .DA INX.E+1
.DA #5,#4 .HS 03
.AS "Deaa" .AS "INX"
E.DEC .HS 00 .HS FF.024538
.DA #E.DEX-* INX.E .HS 00
>PSTR "DEX" INY .DA INY.E+1
.DA #255,#2 .HS 03
.AS "CA" .AS "INY"
E.DEX .HS 00 .HS FF.024338
.DA #E.DEY-* INY.E .HS 00
>PSTR "DEY" JMP .DA JMP.E+1
.DA #255,#2 .HS 03
.AS "88" .AS "JMP"
E.DEY .HS 00 .HS 09.0436436161
.DA #E.EOR-* .HS 04.0434436161
>PSTR "EOR" JMP.E .HS 00
.DA #0,#3 JSR .DA JSR.E+1
.AS "51a" .HS 03
.DA #1,#3 .AS "JSR"
.AS "41a" .HS 04.0432306161
.DA #2,#3 JSR.E .HS 00
.AS "45a" LDA .DA LDA.E+1
.DA #3,#3 .HS 03
.AS "55a" .AS "LDA"
.DA #4,#4 .HS 00.03423161
.AS "4Daa" .HS 01.03413161
.DA #5,#4 .HS 02.03413561
.AS "5Daa" .HS 03.03423561
.DA #6,#4 .HS 04.0441646161
.AS "59aa" .HS 05.0442646161
.DA #7,#3 .HS 06.0442396161
.AS "49i" .HS 07.03413969
E.EOR .HS 00 LDA.E .HS 00
.DA #E.INC-* LDX .DA LDX.E+1
>PSTR "INC" .HS 03
.DA #2,#3 .AS "LDX"
.AS "E6a" .HS 02.03413661
.DA #3,#3 .HS 0A.03423661
.AS "F6a" .HS 04.0441656161
.DA #4,#4 .HS 06.0442656161
.AS "Eeaa" .HS 07.03413269
.DA #5,#4 LDX.E .HS 00
.AS "Feaa" LDY .DA LDY.E+1
E.INC .HS 00 .HS 03
.DA #E.INX-* .AS "LDY"
>PSTR "INX" .HS 02.03413461
.DA #255,#2 .HS 03.03423461
.AS "E8" .HS 04.0441636161
E.INX .HS 00 .HS 05.0442636161
.DA #E.INY-* .HS 07.03413069
>PSTR "INY" LDY.E .HS 00
.DA #255,#2 LSR .DA LSR.E+1
.AS "C8" .HS 03
E.INY .HS 00 .AS "LSR"
.DA #E.JMP-* .HS 02.03343661
>PSTR "JMP" .HS 03.03353661
.DA #9,#4 .HS 04.0434456161
.AS "6Caa" .HS 05.0435456161
.DA #4,#4 .HS FF.023441
.AS "4Caa" LSR.E .HS 00
E.JMP .HS 00 NOP .DA NOP.E+1
.DA #E.JSR-* .HS 03
>PSTR "JSR" .AS "NOP"
.DA #4,#4 .HS FF.024541
.AS "20aa" NOP.E .HS 00
E.JSR .HS 00 ORA .DA ORA.E+1
.DA #E.LDA-* .HS 03
>PSTR "LDA" .AS "ORA"
.DA #0,#3 .HS 00.03313161
.AS "B1a" .HS 01.03303161
.DA #1,#3 .HS 02.03303561
.AS "A1a" .HS 03.03313561
.DA #2,#3 .HS 04.0430446161
.AS "A5a" .HS 05.0431446161
.DA #3,#3 .HS 06.0431396161
.AS "B5a" .HS 07.03303969
.DA #4,#4 ORA.E .HS 00
.AS "Adaa" PHA .DA PHA.E+1
.DA #5,#4 .HS 03
.AS "Bdaa" .AS "PHA"
.DA #6,#4 .HS FF.023438
.AS "B9aa" PHA.E .HS 00
.DA #7,#3 PHP .DA PHP.E+1
.AS "A9i" .HS 03
E.LDA .HS 00 .AS "PHP"
.DA #E.LDX-* .HS FF.023038
>PSTR "LDX" PHP.E .HS 00
.DA #2,#3 PLA .DA PLA.E+1
.AS "A6a" .HS 03
.DA #10,#3 .AS "PLA"
.AS "B6a" .HS FF.023638
.DA #4,#4 PLA.E .HS 00
.AS "Aeaa" PLP .DA PLP.E+1
.DA #6,#4 .HS 03
.AS "Beaa" .AS "PLP"
.DA #7,#3 .HS FF.023238
.AS "A2i" PLP.E .HS 00
E.LDX .HS 00 ROL .DA ROL.E+1
.DA #E.LDY-* .HS 03
>PSTR "LDY" .AS "ROL"
.DA #2,#3 .HS 02.03323661
.AS "A4a" .HS 03.03333661
.DA #3,#3 .HS 04.0432456161
.AS "B4a" .HS 05.0433456161
.DA #4,#4 .HS FF.023241
.AS "Acaa" ROL.E .HS 00
.DA #5,#4 ROR .DA ROR.E+1
.AS "Bcaa" .HS 03
.DA #7,#3 .AS "ROR"
.AS "A0i" .HS 02.03363661
E.LDY .HS 00 .HS 03.03373661
.DA #E.LSR-* .HS 04.0436456161
>PSTR "LSR" .HS 05.0437456161
.DA #2,#3 .HS FF.023641
.AS "46a" ROR.E .HS 00
.DA #3,#3 RTI .DA RTI.E+1
.AS "56a" .HS 03
.DA #4,#4 .AS "RTI"
.AS "4Eaa" .HS FF.023430
.DA #5,#4 RTI.E .HS 00
.AS "5Eaa" RTS .DA RTS.E+1
.DA #255,#2 .HS 03
.AS "4A" .AS "RTS"
E.LSR .HS 00 .HS FF.023630
.DA #E.NOP-* RTS.E .HS 00
>PSTR "NOP" SBC .DA SBC.E+1
.DA #255,#2 .HS 03
.AS "EA" .AS "SBC"
E.NOP .HS 00 .HS 00.03463161
.DA #E.ORA-* .HS 01.03453161
>PSTR "ORA" .HS 02.03453561
.DA #0,#3 .HS 03.03463561
.AS "11a" .HS 04.0445646161
.DA #1,#3 .HS 05.0446646161
.AS "01a" .HS 06.0446396161
.DA #2,#3 .HS 07.03453969
.AS "05a" SBC.E .HS 00
.DA #3,#3 SEC .DA SEC.E+1
.AS "15a" .HS 03
.DA #4,#4 .AS "SEC"
.AS "0Daa" .HS FF.023338
.DA #5,#4 SEC.E .HS 00
.AS "1Daa" SED .DA SED.E+1
.DA #6,#4 .HS 03
.AS "19aa" .AS "SED"
.DA #7,#3 .HS FF.024638
.AS "09i" SED.E .HS 00
E.ORA .HS 00 SEI .DA SEI.E+1
.DA #E.PHA-* .HS 03
>PSTR "PHA" .AS "SEI"
.DA #255,#2 .HS FF.023738
.AS "48" SEI.E .HS 00
E.PHA .HS 00 STA .DA STA.E+1
.DA #E.PHP-* .HS 03
>PSTR "PHP" .AS "STA"
.DA #255,#2 .HS 00.03393161
.AS "08" .HS 01.03383161
E.PHP .HS 00 .HS 02.03383561
.DA #E.PLA-* .HS 03.03393561
>PSTR "PLA" .HS 04.0438446161
.DA #255,#2 .HS 05.0439446161
.AS "68" .HS 06.0439396161
E.PLA .HS 00 STA.E .HS 00
.DA #E.PLP-* STX .DA STX.E+1
>PSTR "PLP" .HS 03
.DA #255,#2 .AS "STX"
.AS "28" .HS 02.03383661
E.PLP .HS 00 .HS 0A.03393661
.DA #E.ROL-* .HS 04.0438456161
>PSTR "ROL" STX.E .HS 00
.DA #2,#3 STY .DA STY.E+1
.AS "26a" .HS 03
.DA #3,#3 .AS "STY"
.AS "36a" .HS 02.03383461
.DA #4,#4 .HS 03.03393461
.AS "2Eaa" .HS 04.0438436161
.DA #5,#4 STY.E .HS 00
.AS "3Eaa" TAX .DA TAX.E+1
.DA #255,#2 .HS 03
.AS "2A" .AS "TAX"
E.ROL .HS 00 .HS FF.024141
.DA #E.ROR-* TAX.E .HS 00
>PSTR "ROR" TAY .DA TAY.E+1
.DA #2,#3 .HS 03
.AS "66a" .AS "TAY"
.DA #3,#3 .HS FF.024138
.AS "76a" TAY.E .HS 00
.DA #4,#4 TSX .DA TSX.E+1
.AS "6Eaa" .HS 03
.DA #5,#4 .AS "TSX"
.AS "7Eaa" .HS FF.024241
.DA #255,#2 TSX.E .HS 00
.AS "6A" TXA .DA TXA.E+1
E.ROR .HS 00 .HS 03
.DA #E.RTI-* .AS "TXA"
>PSTR "RTI" .HS FF.023841
.DA #255,#2 TXA.E .HS 00
.AS "40" TXS .DA TXS.E+1
E.RTI .HS 00 .HS 03
.DA #E.RTS-* .AS "TXS"
>PSTR "RTS" .HS FF.023941
.DA #255,#2 TXS.E .HS 00
.AS "60" TYA .DA TYA.E+1
E.RTS .HS 00 .HS 03
.DA #E.SBC-* .AS "TYA"
>PSTR "SBC" .HS FF.023938
.DA #0,#3 TYA.E .HS 00
.AS "F1a" .HS 0000
.DA #1,#3
.AS "E1a"
.DA #2,#3
.AS "E5a"
.DA #3,#3
.AS "F5a"
.DA #4,#4
.AS "Edaa"
.DA #5,#4
.AS "Fdaa"
.DA #6,#4
.AS "F9aa"
.DA #7,#3
.AS "E9i"
E.SBC .HS 00
.DA #E.SEC-*
>PSTR "SEC"
.DA #255,#2
.AS "38"
E.SEC .HS 00
.DA #E.SED-*
>PSTR "SED"
.DA #255,#2
.AS "F8"
E.SED .HS 00
.DA #E.SEI-*
>PSTR "SEI"
.DA #255,#2
.AS "78"
E.SEI .HS 00
.DA #E.STA-*
>PSTR "STA"
.DA #0,#3
.AS "91a"
.DA #1,#3
.AS "81a"
.DA #2,#3
.AS "85a"
.DA #3,#3
.AS "95a"
.DA #4,#4
.AS "8Daa"
.DA #5,#4
.AS "9Daa"
.DA #6,#4
.AS "99aa"
E.STA .HS 00
.DA #E.STX-*
>PSTR "STX"
.DA #2,#3
.AS "86a"
.DA #10,#3
.AS "96a"
.DA #4,#4
.AS "8Eaa"
E.STX .HS 00
.DA #E.STY-*
>PSTR "STY"
.DA #2,#3
.AS "84a"
.DA #3,#3
.AS "94a"
.DA #4,#4
.AS "8Caa"
E.STY .HS 00
.DA #E.TAX-*
>PSTR "TAX"
.DA #255,#2
.AS "AA"
E.TAX .HS 00
.DA #E.TAY-*
>PSTR "TAY"
.DA #255,#2
.AS "A8"
E.TAY .HS 00
.DA #E.TSX-*
>PSTR "TSX"
.DA #255,#2
.AS "BA"
E.TSX .HS 00
.DA #E.TXA-*
>PSTR "TXA"
.DA #255,#2
.AS "8A"
E.TXA .HS 00
.DA #E.TXS-*
>PSTR "TXS"
.DA #255,#2
.AS "9A"
E.TXS .HS 00
.DA #E.TYA-*
>PSTR "TYA"
.DA #255,#2
.AS "98"
E.TYA .HS 00
.HS 00
*---------------------------------------
MAN MAN
SAVE BIN/ASM.T.6502.O SAVE BIN/ASM.T.6502.O
LOAD BIN/ASM.T.6502.S LOAD BIN/ASM.T.6502.S

View File

@ -3,40 +3,40 @@ PREFIX /A2OSX.SRC
NEW NEW
INC 1 INC 1
AUTO 6 AUTO 6
.LIST OFF .LIST OFF
.OR $2000 .OR $0
.TF /A2OSX.BOOT/BIN/ASM.T.6502 .TF /A2OSX.BOOT/BIN/ASM.T.6502
*--------------------------------------- *---------------------------------------
.MA PSTR .MA ST
.DA #:1-*-1 .DA #:1-*-1
.AS "]1" .AS "]1"
:1 .EQ * :1 .EQ *
.EM .EM
*--------------------------------------- *---------------------------------------
.DA T.ADDR.MODES .DA T.ADDR.MODES
.DA T.REGISTERS .DA T.REGISTERS
.DA T.OPCODES .DA T.OPCODES
*--------------------------------------- *---------------------------------------
T.ADDR.MODES .EQ * T.ADDR.MODES .EQ *
>PSTR "(a),Y" >ST "(a),Y"
>PSTR "(a,X)" >ST "(a,X)"
>PSTR "a" >ST "a"
>PSTR "a,X" >ST "a,X"
>PSTR "aa" >ST "aa"
>PSTR "aa,X" >ST "aa,X"
>PSTR "aa,Y" >ST "aa,Y"
>PSTR "i" >ST "i"
>PSTR "r" >ST "r"
>PSTR "(aa)" >ST "(aa)"
>PSTR "a,Y" >ST "a,Y"
.HS 00 .HS 00
*--------------------------------------- *---------------------------------------
T.REGISTERS .EQ * T.REGISTERS .EQ *
>PSTR "Y" >ST "Y"
>PSTR "X" >ST "X"
.HS 00 .HS 00
*--------------------------------------- *---------------------------------------
.INB BIN/ASM.T.6502.O .INB BIN/ASM.T.6502.O
*--------------------------------------- *---------------------------------------
MAN MAN
SAVE BIN/ASM.T.6502.S SAVE BIN/ASM.T.6502.S

File diff suppressed because it is too large Load Diff

View File

@ -3,52 +3,52 @@ PREFIX /A2OSX.SRC
NEW NEW
INC 1 INC 1
AUTO 6 AUTO 6
.LIST OFF .LIST OFF
.OR $2000 .OR $0
.TF /A2OSX.BOOT/BIN/ASM.T.65816 .TF /A2OSX.BOOT/BIN/ASM.T.65816
*--------------------------------------- *---------------------------------------
.MA PSTR .MA ST
.DA #:1-*-1 .DA #:1-*-1
.AS "]1" .AS "]1"
:1 .EQ * :1 .EQ *
.EM .EM
*--------------------------------------- *---------------------------------------
.DA T.ADDR.MODES .DA T.ADDR.MODES
.DA T.REGISTERS .DA T.REGISTERS
.DA T.OPCODES .DA T.OPCODES
*--------------------------------------- *---------------------------------------
T.ADDR.MODES .EQ * T.ADDR.MODES .EQ *
>PSTR "(a)" >ST "(a)"
>PSTR "(a),Y" >ST "(a),Y"
>PSTR "(a,S),Y" >ST "(a,S),Y"
>PSTR "(a,X)" >ST "(a,X)"
>PSTR "[a]" >ST "[a]"
>PSTR "[a],Y" >ST "[a],Y"
>PSTR "a" >ST "a"
>PSTR "a,X" >ST "a,X"
>PSTR "aa" >ST "aa"
>PSTR "aa,X" >ST "aa,X"
>PSTR "aa,Y" >ST "aa,Y"
>PSTR "aaa" >ST "aaa"
>PSTR "aaa,X" >ST "aaa,X"
>PSTR "i" >ST "i"
>PSTR "a,S" >ST "a,S"
>PSTR "r" >ST "r"
>PSTR "rr" >ST "rr"
>PSTR "(aa)" >ST "(aa)"
>PSTR "(aa,X)" >ST "(aa,X)"
>PSTR "[aa]" >ST "[aa]"
>PSTR "a,Y" >ST "a,Y"
>PSTR "a,a" >ST "a,a"
.HS 00 .HS 00
*--------------------------------------- *---------------------------------------
T.REGISTERS .EQ * T.REGISTERS .EQ *
>PSTR "Y" >ST "Y"
>PSTR "S" >ST "S"
>PSTR "X" >ST "X"
.HS 00 .HS 00
*--------------------------------------- *---------------------------------------
.INB BIN/ASM.T.65816.O .INB BIN/ASM.T.65816.O
*--------------------------------------- *---------------------------------------
MAN MAN
SAVE BIN/ASM.T.65816.S SAVE BIN/ASM.T.65816.S

View File

@ -3,559 +3,443 @@ PREFIX /A2OSX.SRC
NEW NEW
INC 1 INC 1
AUTO 6 AUTO 6
.LIST OFF .LIST OFF
*--------------------------------------- T.OPCODES .EQ *
T.OPCODES .EQ * ADC .DA ADC.E+1
.DA #E.ADC-* .HS 03
>PSTR "ADC" .AS "ADC"
.DA #0,#3 .HS 00.03373261
.AS "72a" .HS 01.03373161
.DA #1,#3 .HS 02.03363161
.AS "71a" .HS 03.03363561
.DA #2,#3 .HS 04.03373561
.AS "61a" .HS 05.0436446161
.DA #3,#3 .HS 06.0437446161
.AS "65a" .HS 07.0437396161
.DA #4,#3 .HS 08.03363969
.AS "75a" ADC.E .HS 00
.DA #5,#4 AND .DA AND.E+1
.AS "6Daa" .HS 03
.DA #6,#4 .AS "AND"
.AS "7Daa" .HS 00.03333261
.DA #7,#4 .HS 01.03333161
.AS "79aa" .HS 02.03323161
.DA #8,#3 .HS 03.03323561
.AS "69i" .HS 04.03333561
E.ADC .HS 00 .HS 05.0432446161
.DA #E.AND-* .HS 06.0433446161
>PSTR "AND" .HS 07.0433396161
.DA #0,#3 .HS 08.03323969
.AS "32a" AND.E .HS 00
.DA #1,#3 ASL .DA ASL.E+1
.AS "31a" .HS 03
.DA #2,#3 .AS "ASL"
.AS "21a" .HS 03.03303661
.DA #3,#3 .HS 04.03313661
.AS "25a" .HS 05.0430456161
.DA #4,#3 .HS 06.0431456161
.AS "35a" .HS FF.023041
.DA #5,#4 ASL.E .HS 00
.AS "2Daa" BCC .DA BCC.E+1
.DA #6,#4 .HS 03
.AS "3Daa" .AS "BCC"
.DA #7,#4 .HS 09.03393072
.AS "39aa" BCC.E .HS 00
.DA #8,#3 BCS .DA BCS.E+1
.AS "29i" .HS 03
E.AND .HS 00 .AS "BCS"
.DA #E.ASL-* .HS 09.03423072
>PSTR "ASL" BCS.E .HS 00
.DA #3,#3 BEQ .DA BEQ.E+1
.AS "06a" .HS 03
.DA #4,#3 .AS "BEQ"
.AS "16a" .HS 09.03463072
.DA #5,#4 BEQ.E .HS 00
.AS "0Eaa" BIT .DA BIT.E+1
.DA #6,#4 .HS 03
.AS "1Eaa" .AS "BIT"
.DA #255,#2 .HS 03.03323461
.AS "0A" .HS 04.03333461
E.ASL .HS 00 .HS 05.0432436161
.DA #E.BCC-* .HS 06.0433436161
>PSTR "BCC" .HS 08.03383969
.DA #9,#3 BIT.E .HS 00
.AS "90r" BMI .DA BMI.E+1
E.BCC .HS 00 .HS 03
.DA #E.BCS-* .AS "BMI"
>PSTR "BCS" .HS 09.03333072
.DA #9,#3 BMI.E .HS 00
.AS "B0r" BNE .DA BNE.E+1
E.BCS .HS 00 .HS 03
.DA #E.BEQ-* .AS "BNE"
>PSTR "BEQ" .HS 09.03443072
.DA #9,#3 BNE.E .HS 00
.AS "F0r" BPL .DA BPL.E+1
E.BEQ .HS 00 .HS 03
.DA #E.BIT-* .AS "BPL"
>PSTR "BIT" .HS 09.03313072
.DA #3,#3 BPL.E .HS 00
.AS "24a" BRA .DA BRA.E+1
.DA #4,#3 .HS 03
.AS "34a" .AS "BRA"
.DA #5,#4 .HS 09.03383072
.AS "2Caa" BRA.E .HS 00
.DA #6,#4 BRK .DA BRK.E+1
.AS "3Caa" .HS 03
.DA #8,#3 .AS "BRK"
.AS "89i" .HS FF.023030
E.BIT .HS 00 BRK.E .HS 00
.DA #E.BMI-* BVC .DA BVC.E+1
>PSTR "BMI" .HS 03
.DA #9,#3 .AS "BVC"
.AS "30r" .HS 09.03353072
E.BMI .HS 00 BVC.E .HS 00
.DA #E.BNE-* BVS .DA BVS.E+1
>PSTR "BNE" .HS 03
.DA #9,#3 .AS "BVS"
.AS "D0r" .HS 09.03373072
E.BNE .HS 00 BVS.E .HS 00
.DA #E.BPL-* CLC .DA CLC.E+1
>PSTR "BPL" .HS 03
.DA #9,#3 .AS "CLC"
.AS "10r" .HS FF.023138
E.BPL .HS 00 CLC.E .HS 00
.DA #E.BRA-* CLD .DA CLD.E+1
>PSTR "BRA" .HS 03
.DA #9,#3 .AS "CLD"
.AS "80r" .HS FF.024438
E.BRA .HS 00 CLD.E .HS 00
.DA #E.BRK-* CLI .DA CLI.E+1
>PSTR "BRK" .HS 03
.DA #255,#2 .AS "CLI"
.AS "00" .HS FF.023538
E.BRK .HS 00 CLI.E .HS 00
.DA #E.BVC-* CLV .DA CLV.E+1
>PSTR "BVC" .HS 03
.DA #9,#3 .AS "CLV"
.AS "50r" .HS FF.024238
E.BVC .HS 00 CLV.E .HS 00
.DA #E.BVS-* CMP .DA CMP.E+1
>PSTR "BVS" .HS 03
.DA #9,#3 .AS "CMP"
.AS "70r" .HS 00.03443261
E.BVS .HS 00 .HS 01.03443161
.DA #E.CLC-* .HS 02.03433161
>PSTR "CLC" .HS 03.03433561
.DA #255,#2 .HS 04.03443561
.AS "18" .HS 05.0443446161
E.CLC .HS 00 .HS 06.0444446161
.DA #E.CLD-* .HS 07.0444396161
>PSTR "CLD" .HS 08.03433969
.DA #255,#2 CMP.E .HS 00
.AS "D8" CPX .DA CPX.E+1
E.CLD .HS 00 .HS 03
.DA #E.CLI-* .AS "CPX"
>PSTR "CLI" .HS 03.03453461
.DA #255,#2 .HS 05.0445636161
.AS "58" .HS 08.03453069
E.CLI .HS 00 CPX.E .HS 00
.DA #E.CLV-* CPY .DA CPY.E+1
>PSTR "CLV" .HS 03
.DA #255,#2 .AS "CPY"
.AS "B8" .HS 03.03433461
E.CLV .HS 00 .HS 05.0443636161
.DA #E.CMP-* .HS 08.03433069
>PSTR "CMP" CPY.E .HS 00
.DA #0,#3 DEC .DA DEC.E+1
.AS "D2a" .HS 03
.DA #1,#3 .AS "DEC"
.AS "D1a" .HS FF.023341
.DA #2,#3 .HS 03.03433661
.AS "C1a" .HS 04.03443661
.DA #3,#3 .HS 05.0443656161
.AS "C5a" .HS 06.0444656161
.DA #4,#3 DEC.E .HS 00
.AS "D5a" DEX .DA DEX.E+1
.DA #5,#4 .HS 03
.AS "CDaa" .AS "DEX"
.DA #6,#4 .HS FF.024341
.AS "DDaa" DEX.E .HS 00
.DA #7,#4 DEY .DA DEY.E+1
.AS "D9aa" .HS 03
.DA #8,#3 .AS "DEY"
.AS "C9i" .HS FF.023838
E.CMP .HS 00 DEY.E .HS 00
.DA #E.CPX-* EOR .DA EOR.E+1
>PSTR "CPX" .HS 03
.DA #3,#3 .AS "EOR"
.AS "E4a" .HS 00.03353261
.DA #5,#4 .HS 01.03353161
.AS "Ecaa" .HS 02.03343161
.DA #8,#3 .HS 03.03343561
.AS "E0i" .HS 04.03353561
E.CPX .HS 00 .HS 05.0434446161
.DA #E.CPY-* .HS 06.0435446161
>PSTR "CPY" .HS 07.0435396161
.DA #3,#3 .HS 08.03343969
.AS "C4a" EOR.E .HS 00
.DA #5,#4 INC .DA INC.E+1
.AS "Ccaa" .HS 03
.DA #8,#3 .AS "INC"
.AS "C0i" .HS FF.023141
E.CPY .HS 00 .HS 03.03453661
.DA #E.DEC-* .HS 04.03463661
>PSTR "DEC" .HS 05.0445656161
.DA #255,#2 .HS 06.0446656161
.AS "3A" INC.E .HS 00
.DA #3,#3 INX .DA INX.E+1
.AS "C6a" .HS 03
.DA #4,#3 .AS "INX"
.AS "D6a" .HS FF.024538
.DA #5,#4 INX.E .HS 00
.AS "Ceaa" INY .DA INY.E+1
.DA #6,#4 .HS 03
.AS "Deaa" .AS "INY"
E.DEC .HS 00 .HS FF.024338
.DA #E.DEX-* INY.E .HS 00
>PSTR "DEX" JMP .DA JMP.E+1
.DA #255,#2 .HS 03
.AS "CA" .AS "JMP"
E.DEX .HS 00 .HS 0A.0436436161
.DA #E.DEY-* .HS 0B.0437436161
>PSTR "DEY" .HS 05.0434436161
.DA #255,#2 JMP.E .HS 00
.AS "88" JSR .DA JSR.E+1
E.DEY .HS 00 .HS 03
.DA #E.EOR-* .AS "JSR"
>PSTR "EOR" .HS 05.0432306161
.DA #0,#3 JSR.E .HS 00
.AS "52a" LDA .DA LDA.E+1
.DA #1,#3 .HS 03
.AS "51a" .AS "LDA"
.DA #2,#3 .HS 00.03423261
.AS "41a" .HS 01.03423161
.DA #3,#3 .HS 02.03413161
.AS "45a" .HS 03.03413561
.DA #4,#3 .HS 04.03423561
.AS "55a" .HS 05.0441646161
.DA #5,#4 .HS 06.0442646161
.AS "4Daa" .HS 07.0442396161
.DA #6,#4 .HS 08.03413969
.AS "5Daa" LDA.E .HS 00
.DA #7,#4 LDX .DA LDX.E+1
.AS "59aa" .HS 03
.DA #8,#3 .AS "LDX"
.AS "49i" .HS 03.03413661
E.EOR .HS 00 .HS 0C.03423661
.DA #E.INC-* .HS 05.0441656161
>PSTR "INC" .HS 07.0442656161
.DA #255,#2 .HS 08.03413269
.AS "1A" LDX.E .HS 00
.DA #3,#3 LDY .DA LDY.E+1
.AS "E6a" .HS 03
.DA #4,#3 .AS "LDY"
.AS "F6a" .HS 03.03413461
.DA #5,#4 .HS 04.03423461
.AS "Eeaa" .HS 05.0441636161
.DA #6,#4 .HS 06.0442636161
.AS "Feaa" .HS 08.03413069
E.INC .HS 00 LDY.E .HS 00
.DA #E.INX-* LSR .DA LSR.E+1
>PSTR "INX" .HS 03
.DA #255,#2 .AS "LSR"
.AS "E8" .HS 03.03343661
E.INX .HS 00 .HS 04.03353661
.DA #E.INY-* .HS 05.0434456161
>PSTR "INY" .HS 06.0435456161
.DA #255,#2 .HS FF.023441
.AS "C8" LSR.E .HS 00
E.INY .HS 00 NOP .DA NOP.E+1
.DA #E.JMP-* .HS 03
>PSTR "JMP" .AS "NOP"
.DA #10,#4 .HS FF.024541
.AS "6Caa" NOP.E .HS 00
.DA #11,#4 ORA .DA ORA.E+1
.AS "7Caa" .HS 03
.DA #5,#4 .AS "ORA"
.AS "4Caa" .HS 00.03313261
E.JMP .HS 00 .HS 01.03313161
.DA #E.JSR-* .HS 02.03303161
>PSTR "JSR" .HS 03.03303561
.DA #5,#4 .HS 04.03313561
.AS "20aa" .HS 05.0430446161
E.JSR .HS 00 .HS 06.0431446161
.DA #E.LDA-* .HS 07.0431396161
>PSTR "LDA" .HS 08.03303969
.DA #0,#3 ORA.E .HS 00
.AS "B2a" PHA .DA PHA.E+1
.DA #1,#3 .HS 03
.AS "B1a" .AS "PHA"
.DA #2,#3 .HS FF.023438
.AS "A1a" PHA.E .HS 00
.DA #3,#3 PHP .DA PHP.E+1
.AS "A5a" .HS 03
.DA #4,#3 .AS "PHP"
.AS "B5a" .HS FF.023038
.DA #5,#4 PHP.E .HS 00
.AS "Adaa" PHX .DA PHX.E+1
.DA #6,#4 .HS 03
.AS "Bdaa" .AS "PHX"
.DA #7,#4 .HS FF.024441
.AS "B9aa" PHX.E .HS 00
.DA #8,#3 PHY .DA PHY.E+1
.AS "A9i" .HS 03
E.LDA .HS 00 .AS "PHY"
.DA #E.LDX-* .HS FF.023541
>PSTR "LDX" PHY.E .HS 00
.DA #3,#3 PLA .DA PLA.E+1
.AS "A6a" .HS 03
.DA #12,#3 .AS "PLA"
.AS "B6a" .HS FF.023638
.DA #5,#4 PLA.E .HS 00
.AS "Aeaa" PLP .DA PLP.E+1
.DA #7,#4 .HS 03
.AS "Beaa" .AS "PLP"
.DA #8,#3 .HS FF.023238
.AS "A2i" PLP.E .HS 00
E.LDX .HS 00 PLX .DA PLX.E+1
.DA #E.LDY-* .HS 03
>PSTR "LDY" .AS "PLX"
.DA #3,#3 .HS FF.024641
.AS "A4a" PLX.E .HS 00
.DA #4,#3 PLY .DA PLY.E+1
.AS "B4a" .HS 03
.DA #5,#4 .AS "PLY"
.AS "Acaa" .HS FF.023741
.DA #6,#4 PLY.E .HS 00
.AS "Bcaa" ROL .DA ROL.E+1
.DA #8,#3 .HS 03
.AS "A0i" .AS "ROL"
E.LDY .HS 00 .HS 03.03323661
.DA #E.LSR-* .HS 04.03333661
>PSTR "LSR" .HS 05.0432456161
.DA #3,#3 .HS 06.0433456161
.AS "46a" .HS FF.023241
.DA #4,#3 ROL.E .HS 00
.AS "56a" ROR .DA ROR.E+1
.DA #5,#4 .HS 03
.AS "4Eaa" .AS "ROR"
.DA #6,#4 .HS 03.03363661
.AS "5Eaa" .HS 04.03373661
.DA #255,#2 .HS 05.0436456161
.AS "4A" .HS 06.0437456161
E.LSR .HS 00 .HS FF.023641
.DA #E.NOP-* ROR.E .HS 00
>PSTR "NOP" RTI .DA RTI.E+1
.DA #255,#2 .HS 03
.AS "EA" .AS "RTI"
E.NOP .HS 00 .HS FF.023430
.DA #E.ORA-* RTI.E .HS 00
>PSTR "ORA" RTS .DA RTS.E+1
.DA #0,#3 .HS 03
.AS "12a" .AS "RTS"
.DA #1,#3 .HS FF.023630
.AS "11a" RTS.E .HS 00
.DA #2,#3 SBC .DA SBC.E+1
.AS "01a" .HS 03
.DA #3,#3 .AS "SBC"
.AS "05a" .HS 00.03463261
.DA #4,#3 .HS 01.03463161
.AS "15a" .HS 02.03453161
.DA #5,#4 .HS 03.03453561
.AS "0Daa" .HS 04.03463561
.DA #6,#4 .HS 05.0445646161
.AS "1Daa" .HS 06.0446646161
.DA #7,#4 .HS 07.0446396161
.AS "19aa" .HS 08.03453969
.DA #8,#3 SBC.E .HS 00
.AS "09i" SEC .DA SEC.E+1
E.ORA .HS 00 .HS 03
.DA #E.PHA-* .AS "SEC"
>PSTR "PHA" .HS FF.023338
.DA #255,#2 SEC.E .HS 00
.AS "48" SED .DA SED.E+1
E.PHA .HS 00 .HS 03
.DA #E.PHP-* .AS "SED"
>PSTR "PHP" .HS FF.024638
.DA #255,#2 SED.E .HS 00
.AS "08" SEI .DA SEI.E+1
E.PHP .HS 00 .HS 03
.DA #E.PHX-* .AS "SEI"
>PSTR "PHX" .HS FF.023738
.DA #255,#2 SEI.E .HS 00
.AS "DA" STA .DA STA.E+1
E.PHX .HS 00 .HS 03
.DA #E.PHY-* .AS "STA"
>PSTR "PHY" .HS 00.03393261
.DA #255,#2 .HS 01.03393161
.AS "5A" .HS 02.03383161
E.PHY .HS 00 .HS 03.03383561
.DA #E.PLA-* .HS 04.03393561
>PSTR "PLA" .HS 05.0438446161
.DA #255,#2 .HS 06.0439446161
.AS "68" .HS 07.0439396161
E.PLA .HS 00 STA.E .HS 00
.DA #E.PLP-* STX .DA STX.E+1
>PSTR "PLP" .HS 03
.DA #255,#2 .AS "STX"
.AS "28" .HS 03.03383661
E.PLP .HS 00 .HS 0C.03393661
.DA #E.PLX-* .HS 05.0438456161
>PSTR "PLX" STX.E .HS 00
.DA #255,#2 STY .DA STY.E+1
.AS "FA" .HS 03
E.PLX .HS 00 .AS "STY"
.DA #E.PLY-* .HS 03.03383461
>PSTR "PLY" .HS 04.03393461
.DA #255,#2 .HS 05.0438436161
.AS "7A" STY.E .HS 00
E.PLY .HS 00 STZ .DA STZ.E+1
.DA #E.ROL-* .HS 03
>PSTR "ROL" .AS "STZ"
.DA #3,#3 .HS 03.03363461
.AS "26a" .HS 04.03373461
.DA #4,#3 .HS 05.0439436161
.AS "36a" .HS 06.0439456161
.DA #5,#4 STZ.E .HS 00
.AS "2Eaa" TAX .DA TAX.E+1
.DA #6,#4 .HS 03
.AS "3Eaa" .AS "TAX"
.DA #255,#2 .HS FF.024141
.AS "2A" TAX.E .HS 00
E.ROL .HS 00 TAY .DA TAY.E+1
.DA #E.ROR-* .HS 03
>PSTR "ROR" .AS "TAY"
.DA #3,#3 .HS FF.024138
.AS "66a" TAY.E .HS 00
.DA #4,#3 TRB .DA TRB.E+1
.AS "76a" .HS 03
.DA #5,#4 .AS "TRB"
.AS "6Eaa" .HS 03.03313461
.DA #6,#4 .HS 05.0431436161
.AS "7Eaa" TRB.E .HS 00
.DA #255,#2 TSB .DA TSB.E+1
.AS "6A" .HS 03
E.ROR .HS 00 .AS "TSB"
.DA #E.RTI-* .HS 03.03303461
>PSTR "RTI" .HS 05.0430436161
.DA #255,#2 TSB.E .HS 00
.AS "40" TSX .DA TSX.E+1
E.RTI .HS 00 .HS 03
.DA #E.RTS-* .AS "TSX"
>PSTR "RTS" .HS FF.024241
.DA #255,#2 TSX.E .HS 00
.AS "60" TXA .DA TXA.E+1
E.RTS .HS 00 .HS 03
.DA #E.SBC-* .AS "TXA"
>PSTR "SBC" .HS FF.023841
.DA #0,#3 TXA.E .HS 00
.AS "F2a" TXS .DA TXS.E+1
.DA #1,#3 .HS 03
.AS "F1a" .AS "TXS"
.DA #2,#3 .HS FF.023941
.AS "E1a" TXS.E .HS 00
.DA #3,#3 TYA .DA TYA.E+1
.AS "E5a" .HS 03
.DA #4,#3 .AS "TYA"
.AS "F5a" .HS FF.023938
.DA #5,#4 TYA.E .HS 00
.AS "Edaa" .HS 0000
.DA #6,#4
.AS "Fdaa"
.DA #7,#4
.AS "F9aa"
.DA #8,#3
.AS "E9i"
E.SBC .HS 00
.DA #E.SEC-*
>PSTR "SEC"
.DA #255,#2
.AS "38"
E.SEC .HS 00
.DA #E.SED-*
>PSTR "SED"
.DA #255,#2
.AS "F8"
E.SED .HS 00
.DA #E.SEI-*
>PSTR "SEI"
.DA #255,#2
.AS "78"
E.SEI .HS 00
.DA #E.STA-*
>PSTR "STA"
.DA #0,#3
.AS "92a"
.DA #1,#3
.AS "91a"
.DA #2,#3
.AS "81a"
.DA #3,#3
.AS "85a"
.DA #4,#3
.AS "95a"
.DA #5,#4
.AS "8Daa"
.DA #6,#4
.AS "9Daa"
.DA #7,#4
.AS "99aa"
E.STA .HS 00
.DA #E.STX-*
>PSTR "STX"
.DA #3,#3
.AS "86a"
.DA #12,#3
.AS "96a"
.DA #5,#4
.AS "8Eaa"
E.STX .HS 00
.DA #E.STY-*
>PSTR "STY"
.DA #3,#3
.AS "84a"
.DA #4,#3
.AS "94a"
.DA #5,#4
.AS "8Caa"
E.STY .HS 00
.DA #E.STZ-*
>PSTR "STZ"
.DA #3,#3
.AS "64a"
.DA #4,#3
.AS "74a"
.DA #5,#4
.AS "9Caa"
.DA #6,#4
.AS "9Eaa"
E.STZ .HS 00
.DA #E.TAX-*
>PSTR "TAX"
.DA #255,#2
.AS "AA"
E.TAX .HS 00
.DA #E.TAY-*
>PSTR "TAY"
.DA #255,#2
.AS "A8"
E.TAY .HS 00
.DA #E.TRB-*
>PSTR "TRB"
.DA #3,#3
.AS "14a"
.DA #5,#4
.AS "1Caa"
E.TRB .HS 00
.DA #E.TSB-*
>PSTR "TSB"
.DA #3,#3
.AS "04a"
.DA #5,#4
.AS "0Caa"
E.TSB .HS 00
.DA #E.TSX-*
>PSTR "TSX"
.DA #255,#2
.AS "BA"
E.TSX .HS 00
.DA #E.TXA-*
>PSTR "TXA"
.DA #255,#2
.AS "8A"
E.TXA .HS 00
.DA #E.TXS-*
>PSTR "TXS"
.DA #255,#2
.AS "9A"
E.TXS .HS 00
.DA #E.TYA-*
>PSTR "TYA"
.DA #255,#2
.AS "98"
E.TYA .HS 00
.HS 00
*---------------------------------------
MAN MAN
SAVE BIN/ASM.T.65C02.O SAVE BIN/ASM.T.65C02.O
LOAD BIN/ASM.T.65C02.S LOAD BIN/ASM.T.65C02.S

View File

@ -3,42 +3,42 @@ PREFIX /A2OSX.SRC
NEW NEW
INC 1 INC 1
AUTO 6 AUTO 6
.LIST OFF .LIST OFF
.OR $2000 .OR $0
.TF /A2OSX.BOOT/BIN/ASM.T.65C02 .TF /A2OSX.BOOT/BIN/ASM.T.65C02
*--------------------------------------- *---------------------------------------
.MA PSTR .MA ST
.DA #:1-*-1 .DA #:1-*-1
.AS "]1" .AS "]1"
:1 .EQ * :1 .EQ *
.EM .EM
*--------------------------------------- *---------------------------------------
.DA T.ADDR.MODES .DA T.ADDR.MODES
.DA T.REGISTERS .DA T.REGISTERS
.DA T.OPCODES .DA T.OPCODES
*--------------------------------------- *---------------------------------------
T.ADDR.MODES .EQ * T.ADDR.MODES .EQ *
>PSTR "(a)" >ST "(a)"
>PSTR "(a),Y" >ST "(a),Y"
>PSTR "(a,X)" >ST "(a,X)"
>PSTR "a" >ST "a"
>PSTR "a,X" >ST "a,X"
>PSTR "aa" >ST "aa"
>PSTR "aa,X" >ST "aa,X"
>PSTR "aa,Y" >ST "aa,Y"
>PSTR "i" >ST "i"
>PSTR "r" >ST "r"
>PSTR "(aa)" >ST "(aa)"
>PSTR "(aa,x)" >ST "(aa,x)"
>PSTR "a,Y" >ST "a,Y"
.HS 00 .HS 00
*--------------------------------------- *---------------------------------------
T.REGISTERS .EQ * T.REGISTERS .EQ *
>PSTR "Y" >ST "Y"
>PSTR "X" >ST "X"
.HS 00 .HS 00
*--------------------------------------- *---------------------------------------
.INB BIN/ASM.T.65C02.O .INB BIN/ASM.T.65C02.O
*--------------------------------------- *---------------------------------------
MAN MAN
SAVE BIN/ASM.T.65C02.S SAVE BIN/ASM.T.65C02.S

File diff suppressed because it is too large Load Diff

View File

@ -3,43 +3,43 @@ PREFIX /A2OSX.SRC
NEW NEW
INC 1 INC 1
AUTO 6 AUTO 6
.LIST OFF .LIST OFF
.OR $2000 .OR $0
.TF /A2OSX.BOOT/BIN/ASM.T.65R02 .TF /A2OSX.BOOT/BIN/ASM.T.65R02
*--------------------------------------- *---------------------------------------
.MA PSTR .MA ST
.DA #:1-*-1 .DA #:1-*-1
.AS "]1" .AS "]1"
:1 .EQ * :1 .EQ *
.EM .EM
*--------------------------------------- *---------------------------------------
.DA T.ADDR.MODES .DA T.ADDR.MODES
.DA T.REGISTERS .DA T.REGISTERS
.DA T.OPCODES .DA T.OPCODES
*--------------------------------------- *---------------------------------------
T.ADDR.MODES .EQ * T.ADDR.MODES .EQ *
>PSTR "(a)" >ST "(a)"
>PSTR "(a),Y" >ST "(a),Y"
>PSTR "(a,X)" >ST "(a,X)"
>PSTR "a" >ST "a"
>PSTR "a,X" >ST "a,X"
>PSTR "aa" >ST "aa"
>PSTR "aa,X" >ST "aa,X"
>PSTR "aa,Y" >ST "aa,Y"
>PSTR "i" >ST "i"
>PSTR "a,r" >ST "a,r"
>PSTR "r" >ST "r"
>PSTR "(aa)" >ST "(aa)"
>PSTR "(aa,x)" >ST "(aa,x)"
>PSTR "a,Y" >ST "a,Y"
.HS 00 .HS 00
*--------------------------------------- *---------------------------------------
T.REGISTERS .EQ * T.REGISTERS .EQ *
>PSTR "Y" >ST "Y"
>PSTR "X" >ST "X"
.HS 00 .HS 00
*--------------------------------------- *---------------------------------------
.INB BIN/ASM.T.65R02.O .INB BIN/ASM.T.65R02.O
*--------------------------------------- *---------------------------------------
MAN MAN
SAVE BIN/ASM.T.65R02.S SAVE BIN/ASM.T.65R02.S

File diff suppressed because it is too large Load Diff

View File

@ -3,43 +3,43 @@ PREFIX /A2OSX.SRC
NEW NEW
INC 1 INC 1
AUTO 6 AUTO 6
.LIST OFF .LIST OFF
.OR $2000 .OR $0
.TF /A2OSX.BOOT/BIN/ASM.T.65W02 .TF /A2OSX.BOOT/BIN/ASM.T.65W02
*--------------------------------------- *---------------------------------------
.MA PSTR .MA ST
.DA #:1-*-1 .DA #:1-*-1
.AS "]1" .AS "]1"
:1 .EQ * :1 .EQ *
.EM .EM
*--------------------------------------- *---------------------------------------
.DA T.ADDR.MODES .DA T.ADDR.MODES
.DA T.REGISTERS .DA T.REGISTERS
.DA T.OPCODES .DA T.OPCODES
*--------------------------------------- *---------------------------------------
T.ADDR.MODES .EQ * T.ADDR.MODES .EQ *
>PSTR "(a)" >ST "(a)"
>PSTR "(a),Y" >ST "(a),Y"
>PSTR "(a,X)" >ST "(a,X)"
>PSTR "a" >ST "a"
>PSTR "a,X" >ST "a,X"
>PSTR "aa" >ST "aa"
>PSTR "aa,X" >ST "aa,X"
>PSTR "aa,Y" >ST "aa,Y"
>PSTR "i" >ST "i"
>PSTR "a,r" >ST "a,r"
>PSTR "r" >ST "r"
>PSTR "(aa)" >ST "(aa)"
>PSTR "(aa,x)" >ST "(aa,x)"
>PSTR "a,Y" >ST "a,Y"
.HS 00 .HS 00
*--------------------------------------- *---------------------------------------
T.REGISTERS .EQ * T.REGISTERS .EQ *
>PSTR "Y" >ST "Y"
>PSTR "X" >ST "X"
.HS 00 .HS 00
*--------------------------------------- *---------------------------------------
.INB BIN/ASM.T.65W02.O .INB BIN/ASM.T.65W02.O
*--------------------------------------- *---------------------------------------
MAN MAN
SAVE BIN/ASM.T.65W02.S SAVE BIN/ASM.T.65W02.S

369
BIN/ASM.T.SW16.O.txt Normal file
View File

@ -0,0 +1,369 @@
PR# 3
PREFIX /A2OSX.SRC
NEW
INC 1
AUTO 6
.LIST OFF
T.OPCODES .EQ *
ADD .DA ADD.E+1
.HS 03
.AS "ADD"
.HS 00.024130
.HS 01.024131
.HS 02.024132
.HS 03.024133
.HS 04.024134
.HS 05.024135
.HS 06.024136
.HS 07.024137
.HS 08.024138
.HS 09.024139
.HS 0A.024141
.HS 0B.024142
.HS 0C.024143
.HS 0D.024144
.HS 0E.024145
.HS 0F.024146
ADD.E .HS 00
BC .DA BC.E+1
.HS 02
.AS "BC"
.HS 10.03303372
BC.E .HS 00
BK .DA BK.E+1
.HS 02
.AS "BK"
.HS FF.023041
BK.E .HS 00
BM .DA BM.E+1
.HS 02
.AS "BM"
.HS 10.03303572
BM.E .HS 00
BM1 .DA BM1.E+1
.HS 03
.AS "BM1"
.HS 10.03303872
BM1.E .HS 00
BNC .DA BNC.E+1
.HS 03
.AS "BNC"
.HS 10.03303272
BNC.E .HS 00
BNM1 .DA BNM1.E+1
.HS 04
.AS "BNM1"
.HS 10.03303972
BNM1.E .HS 00
BNZ .DA BNZ.E+1
.HS 03
.AS "BNZ"
.HS 10.03303772
BNZ.E .HS 00
BP .DA BP.E+1
.HS 02
.AS "BP"
.HS 10.03303472
BP.E .HS 00
BR .DA BR.E+1
.HS 02
.AS "BR"
.HS 10.03303172
BR.E .HS 00
BS .DA BS.E+1
.HS 02
.AS "BS"
.HS 10.03304472
BS.E .HS 00
BZ .DA BZ.E+1
.HS 02
.AS "BZ"
.HS 10.03303672
BZ.E .HS 00
CPR .DA CPR.E+1
.HS 03
.AS "CPR"
.HS 00.024430
.HS 01.024431
.HS 02.024432
.HS 03.024433
.HS 04.024434
.HS 05.024435
.HS 06.024436
.HS 07.024437
.HS 08.024438
.HS 09.024439
.HS 0A.024441
.HS 0B.024442
.HS 0C.024443
.HS 0D.024444
.HS 0E.024445
.HS 0F.024446
CPR.E .HS 00
DCR .DA DCR.E+1
.HS 03
.AS "DCR"
.HS 00.024630
.HS 01.024631
.HS 02.024632
.HS 03.024633
.HS 04.024634
.HS 05.024635
.HS 06.024636
.HS 07.024637
.HS 08.024638
.HS 09.024639
.HS 0A.024641
.HS 0B.024642
.HS 0C.024643
.HS 0D.024644
.HS 0E.024645
.HS 0F.024646
DCR.E .HS 00
INR .DA INR.E+1
.HS 03
.AS "INR"
.HS 00.024530
.HS 01.024531
.HS 02.024532
.HS 03.024533
.HS 04.024534
.HS 05.024535
.HS 06.024536
.HS 07.024537
.HS 08.024538
.HS 09.024539
.HS 0A.024541
.HS 0B.024542
.HS 0C.024543
.HS 0D.024544
.HS 0E.024545
.HS 0F.024546
INR.E .HS 00
LD .DA LD.E+1
.HS 02
.AS "LD"
.HS 00.023230
.HS 01.023231
.HS 02.023232
.HS 03.023233
.HS 04.023234
.HS 05.023235
.HS 06.023236
.HS 07.023237
.HS 08.023238
.HS 09.023239
.HS 0A.023241
.HS 0B.023242
.HS 0C.023243
.HS 0D.023244
.HS 0E.023245
.HS 0F.023246
.HS 11.023430
.HS 12.023431
.HS 13.023432
.HS 14.023433
.HS 15.023434
.HS 16.023435
.HS 17.023436
.HS 18.023437
.HS 19.023438
.HS 1A.023439
.HS 1B.023441
.HS 1C.023442
.HS 1D.023443
.HS 1E.023444
.HS 1F.023445
.HS 20.023446
LD.E .HS 00
LDD .DA LDD.E+1
.HS 03
.AS "LDD"
.HS 11.023630
.HS 12.023631
.HS 13.023632
.HS 14.023633
.HS 15.023634
.HS 16.023635
.HS 17.023636
.HS 18.023637
.HS 19.023638
.HS 1A.023639
.HS 1B.023641
.HS 1C.023642
.HS 1D.023643
.HS 1E.023644
.HS 1F.023645
.HS 20.023646
LDD.E .HS 00
POP .DA POP.E+1
.HS 03
.AS "POP"
.HS 11.023830
.HS 12.023831
.HS 13.023832
.HS 14.023833
.HS 15.023834
.HS 16.023835
.HS 17.023836
.HS 18.023837
.HS 19.023838
.HS 1A.023839
.HS 1B.023841
.HS 1C.023842
.HS 1D.023843
.HS 1E.023844
.HS 1F.023845
.HS 20.023846
POP.E .HS 00
POPD .DA POPD.E+1
.HS 04
.AS "POPD"
.HS 11.024330
.HS 12.024331
.HS 13.024332
.HS 14.024333
.HS 15.024334
.HS 16.024335
.HS 17.024336
.HS 18.024337
.HS 19.024338
.HS 1A.024339
.HS 1B.024341
.HS 1C.024342
.HS 1D.024343
.HS 1E.024344
.HS 1F.024345
.HS 20.024346
POPD.E .HS 00
RS .DA RS.E+1
.HS 02
.AS "RS"
.HS FF.023042
RS.E .HS 00
RTN .DA RTN.E+1
.HS 03
.AS "RTN"
.HS FF.03303072
RTN.E .HS 00
SET .DA SET.E+1
.HS 03
.AS "SET"
.HS 00.023130
.HS 01.023131
.HS 02.023132
.HS 03.023133
.HS 04.023134
.HS 05.023135
.HS 06.023136
.HS 07.023137
.HS 08.023138
.HS 09.023139
.HS 0A.023141
.HS 0B.023142
.HS 0C.023143
.HS 0D.023144
.HS 0E.023145
.HS 0F.023144
SET.E .HS 00
ST .DA ST.E+1
.HS 02
.AS "ST"
.HS 00.023330
.HS 01.023331
.HS 02.023332
.HS 03.023333
.HS 04.023334
.HS 05.023335
.HS 06.023336
.HS 07.023337
.HS 08.023338
.HS 09.023339
.HS 0A.023341
.HS 0B.023342
.HS 0C.023343
.HS 0D.023344
.HS 0E.023345
.HS 0F.023346
.HS 11.023530
.HS 12.023531
.HS 13.023532
.HS 14.023533
.HS 15.023534
.HS 16.023535
.HS 17.023536
.HS 18.023537
.HS 19.023538
.HS 1A.023539
.HS 1B.023541
.HS 1C.023542
.HS 1D.023543
.HS 1E.023544
.HS 1F.023545
.HS 20.023546
ST.E .HS 00
STD .DA STD.E+1
.HS 03
.AS "STD"
.HS 11.023730
.HS 12.023731
.HS 13.023732
.HS 14.023733
.HS 15.023734
.HS 16.023735
.HS 17.023736
.HS 18.023737
.HS 19.023738
.HS 1A.023739
.HS 1B.023741
.HS 1C.023742
.HS 1D.023743
.HS 1E.023744
.HS 1F.023745
.HS 20.023746
STD.E .HS 00
STP .DA STP.E+1
.HS 03
.AS "STP"
.HS 11.023930
.HS 12.023931
.HS 13.023932
.HS 14.023933
.HS 15.023934
.HS 16.023935
.HS 17.023936
.HS 18.023937
.HS 19.023938
.HS 1A.023939
.HS 1B.023941
.HS 1C.023942
.HS 1D.023943
.HS 1E.023944
.HS 1F.023945
.HS 20.023946
STP.E .HS 00
SUB .DA SUB.E+1
.HS 03
.AS "SUB"
.HS 00.024230
.HS 01.024231
.HS 02.024232
.HS 03.024233
.HS 04.024234
.HS 05.024235
.HS 06.024236
.HS 07.024237
.HS 08.024238
.HS 09.024239
.HS 0A.024241
.HS 0B.024242
.HS 0C.024243
.HS 0D.024244
.HS 0E.024245
.HS 0F.024246
SUB.E .HS 00
.HS 0000
MAN
SAVE BIN/ASM.T.SW16.O
LOAD BIN/ASM.T.SW16.S
ASM

64
BIN/ASM.T.SW16.S.txt Normal file
View File

@ -0,0 +1,64 @@
PR# 3
PREFIX /A2OSX.SRC
NEW
INC 1
AUTO 6
.LIST OFF
.OR $0
.TF /A2OSX.BOOT/BIN/ASM.T.SW16
*---------------------------------------
.MA ST
.DA #:1-*-1
.AS "]1"
:1 .EQ *
.EM
*---------------------------------------
.DA T.ADDR.MODES
.DA T.REGISTERS
.DA T.OPCODES
*---------------------------------------
T.ADDR.MODES .EQ *
>ST "R0"
>ST "R1"
>ST "R2"
>ST "R3"
>ST "R4"
>ST "R5"
>ST "R6"
>ST "R7"
>ST "R8"
>ST "R9"
>ST "R10"
>ST "R11"
>ST "R12"
>ST "R13"
>ST "R14"
>ST "R15"
>ST "r"
>ST "@R0"
>ST "@R1"
>ST "@R2"
>ST "@R3"
>ST "@R4"
>ST "@R5"
>ST "@R6"
>ST "@R7"
>ST "@R8"
>ST "@R9"
>ST "@R10"
>ST "@R11"
>ST "@R12"
>ST "@R13"
>ST "@R14"
>ST "@R15"
.HS 00
*---------------------------------------
T.REGISTERS .EQ *
>ST "R"
.HS 00
*---------------------------------------
.INB BIN/ASM.T.SW16.O
*---------------------------------------
MAN
SAVE BIN/ASM.T.SW16.S
ASM

File diff suppressed because it is too large Load Diff

View File

@ -4,10 +4,10 @@ NEW
INC 1 INC 1
AUTO 6 AUTO 6
.LIST OFF .LIST OFF
.OR $2000 .OR $0
.TF /A2OSX.BOOT/BIN/ASM.T.Z80 .TF /A2OSX.BOOT/BIN/ASM.T.Z80
*--------------------------------------- *---------------------------------------
.MA PSTR .MA ST
.DA #:1-*-1 .DA #:1-*-1
.AS "]1" .AS "]1"
:1 .EQ * :1 .EQ *
@ -18,211 +18,211 @@ AUTO 6
.DA T.OPCODES .DA T.OPCODES
*--------------------------------------- *---------------------------------------
T.ADDR.MODES .EQ * T.ADDR.MODES .EQ *
>PSTR "A,(HL)" >ST "A,(HL)"
>PSTR "A,(IX+a)" >ST "A,(IX+a)"
>PSTR "A,(IY+a)" >ST "A,(IY+a)"
>PSTR "A,A" >ST "A,A"
>PSTR "A,a" >ST "A,a"
>PSTR "A,B" >ST "A,B"
>PSTR "A,C" >ST "A,C"
>PSTR "A,D" >ST "A,D"
>PSTR "A,E" >ST "A,E"
>PSTR "A,H" >ST "A,H"
>PSTR "A,L" >ST "A,L"
>PSTR "HL,BC" >ST "HL,BC"
>PSTR "HL,DE" >ST "HL,DE"
>PSTR "HL,HL" >ST "HL,HL"
>PSTR "HL,SP" >ST "HL,SP"
>PSTR "IX,BC" >ST "IX,BC"
>PSTR "IX,DE" >ST "IX,DE"
>PSTR "IX,IX" >ST "IX,IX"
>PSTR "IX,SP" >ST "IX,SP"
>PSTR "IY,BC" >ST "IY,BC"
>PSTR "IY,DE" >ST "IY,DE"
>PSTR "IY,IY" >ST "IY,IY"
>PSTR "IY,SP" >ST "IY,SP"
>PSTR "(HL)" >ST "(HL)"
>PSTR "(IX+a)" >ST "(IX+a)"
>PSTR "(IY+a)" >ST "(IY+a)"
>PSTR "A" >ST "A"
>PSTR "a" >ST "a"
>PSTR "B" >ST "B"
>PSTR "C" >ST "C"
>PSTR "D" >ST "D"
>PSTR "E" >ST "E"
>PSTR "H" >ST "H"
>PSTR "L" >ST "L"
>PSTR "aa" >ST "aa"
>PSTR "BC" >ST "BC"
>PSTR "DE" >ST "DE"
>PSTR "HL" >ST "HL"
>PSTR "IX" >ST "IX"
>PSTR "IY" >ST "IY"
>PSTR "SP" >ST "SP"
>PSTR "r" >ST "r"
>PSTR "(SP),HL" >ST "(SP),HL"
>PSTR "(SP),IX" >ST "(SP),IX"
>PSTR "(SP),IY" >ST "(SP),IY"
>PSTR "DE,HL" >ST "DE,HL"
>PSTR "A,(a)" >ST "A,(a)"
>PSTR "A,(C)" >ST "A,(C)"
>PSTR "B,(C)" >ST "B,(C)"
>PSTR "C,(C)" >ST "C,(C)"
>PSTR "D,(C)" >ST "D,(C)"
>PSTR "E,(C)" >ST "E,(C)"
>PSTR "H,(C)" >ST "H,(C)"
>PSTR "L,(C)" >ST "L,(C)"
>PSTR "(IX)" >ST "(IX)"
>PSTR "(IY)" >ST "(IY)"
>PSTR "(aa),A" >ST "(aa),A"
>PSTR "(aa),BC" >ST "(aa),BC"
>PSTR "(aa),DE" >ST "(aa),DE"
>PSTR "(aa),HL" >ST "(aa),HL"
>PSTR "(aa),IX" >ST "(aa),IX"
>PSTR "(aa),IY" >ST "(aa),IY"
>PSTR "(aa),SP" >ST "(aa),SP"
>PSTR "(BC),A" >ST "(BC),A"
>PSTR "(DE),A" >ST "(DE),A"
>PSTR "(HL),A" >ST "(HL),A"
>PSTR "(HL),a" >ST "(HL),a"
>PSTR "(HL),B" >ST "(HL),B"
>PSTR "(HL),C" >ST "(HL),C"
>PSTR "(HL),D" >ST "(HL),D"
>PSTR "(HL),E" >ST "(HL),E"
>PSTR "(HL),H" >ST "(HL),H"
>PSTR "(HL),L" >ST "(HL),L"
>PSTR "(IX+a),A" >ST "(IX+a),A"
>PSTR "(IX+a),a" >ST "(IX+a),a"
>PSTR "(IX+a),B" >ST "(IX+a),B"
>PSTR "(IX+a),C" >ST "(IX+a),C"
>PSTR "(IX+a),D" >ST "(IX+a),D"
>PSTR "(IX+a),E" >ST "(IX+a),E"
>PSTR "(IX+a),H" >ST "(IX+a),H"
>PSTR "(IX+a),L" >ST "(IX+a),L"
>PSTR "(IY+a),A" >ST "(IY+a),A"
>PSTR "(IY+a),a" >ST "(IY+a),a"
>PSTR "(IY+a),B" >ST "(IY+a),B"
>PSTR "(IY+a),C" >ST "(IY+a),C"
>PSTR "(IY+a),D" >ST "(IY+a),D"
>PSTR "(IY+a),E" >ST "(IY+a),E"
>PSTR "(IY+a),H" >ST "(IY+a),H"
>PSTR "(IY+a),L" >ST "(IY+a),L"
>PSTR "A,(aa)" >ST "A,(aa)"
>PSTR "A,(BC)" >ST "A,(BC)"
>PSTR "A,(DE)" >ST "A,(DE)"
>PSTR "A,I" >ST "A,I"
>PSTR "A,R" >ST "A,R"
>PSTR "B,(HL)" >ST "B,(HL)"
>PSTR "B,(IX+a)" >ST "B,(IX+a)"
>PSTR "B,(IY+a)" >ST "B,(IY+a)"
>PSTR "B,A" >ST "B,A"
>PSTR "B,a" >ST "B,a"
>PSTR "B,B" >ST "B,B"
>PSTR "B,C" >ST "B,C"
>PSTR "B,D" >ST "B,D"
>PSTR "B,E" >ST "B,E"
>PSTR "B,H" >ST "B,H"
>PSTR "B,L" >ST "B,L"
>PSTR "BC,(aa)" >ST "BC,(aa)"
>PSTR "BC,aa" >ST "BC,aa"
>PSTR "C,(HL)" >ST "C,(HL)"
>PSTR "C,(IX+a)" >ST "C,(IX+a)"
>PSTR "C,(IY+a)" >ST "C,(IY+a)"
>PSTR "C,A" >ST "C,A"
>PSTR "C,a" >ST "C,a"
>PSTR "C,B" >ST "C,B"
>PSTR "C,C" >ST "C,C"
>PSTR "C,D" >ST "C,D"
>PSTR "C,E" >ST "C,E"
>PSTR "C,H" >ST "C,H"
>PSTR "C,L" >ST "C,L"
>PSTR "D,(HL)" >ST "D,(HL)"
>PSTR "D,(IX+a)" >ST "D,(IX+a)"
>PSTR "D,(IY+a)" >ST "D,(IY+a)"
>PSTR "D,A" >ST "D,A"
>PSTR "D,a" >ST "D,a"
>PSTR "D,B" >ST "D,B"
>PSTR "D,C" >ST "D,C"
>PSTR "D,D" >ST "D,D"
>PSTR "D,E" >ST "D,E"
>PSTR "D,H" >ST "D,H"
>PSTR "D,L" >ST "D,L"
>PSTR "DE,(aa)" >ST "DE,(aa)"
>PSTR "DE,aa" >ST "DE,aa"
>PSTR "E,(HL)" >ST "E,(HL)"
>PSTR "E,(IX+a)" >ST "E,(IX+a)"
>PSTR "E,(IY+a)" >ST "E,(IY+a)"
>PSTR "E,A" >ST "E,A"
>PSTR "E,a" >ST "E,a"
>PSTR "E,B" >ST "E,B"
>PSTR "E,C" >ST "E,C"
>PSTR "E,D" >ST "E,D"
>PSTR "E,E" >ST "E,E"
>PSTR "E,H" >ST "E,H"
>PSTR "E,L" >ST "E,L"
>PSTR "H,(HL)" >ST "H,(HL)"
>PSTR "H,(IX+a)" >ST "H,(IX+a)"
>PSTR "H,(IY+a)" >ST "H,(IY+a)"
>PSTR "H,A" >ST "H,A"
>PSTR "H,a" >ST "H,a"
>PSTR "H,B" >ST "H,B"
>PSTR "H,C" >ST "H,C"
>PSTR "H,D" >ST "H,D"
>PSTR "H,E" >ST "H,E"
>PSTR "H,H" >ST "H,H"
>PSTR "H,L" >ST "H,L"
>PSTR "HL,(aa)" >ST "HL,(aa)"
>PSTR "HL,aa" >ST "HL,aa"
>PSTR "I,A" >ST "I,A"
>PSTR "IX,(aa)" >ST "IX,(aa)"
>PSTR "IX,aa" >ST "IX,aa"
>PSTR "IY,(aa)" >ST "IY,(aa)"
>PSTR "IY,aa" >ST "IY,aa"
>PSTR "L,(HL)" >ST "L,(HL)"
>PSTR "L,(IX+a)" >ST "L,(IX+a)"
>PSTR "L,(IY+a)" >ST "L,(IY+a)"
>PSTR "L,A" >ST "L,A"
>PSTR "L,a" >ST "L,a"
>PSTR "L,B" >ST "L,B"
>PSTR "L,C" >ST "L,C"
>PSTR "L,D" >ST "L,D"
>PSTR "L,E" >ST "L,E"
>PSTR "L,H" >ST "L,H"
>PSTR "L,L" >ST "L,L"
>PSTR "R,A" >ST "R,A"
>PSTR "SP,(aa)" >ST "SP,(aa)"
>PSTR "SP,aa" >ST "SP,aa"
>PSTR "SP,HL" >ST "SP,HL"
>PSTR "SP,IX" >ST "SP,IX"
>PSTR "SP,IY" >ST "SP,IY"
>PSTR "(a),A" >ST "(a),A"
>PSTR "(C),A" >ST "(C),A"
>PSTR "(C),B" >ST "(C),B"
>PSTR "(C),C" >ST "(C),C"
>PSTR "(C),D" >ST "(C),D"
>PSTR "(C),E" >ST "(C),E"
>PSTR "(C),H" >ST "(C),H"
>PSTR "(C),L" >ST "(C),L"
>PSTR "AF" >ST "AF"
.HS 00 .HS 00
*--------------------------------------- *---------------------------------------
T.REGISTERS .EQ * T.REGISTERS .EQ *
>PSTR "A" >ST "A"
>PSTR "HL" >ST "HL"
>PSTR "IX" >ST "IX"
>PSTR "IY" >ST "IY"
>PSTR "B" >ST "B"
>PSTR "C" >ST "C"
>PSTR "D" >ST "D"
>PSTR "E" >ST "E"
>PSTR "H" >ST "H"
>PSTR "L" >ST "L"
>PSTR "BC" >ST "BC"
>PSTR "DE" >ST "DE"
>PSTR "SP" >ST "SP"
>PSTR "I" >ST "I"
>PSTR "R" >ST "R"
>PSTR "AF" >ST "AF"
.HS 00 .HS 00
*--------------------------------------- *---------------------------------------
.INB BIN/ASM.T.Z80.O .INB BIN/ASM.T.Z80.O

Binary file not shown.