From 40b78c11a4bf5d89cd625db8a080422368b56e4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 28 Oct 2015 17:55:12 +0100 Subject: [PATCH] Work In Progress (ASM) --- BIN/ASM.S.DIR.txt | 87 +- BIN/ASM.S.EXP.txt | 74 +- BIN/ASM.S.FIO.txt | 270 +++++ BIN/ASM.S.SRC.txt | 445 +++----- BIN/ASM.S.SYM.txt | 21 +- BIN/ASM.S.txt | 61 +- BIN/ASM.T.6502.O.txt | 853 +++++++-------- BIN/ASM.T.6502.S.txt | 56 +- BIN/ASM.T.65816.O.txt | 1406 +++++++++++------------- BIN/ASM.T.65816.S.txt | 80 +- BIN/ASM.T.65C02.O.txt | 990 ++++++++--------- BIN/ASM.T.65C02.S.txt | 60 +- BIN/ASM.T.65R02.O.txt | 1310 ++++++++++------------ BIN/ASM.T.65R02.S.txt | 62 +- BIN/ASM.T.65W02.O.txt | 1330 +++++++++++------------ BIN/ASM.T.65W02.S.txt | 62 +- BIN/ASM.T.SW16.O.txt | 369 +++++++ BIN/ASM.T.SW16.S.txt | 64 ++ BIN/ASM.T.Z80.O.txt | 2400 ++++++++++++++++++++--------------------- BIN/ASM.T.Z80.S.txt | 408 +++---- BIN/ASM.T.xlsm | Bin 85783 -> 84135 bytes 21 files changed, 5220 insertions(+), 5188 deletions(-) create mode 100644 BIN/ASM.S.FIO.txt create mode 100644 BIN/ASM.T.SW16.O.txt create mode 100644 BIN/ASM.T.SW16.S.txt diff --git a/BIN/ASM.S.DIR.txt b/BIN/ASM.S.DIR.txt index 77c7444a..54ad520f 100644 --- a/BIN/ASM.S.DIR.txt +++ b/BIN/ASM.S.DIR.txt @@ -4,7 +4,6 @@ NEW INC 1 AUTO 6 .LIST OFF - .OP 65C02 *--------------------------------------- DIR.AC clc rts @@ -36,17 +35,7 @@ DIR.ED clc DIR.EL clc rts *--------------------------------------- -DIR.EM ldy #ASM.MA.ON - lda (pData),y - bpl .9 - - lda #$00 - sta (pData),y - - clc - rts - -.9 lda #ERR.INVALID.MACRO.DEF +DIR.EM lda #ERR.INVALID.MACRO.DEF sec rts *--------------------------------------- @@ -56,8 +45,11 @@ DIR.EN clc DIR.EP clc rts *--------------------------------------- -DIR.EQ clc - rts +DIR.EQ jsr EXP.Get + bcs .9 + + clc +.9 rts *--------------------------------------- DIR.FI clc rts @@ -71,7 +63,7 @@ DIR.IN jsr SRC.GetArg >LDYA L.SRC.BUFFER >SYSCALL SYS.NewPStrYA - jsr SRC.OpenFileA + jsr FIO.OpenFileA bcs .99 rts @@ -111,20 +103,57 @@ DIR.LI.APPLY lsr sta (pData),y 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 - bmi .9 + bne .1 - lda #$80 - sta (pData),y - jsr SRC.GetArg + + bra .1 clc rts .9 lda #ERR.INVALID.MACRO.DEF sec - rts +.99 rts *--------------------------------------- DIR.OP jsr SRC.GetArg bcs .9 @@ -147,8 +176,20 @@ DIR.OP jsr SRC.GetArg sec rts *--------------------------------------- -DIR.OR clc - rts +DIR.OR jsr EXP.Get + 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 rts diff --git a/BIN/ASM.S.EXP.txt b/BIN/ASM.S.EXP.txt index 00d262dc..bce13ed8 100644 --- a/BIN/ASM.S.EXP.txt +++ b/BIN/ASM.S.EXP.txt @@ -4,43 +4,69 @@ NEW INC 1 AUTO 6 .LIST OFF - .OP 65C02 *--------------------------------------- -* Addressing Mode reserved : #(),XY +* Addressing Mode reserved : []#(), +* EXP.Operators .AS "^!|&<=>+-*/" * U-Operators : * B-Operators : * Num Format : 0-9 -> decimal -* $ = Hexa +* $ = Hex * % = binary * & = octal +* * = PC *--------------------------------------- EXP.Get jsr SRC.GetCharNB - beq .9 - jsr SRC.IsDigit10 Decimal constant ? - bne . + beq .98 + cmp #'*' + 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? - bne . +.8 clc + rts +.97 lda #ERR.SYNTAX.ERROR + sec + rts - - - cmp #''' literal? - bne . - - - - - jsr SRC.IsLetter Symbol ? - bne . - - cmp #'#' -.9 lda #ERR.MISSING.EXP +.98 lda #ERR.MISSING.EXP sec .99 rts *--------------------------------------- @@ -49,9 +75,9 @@ EXP.Get jsr SRC.GetCharNB stz SRC.ACC+2 stz SRC.ACC+3 *--------------------------------------- -EXP.Operators .AS "^!|&<=>+-*/" + *--------------------------------------- MAN -SAVE BIN/ASM.S.DIR +SAVE BIN/ASM.S.EXP LOAD BIN/ASM.S -ASM \ No newline at end of file +ASM diff --git a/BIN/ASM.S.FIO.txt b/BIN/ASM.S.FIO.txt new file mode 100644 index 00000000..fa625e9b --- /dev/null +++ b/BIN/ASM.S.FIO.txt @@ -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 diff --git a/BIN/ASM.S.SRC.txt b/BIN/ASM.S.SRC.txt index 3ff54a53..8297c369 100644 --- a/BIN/ASM.S.SRC.txt +++ b/BIN/ASM.S.SRC.txt @@ -4,246 +4,8 @@ NEW INC 1 AUTO 6 .LIST OFF - .OP 65C02 *--------------------------------------- -SRC.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 -*--------------------------------------- -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 +SRC.ParseLine ldx TmpBuffer256 beq SRC.ParseLine.Skip cpx #'*' Comment? @@ -254,16 +16,6 @@ SRC.ParseLine stz SRC.Label.Flags cpx #' ' no label...go scan dir/opcode 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? bne .2 jsr SRC.ParseLine.SymL @@ -282,7 +34,15 @@ SRC.ParseLine stz SRC.Label.Flags bcs SRC.ParseLine.Err 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 @@ -290,19 +50,8 @@ SRC.ParseLine.Ok lda SRC.Label.Flags beq .1 jsr SYM.Add - -.1 ldy #ASM.MA.ON Macro learning mode ? - lda (pData),y - bpl .2 - - ldy #ASM.PASS If Pass#2, ignore - lda (pData),y - bne SRC.ParseLine.skip - - jsr SRC.ParseLine.Macro - -.2 - + bcs SRC.ParseLine.Err +.1 SRC.ParseLine.skip clc rts @@ -352,16 +101,69 @@ SRC.ParseLine.Dir >LDYA L.T.DIRECTIVES sec rts *--------------------------------------- -SRC.ParseLine.OpCode +SRC.ParseLine.Exec.Macro clc rts *--------------------------------------- -SRC.ParseLine.Macro +SRC.ParseLine.Add.Macro clc 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 - ldy #ASM.MA.ON + ldy #ASM.MACRO.ON lda (pData),y bpl .1 @@ -422,6 +224,91 @@ SRC.GetDecimal stz SRC.ACC+1 .8 clc 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 sec rts @@ -512,7 +399,6 @@ SRC.GetArg jsr SRC.GetCharUC beq .2 cmp #' ' beq .2 - cmp #',' iny sta SRC.Buffer,y bra .1 @@ -540,9 +426,25 @@ SRC.IsLetter cmp #'A' .9 sec 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' bcc .9 - cmp #':' + cmp #'9'+1 rts cc if ok, cs if not .9 sec @@ -565,9 +467,10 @@ SRC.GetCharUC jsr SRC.GetChar *--------------------------------------- SRC.GetChar ldx SRC.BufPtr lda TmpBuffer256,x - inc SRC.BufPtr - and #$7f - rts + beq .9 + inc SRC.BufPtr if 255, will make Z + and #$7f Make sure NZ +.9 rts *--------------------------------------- SRC.ACC10 lda SRC.ACC ACC*2-> ACC & ACCTMP asl diff --git a/BIN/ASM.S.SYM.txt b/BIN/ASM.S.SYM.txt index 2b84bdd8..f2afd238 100644 --- a/BIN/ASM.S.SYM.txt +++ b/BIN/ASM.S.SYM.txt @@ -4,24 +4,23 @@ NEW INC 1 AUTO 6 .LIST OFF - .OP 65C02 *--------------------------------------- SYM.Add clc rts *--------------------------------------- +SYM.AddGlobal + clc + rts +*--------------------------------------- +SYM.LookupGlobal + clc + rts +*--------------------------------------- SYM.ClearPrivate clc rts *--------------------------------------- -SYM.AddPrivate - clc - rts -*--------------------------------------- -SYM.LookupPrivate - clc - rts -*--------------------------------------- SYM.ClearLocal clc rts @@ -34,11 +33,11 @@ SYM.LookupLocal clc rts *--------------------------------------- -SYM.AddGlobal +SYM.AddPrivate clc rts *--------------------------------------- -SYM.LookupGlobal +SYM.LookupPrivate clc rts *--------------------------------------- diff --git a/BIN/ASM.S.txt b/BIN/ASM.S.txt index 90369f36..57b09b8a 100644 --- a/BIN/ASM.S.txt +++ b/BIN/ASM.S.txt @@ -16,6 +16,10 @@ AUTO 6 ZPPtr1 .EQ ZPBIN 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.MAX .EQ 8 SRC.IN.DEPTH.MAX .EQ 7 @@ -31,6 +35,7 @@ ERR.VAL.TOO.BIG .EQ $A2 ERR.LINE.TOO.LONG .EQ $A3 ERR.INVALID.LABEL .EQ $A4 ERR.INVALID.DIRECTIVE .EQ $A5 +ERR.INVALID.OPCODE .EQ $A6 ERR.MISSING.EXP .EQ $B0 ERR.EXP.SYN.ERROR .EQ $B1 ERR.INVALID.MACRO.DEF .EQ $E0 @@ -167,7 +172,8 @@ CS.INIT >LDYA L.LIBSTR ldy #ASM.LI.ON sta (pData),y - lda #$00 +* lda #$00 + lda #$80 ldy #ASM.LI.CON sta (pData),y ldy #ASM.LI.XON @@ -207,25 +213,17 @@ CS.RUN ldy #bCANCEL ldy #SRC.hFILENAME lda (pData),y - jsr SRC.OpenFileA + jsr FIO.OpenFileA bcs .99 -.10 jsr SRC.ReadLine +.10 jsr FIO.ReadLine bcc .2 cmp #$4C End Of File? bne .9 - jsr SRC.FileClose + jsr FIO.FileClose - ldy #ASM.MA.ON Macro learning mode ? - lda (pData),y - bpl .22 - - lda #ERR.SRC.UNEXP.EOF - sec - rts - -.22 ldy #SRC.COUNT end of root file ? + ldy #SRC.COUNT end of root file ? lda (pData),y bne .8 no continue back to previous file @@ -246,9 +244,6 @@ CS.RUN ldy #bCANCEL jsr SRC.PrintLine with CC, conditional - ldy #ASM.MA.ON Macro learning mode ? - lda (pData),y - bmi .10 .8 clc rts @@ -300,7 +295,7 @@ CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device? .9 sec rts *-------------------------------------- -CS.QUIT jsr SRC.FileClose +CS.QUIT jsr FIO.FileClose bne CS.QUIT ldy #ASM.T.hMem @@ -314,35 +309,15 @@ CS.QUIT jsr SRC.FileClose >SYSCALL SYS.FreeMemA -.8 lda #hLIBSTR +.8 lda hLIBSTR >SYSCALL SYS.UnloadLibA 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 -*--------------------------------------- - .INB BIN/ASM.S.SRC .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 *--------------------------------------- CS.END @@ -449,7 +424,7 @@ MSG.HELP2 >CSTRING "Usage : ASM [type TXT ($04) or S-C/BAS ($FA)]\n MSG.PASS >CSTRING "Pass:#%d\n" MSG.SRC.FILE >CSTRING "Source File:%S\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.ERROR >CSTRING "%05D-Error:$%h\n" 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.PASS .BS 1 +ASM.MACRO.ON .BS 1 ASM.PH.ON .BS 1 ASM.LI.ON .BS 1 ASM.LI.CON .BS 1 ASM.LI.XON .BS 1 -ASM.MA.ON .BS 1 ASM.PC .BS 4 32Bits PC ASM.PC.PH .BS 4 32Bits PC saved for PH directive diff --git a/BIN/ASM.T.6502.O.txt b/BIN/ASM.T.6502.O.txt index 783dc6ce..2595a084 100644 --- a/BIN/ASM.T.6502.O.txt +++ b/BIN/ASM.T.6502.O.txt @@ -3,481 +3,384 @@ PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .LIST OFF -*--------------------------------------- -T.OPCODES .EQ * - .DA #E.ADC-* - >PSTR "ADC" - .DA #0,#3 - .AS "71a" - .DA #1,#3 - .AS "61a" - .DA #2,#3 - .AS "65a" - .DA #3,#3 - .AS "75a" - .DA #4,#4 - .AS "6Daa" - .DA #5,#4 - .AS "7Daa" - .DA #6,#4 - .AS "79aa" - .DA #7,#3 - .AS "69i" -E.ADC .HS 00 - .DA #E.AND-* - >PSTR "AND" - .DA #0,#3 - .AS "31a" - .DA #1,#3 - .AS "21a" - .DA #2,#3 - .AS "25a" - .DA #3,#3 - .AS "35a" - .DA #4,#4 - .AS "2Daa" - .DA #5,#4 - .AS "3Daa" - .DA #6,#4 - .AS "39aa" - .DA #7,#3 - .AS "29i" -E.AND .HS 00 - .DA #E.ASL-* - >PSTR "ASL" - .DA #2,#3 - .AS "06a" - .DA #3,#3 - .AS "16a" - .DA #4,#4 - .AS "0Eaa" - .DA #5,#4 - .AS "1Eaa" - .DA #255,#2 - .AS "0A" -E.ASL .HS 00 - .DA #E.BCC-* - >PSTR "BCC" - .DA #8,#3 - .AS "90r" -E.BCC .HS 00 - .DA #E.BCS-* - >PSTR "BCS" - .DA #8,#3 - .AS "B0r" -E.BCS .HS 00 - .DA #E.BEQ-* - >PSTR "BEQ" - .DA #8,#3 - .AS "F0r" -E.BEQ .HS 00 - .DA #E.BIT-* - >PSTR "BIT" - .DA #2,#3 - .AS "24a" - .DA #4,#4 - .AS "2Caa" -E.BIT .HS 00 - .DA #E.BMI-* - >PSTR "BMI" - .DA #8,#3 - .AS "30r" -E.BMI .HS 00 - .DA #E.BNE-* - >PSTR "BNE" - .DA #8,#3 - .AS "D0r" -E.BNE .HS 00 - .DA #E.BPL-* - >PSTR "BPL" - .DA #8,#3 - .AS "10r" -E.BPL .HS 00 - .DA #E.BRK-* - >PSTR "BRK" - .DA #255,#2 - .AS "00" -E.BRK .HS 00 - .DA #E.BVC-* - >PSTR "BVC" - .DA #8,#3 - .AS "50r" -E.BVC .HS 00 - .DA #E.BVS-* - >PSTR "BVS" - .DA #8,#3 - .AS "70r" -E.BVS .HS 00 - .DA #E.CLC-* - >PSTR "CLC" - .DA #255,#2 - .AS "18" -E.CLC .HS 00 - .DA #E.CLD-* - >PSTR "CLD" - .DA #255,#2 - .AS "D8" -E.CLD .HS 00 - .DA #E.CLI-* - >PSTR "CLI" - .DA #255,#2 - .AS "58" -E.CLI .HS 00 - .DA #E.CLV-* - >PSTR "CLV" - .DA #255,#2 - .AS "B8" -E.CLV .HS 00 - .DA #E.CMP-* - >PSTR "CMP" - .DA #0,#3 - .AS "D1a" - .DA #1,#3 - .AS "C1a" - .DA #2,#3 - .AS "C5a" - .DA #3,#3 - .AS "D5a" - .DA #4,#4 - .AS "CDaa" - .DA #5,#4 - .AS "DDaa" - .DA #6,#4 - .AS "D9aa" - .DA #7,#3 - .AS "C9i" -E.CMP .HS 00 - .DA #E.CPX-* - >PSTR "CPX" - .DA #2,#3 - .AS "E4a" - .DA #4,#4 - .AS "Ecaa" - .DA #7,#3 - .AS "E0i" -E.CPX .HS 00 - .DA #E.CPY-* - >PSTR "CPY" - .DA #2,#3 - .AS "C4a" - .DA #4,#4 - .AS "Ccaa" - .DA #7,#3 - .AS "C0i" -E.CPY .HS 00 - .DA #E.DEC-* - >PSTR "DEC" - .DA #2,#3 - .AS "C6a" - .DA #3,#3 - .AS "D6a" - .DA #4,#4 - .AS "Ceaa" - .DA #5,#4 - .AS "Deaa" -E.DEC .HS 00 - .DA #E.DEX-* - >PSTR "DEX" - .DA #255,#2 - .AS "CA" -E.DEX .HS 00 - .DA #E.DEY-* - >PSTR "DEY" - .DA #255,#2 - .AS "88" -E.DEY .HS 00 - .DA #E.EOR-* - >PSTR "EOR" - .DA #0,#3 - .AS "51a" - .DA #1,#3 - .AS "41a" - .DA #2,#3 - .AS "45a" - .DA #3,#3 - .AS "55a" - .DA #4,#4 - .AS "4Daa" - .DA #5,#4 - .AS "5Daa" - .DA #6,#4 - .AS "59aa" - .DA #7,#3 - .AS "49i" -E.EOR .HS 00 - .DA #E.INC-* - >PSTR "INC" - .DA #2,#3 - .AS "E6a" - .DA #3,#3 - .AS "F6a" - .DA #4,#4 - .AS "Eeaa" - .DA #5,#4 - .AS "Feaa" -E.INC .HS 00 - .DA #E.INX-* - >PSTR "INX" - .DA #255,#2 - .AS "E8" -E.INX .HS 00 - .DA #E.INY-* - >PSTR "INY" - .DA #255,#2 - .AS "C8" -E.INY .HS 00 - .DA #E.JMP-* - >PSTR "JMP" - .DA #9,#4 - .AS "6Caa" - .DA #4,#4 - .AS "4Caa" -E.JMP .HS 00 - .DA #E.JSR-* - >PSTR "JSR" - .DA #4,#4 - .AS "20aa" -E.JSR .HS 00 - .DA #E.LDA-* - >PSTR "LDA" - .DA #0,#3 - .AS "B1a" - .DA #1,#3 - .AS "A1a" - .DA #2,#3 - .AS "A5a" - .DA #3,#3 - .AS "B5a" - .DA #4,#4 - .AS "Adaa" - .DA #5,#4 - .AS "Bdaa" - .DA #6,#4 - .AS "B9aa" - .DA #7,#3 - .AS "A9i" -E.LDA .HS 00 - .DA #E.LDX-* - >PSTR "LDX" - .DA #2,#3 - .AS "A6a" - .DA #10,#3 - .AS "B6a" - .DA #4,#4 - .AS "Aeaa" - .DA #6,#4 - .AS "Beaa" - .DA #7,#3 - .AS "A2i" -E.LDX .HS 00 - .DA #E.LDY-* - >PSTR "LDY" - .DA #2,#3 - .AS "A4a" - .DA #3,#3 - .AS "B4a" - .DA #4,#4 - .AS "Acaa" - .DA #5,#4 - .AS "Bcaa" - .DA #7,#3 - .AS "A0i" -E.LDY .HS 00 - .DA #E.LSR-* - >PSTR "LSR" - .DA #2,#3 - .AS "46a" - .DA #3,#3 - .AS "56a" - .DA #4,#4 - .AS "4Eaa" - .DA #5,#4 - .AS "5Eaa" - .DA #255,#2 - .AS "4A" -E.LSR .HS 00 - .DA #E.NOP-* - >PSTR "NOP" - .DA #255,#2 - .AS "EA" -E.NOP .HS 00 - .DA #E.ORA-* - >PSTR "ORA" - .DA #0,#3 - .AS "11a" - .DA #1,#3 - .AS "01a" - .DA #2,#3 - .AS "05a" - .DA #3,#3 - .AS "15a" - .DA #4,#4 - .AS "0Daa" - .DA #5,#4 - .AS "1Daa" - .DA #6,#4 - .AS "19aa" - .DA #7,#3 - .AS "09i" -E.ORA .HS 00 - .DA #E.PHA-* - >PSTR "PHA" - .DA #255,#2 - .AS "48" -E.PHA .HS 00 - .DA #E.PHP-* - >PSTR "PHP" - .DA #255,#2 - .AS "08" -E.PHP .HS 00 - .DA #E.PLA-* - >PSTR "PLA" - .DA #255,#2 - .AS "68" -E.PLA .HS 00 - .DA #E.PLP-* - >PSTR "PLP" - .DA #255,#2 - .AS "28" -E.PLP .HS 00 - .DA #E.ROL-* - >PSTR "ROL" - .DA #2,#3 - .AS "26a" - .DA #3,#3 - .AS "36a" - .DA #4,#4 - .AS "2Eaa" - .DA #5,#4 - .AS "3Eaa" - .DA #255,#2 - .AS "2A" -E.ROL .HS 00 - .DA #E.ROR-* - >PSTR "ROR" - .DA #2,#3 - .AS "66a" - .DA #3,#3 - .AS "76a" - .DA #4,#4 - .AS "6Eaa" - .DA #5,#4 - .AS "7Eaa" - .DA #255,#2 - .AS "6A" -E.ROR .HS 00 - .DA #E.RTI-* - >PSTR "RTI" - .DA #255,#2 - .AS "40" -E.RTI .HS 00 - .DA #E.RTS-* - >PSTR "RTS" - .DA #255,#2 - .AS "60" -E.RTS .HS 00 - .DA #E.SBC-* - >PSTR "SBC" - .DA #0,#3 - .AS "F1a" - .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 -*--------------------------------------- + .LIST OFF +T.OPCODES .EQ * +ADC .DA ADC.E+1 + .HS 03 + .AS "ADC" + .HS 00.03373161 + .HS 01.03363161 + .HS 02.03363561 + .HS 03.03373561 + .HS 04.0436446161 + .HS 05.0437446161 + .HS 06.0437396161 + .HS 07.03363969 +ADC.E .HS 00 +AND .DA AND.E+1 + .HS 03 + .AS "AND" + .HS 00.03333161 + .HS 01.03323161 + .HS 02.03323561 + .HS 03.03333561 + .HS 04.0432446161 + .HS 05.0433446161 + .HS 06.0433396161 + .HS 07.03323969 +AND.E .HS 00 +ASL .DA ASL.E+1 + .HS 03 + .AS "ASL" + .HS 02.03303661 + .HS 03.03313661 + .HS 04.0430456161 + .HS 05.0431456161 + .HS FF.023041 +ASL.E .HS 00 +BCC .DA BCC.E+1 + .HS 03 + .AS "BCC" + .HS 08.03393072 +BCC.E .HS 00 +BCS .DA BCS.E+1 + .HS 03 + .AS "BCS" + .HS 08.03423072 +BCS.E .HS 00 +BEQ .DA BEQ.E+1 + .HS 03 + .AS "BEQ" + .HS 08.03463072 +BEQ.E .HS 00 +BIT .DA BIT.E+1 + .HS 03 + .AS "BIT" + .HS 02.03323461 + .HS 04.0432436161 +BIT.E .HS 00 +BMI .DA BMI.E+1 + .HS 03 + .AS "BMI" + .HS 08.03333072 +BMI.E .HS 00 +BNE .DA BNE.E+1 + .HS 03 + .AS "BNE" + .HS 08.03443072 +BNE.E .HS 00 +BPL .DA BPL.E+1 + .HS 03 + .AS "BPL" + .HS 08.03313072 +BPL.E .HS 00 +BRK .DA BRK.E+1 + .HS 03 + .AS "BRK" + .HS FF.023030 +BRK.E .HS 00 +BVC .DA BVC.E+1 + .HS 03 + .AS "BVC" + .HS 08.03353072 +BVC.E .HS 00 +BVS .DA BVS.E+1 + .HS 03 + .AS "BVS" + .HS 08.03373072 +BVS.E .HS 00 +CLC .DA CLC.E+1 + .HS 03 + .AS "CLC" + .HS FF.023138 +CLC.E .HS 00 +CLD .DA CLD.E+1 + .HS 03 + .AS "CLD" + .HS FF.024438 +CLD.E .HS 00 +CLI .DA CLI.E+1 + .HS 03 + .AS "CLI" + .HS FF.023538 +CLI.E .HS 00 +CLV .DA CLV.E+1 + .HS 03 + .AS "CLV" + .HS FF.024238 +CLV.E .HS 00 +CMP .DA CMP.E+1 + .HS 03 + .AS "CMP" + .HS 00.03443161 + .HS 01.03433161 + .HS 02.03433561 + .HS 03.03443561 + .HS 04.0443446161 + .HS 05.0444446161 + .HS 06.0444396161 + .HS 07.03433969 +CMP.E .HS 00 +CPX .DA CPX.E+1 + .HS 03 + .AS "CPX" + .HS 02.03453461 + .HS 04.0445636161 + .HS 07.03453069 +CPX.E .HS 00 +CPY .DA CPY.E+1 + .HS 03 + .AS "CPY" + .HS 02.03433461 + .HS 04.0443636161 + .HS 07.03433069 +CPY.E .HS 00 +DEC .DA DEC.E+1 + .HS 03 + .AS "DEC" + .HS 02.03433661 + .HS 03.03443661 + .HS 04.0443656161 + .HS 05.0444656161 +DEC.E .HS 00 +DEX .DA DEX.E+1 + .HS 03 + .AS "DEX" + .HS FF.024341 +DEX.E .HS 00 +DEY .DA DEY.E+1 + .HS 03 + .AS "DEY" + .HS FF.023838 +DEY.E .HS 00 +EOR .DA EOR.E+1 + .HS 03 + .AS "EOR" + .HS 00.03353161 + .HS 01.03343161 + .HS 02.03343561 + .HS 03.03353561 + .HS 04.0434446161 + .HS 05.0435446161 + .HS 06.0435396161 + .HS 07.03343969 +EOR.E .HS 00 +INC .DA INC.E+1 + .HS 03 + .AS "INC" + .HS 02.03453661 + .HS 03.03463661 + .HS 04.0445656161 + .HS 05.0446656161 +INC.E .HS 00 +INX .DA INX.E+1 + .HS 03 + .AS "INX" + .HS FF.024538 +INX.E .HS 00 +INY .DA INY.E+1 + .HS 03 + .AS "INY" + .HS FF.024338 +INY.E .HS 00 +JMP .DA JMP.E+1 + .HS 03 + .AS "JMP" + .HS 09.0436436161 + .HS 04.0434436161 +JMP.E .HS 00 +JSR .DA JSR.E+1 + .HS 03 + .AS "JSR" + .HS 04.0432306161 +JSR.E .HS 00 +LDA .DA LDA.E+1 + .HS 03 + .AS "LDA" + .HS 00.03423161 + .HS 01.03413161 + .HS 02.03413561 + .HS 03.03423561 + .HS 04.0441646161 + .HS 05.0442646161 + .HS 06.0442396161 + .HS 07.03413969 +LDA.E .HS 00 +LDX .DA LDX.E+1 + .HS 03 + .AS "LDX" + .HS 02.03413661 + .HS 0A.03423661 + .HS 04.0441656161 + .HS 06.0442656161 + .HS 07.03413269 +LDX.E .HS 00 +LDY .DA LDY.E+1 + .HS 03 + .AS "LDY" + .HS 02.03413461 + .HS 03.03423461 + .HS 04.0441636161 + .HS 05.0442636161 + .HS 07.03413069 +LDY.E .HS 00 +LSR .DA LSR.E+1 + .HS 03 + .AS "LSR" + .HS 02.03343661 + .HS 03.03353661 + .HS 04.0434456161 + .HS 05.0435456161 + .HS FF.023441 +LSR.E .HS 00 +NOP .DA NOP.E+1 + .HS 03 + .AS "NOP" + .HS FF.024541 +NOP.E .HS 00 +ORA .DA ORA.E+1 + .HS 03 + .AS "ORA" + .HS 00.03313161 + .HS 01.03303161 + .HS 02.03303561 + .HS 03.03313561 + .HS 04.0430446161 + .HS 05.0431446161 + .HS 06.0431396161 + .HS 07.03303969 +ORA.E .HS 00 +PHA .DA PHA.E+1 + .HS 03 + .AS "PHA" + .HS FF.023438 +PHA.E .HS 00 +PHP .DA PHP.E+1 + .HS 03 + .AS "PHP" + .HS FF.023038 +PHP.E .HS 00 +PLA .DA PLA.E+1 + .HS 03 + .AS "PLA" + .HS FF.023638 +PLA.E .HS 00 +PLP .DA PLP.E+1 + .HS 03 + .AS "PLP" + .HS FF.023238 +PLP.E .HS 00 +ROL .DA ROL.E+1 + .HS 03 + .AS "ROL" + .HS 02.03323661 + .HS 03.03333661 + .HS 04.0432456161 + .HS 05.0433456161 + .HS FF.023241 +ROL.E .HS 00 +ROR .DA ROR.E+1 + .HS 03 + .AS "ROR" + .HS 02.03363661 + .HS 03.03373661 + .HS 04.0436456161 + .HS 05.0437456161 + .HS FF.023641 +ROR.E .HS 00 +RTI .DA RTI.E+1 + .HS 03 + .AS "RTI" + .HS FF.023430 +RTI.E .HS 00 +RTS .DA RTS.E+1 + .HS 03 + .AS "RTS" + .HS FF.023630 +RTS.E .HS 00 +SBC .DA SBC.E+1 + .HS 03 + .AS "SBC" + .HS 00.03463161 + .HS 01.03453161 + .HS 02.03453561 + .HS 03.03463561 + .HS 04.0445646161 + .HS 05.0446646161 + .HS 06.0446396161 + .HS 07.03453969 +SBC.E .HS 00 +SEC .DA SEC.E+1 + .HS 03 + .AS "SEC" + .HS FF.023338 +SEC.E .HS 00 +SED .DA SED.E+1 + .HS 03 + .AS "SED" + .HS FF.024638 +SED.E .HS 00 +SEI .DA SEI.E+1 + .HS 03 + .AS "SEI" + .HS FF.023738 +SEI.E .HS 00 +STA .DA STA.E+1 + .HS 03 + .AS "STA" + .HS 00.03393161 + .HS 01.03383161 + .HS 02.03383561 + .HS 03.03393561 + .HS 04.0438446161 + .HS 05.0439446161 + .HS 06.0439396161 +STA.E .HS 00 +STX .DA STX.E+1 + .HS 03 + .AS "STX" + .HS 02.03383661 + .HS 0A.03393661 + .HS 04.0438456161 +STX.E .HS 00 +STY .DA STY.E+1 + .HS 03 + .AS "STY" + .HS 02.03383461 + .HS 03.03393461 + .HS 04.0438436161 +STY.E .HS 00 +TAX .DA TAX.E+1 + .HS 03 + .AS "TAX" + .HS FF.024141 +TAX.E .HS 00 +TAY .DA TAY.E+1 + .HS 03 + .AS "TAY" + .HS FF.024138 +TAY.E .HS 00 +TSX .DA TSX.E+1 + .HS 03 + .AS "TSX" + .HS FF.024241 +TSX.E .HS 00 +TXA .DA TXA.E+1 + .HS 03 + .AS "TXA" + .HS FF.023841 +TXA.E .HS 00 +TXS .DA TXS.E+1 + .HS 03 + .AS "TXS" + .HS FF.023941 +TXS.E .HS 00 +TYA .DA TYA.E+1 + .HS 03 + .AS "TYA" + .HS FF.023938 +TYA.E .HS 00 + .HS 0000 MAN SAVE BIN/ASM.T.6502.O LOAD BIN/ASM.T.6502.S diff --git a/BIN/ASM.T.6502.S.txt b/BIN/ASM.T.6502.S.txt index 59056c9d..b075765e 100644 --- a/BIN/ASM.T.6502.S.txt +++ b/BIN/ASM.T.6502.S.txt @@ -3,40 +3,40 @@ PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .LIST OFF - .OR $2000 - .TF /A2OSX.BOOT/BIN/ASM.T.6502 + .LIST OFF + .OR $0 + .TF /A2OSX.BOOT/BIN/ASM.T.6502 *--------------------------------------- - .MA PSTR - .DA #:1-*-1 - .AS "]1" -:1 .EQ * - .EM + .MA ST + .DA #:1-*-1 + .AS "]1" +:1 .EQ * + .EM *--------------------------------------- - .DA T.ADDR.MODES - .DA T.REGISTERS - .DA T.OPCODES + .DA T.ADDR.MODES + .DA T.REGISTERS + .DA T.OPCODES *--------------------------------------- T.ADDR.MODES .EQ * - >PSTR "(a),Y" - >PSTR "(a,X)" - >PSTR "a" - >PSTR "a,X" - >PSTR "aa" - >PSTR "aa,X" - >PSTR "aa,Y" - >PSTR "i" - >PSTR "r" - >PSTR "(aa)" - >PSTR "a,Y" - .HS 00 + >ST "(a),Y" + >ST "(a,X)" + >ST "a" + >ST "a,X" + >ST "aa" + >ST "aa,X" + >ST "aa,Y" + >ST "i" + >ST "r" + >ST "(aa)" + >ST "a,Y" + .HS 00 *--------------------------------------- -T.REGISTERS .EQ * - >PSTR "Y" - >PSTR "X" - .HS 00 +T.REGISTERS .EQ * + >ST "Y" + >ST "X" + .HS 00 *--------------------------------------- - .INB BIN/ASM.T.6502.O + .INB BIN/ASM.T.6502.O *--------------------------------------- MAN SAVE BIN/ASM.T.6502.S diff --git a/BIN/ASM.T.65816.O.txt b/BIN/ASM.T.65816.O.txt index fdc02d10..a60e6280 100644 --- a/BIN/ASM.T.65816.O.txt +++ b/BIN/ASM.T.65816.O.txt @@ -3,793 +3,625 @@ PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .LIST OFF -*--------------------------------------- -T.OPCODES .EQ * - .DA #E.ADC-* - >PSTR "ADC" - .DA #0,#3 - .AS "72a" - .DA #1,#3 - .AS "71a" - .DA #2,#3 - .AS "73a" - .DA #3,#3 - .AS "61a" - .DA #4,#3 - .AS "67a" - .DA #5,#3 - .AS "77a" - .DA #6,#3 - .AS "65a" - .DA #7,#3 - .AS "75a" - .DA #8,#4 - .AS "6Daa" - .DA #9,#4 - .AS "7Daa" - .DA #10,#4 - .AS "79aa" - .DA #11,#5 - .AS "6Faaa" - .DA #12,#5 - .AS "7Faaa" - .DA #13,#3 - .AS "69i" - .DA #14,#3 - .AS "63a" -E.ADC .HS 00 - .DA #E.AND-* - >PSTR "AND" - .DA #0,#3 - .AS "32a" - .DA #1,#3 - .AS "31a" - .DA #2,#3 - .AS "33a" - .DA #3,#3 - .AS "21a" - .DA #4,#3 - .AS "27a" - .DA #5,#3 - .AS "37a" - .DA #6,#3 - .AS "25a" - .DA #7,#3 - .AS "35a" - .DA #8,#4 - .AS "2Daa" - .DA #9,#4 - .AS "3Daa" - .DA #10,#4 - .AS "39aa" - .DA #11,#5 - .AS "2Faaa" - .DA #12,#5 - .AS "3Faaa" - .DA #13,#3 - .AS "29i" - .DA #14,#3 - .AS "23a" -E.AND .HS 00 - .DA #E.ASL-* - >PSTR "ASL" - .DA #6,#3 - .AS "06a" - .DA #7,#3 - .AS "16a" - .DA #8,#4 - .AS "0Eaa" - .DA #9,#4 - .AS "1Eaa" - .DA #255,#2 - .AS "0A" -E.ASL .HS 00 - .DA #E.BCC-* - >PSTR "BCC" - .DA #15,#3 - .AS "90r" -E.BCC .HS 00 - .DA #E.BCS-* - >PSTR "BCS" - .DA #15,#3 - .AS "B0r" -E.BCS .HS 00 - .DA #E.BEQ-* - >PSTR "BEQ" - .DA #15,#3 - .AS "F0r" -E.BEQ .HS 00 - .DA #E.BIT-* - >PSTR "BIT" - .DA #6,#3 - .AS "24a" - .DA #7,#3 - .AS "34a" - .DA #8,#4 - .AS "2Caa" - .DA #9,#4 - .AS "3Caa" - .DA #13,#3 - .AS "89i" -E.BIT .HS 00 - .DA #E.BMI-* - >PSTR "BMI" - .DA #15,#3 - .AS "30r" -E.BMI .HS 00 - .DA #E.BNE-* - >PSTR "BNE" - .DA #15,#3 - .AS "D0r" -E.BNE .HS 00 - .DA #E.BPL-* - >PSTR "BPL" - .DA #15,#3 - .AS "10r" -E.BPL .HS 00 - .DA #E.BRA-* - >PSTR "BRA" - .DA #15,#3 - .AS "80r" -E.BRA .HS 00 - .DA #E.BRK-* - >PSTR "BRK" - .DA #255,#2 - .AS "00" -E.BRK .HS 00 - .DA #E.BRL-* - >PSTR "BRL" - .DA #16,#4 - .AS "82rr" -E.BRL .HS 00 - .DA #E.BVC-* - >PSTR "BVC" - .DA #15,#3 - .AS "50r" -E.BVC .HS 00 - .DA #E.BVS-* - >PSTR "BVS" - .DA #15,#3 - .AS "70r" -E.BVS .HS 00 - .DA #E.CLC-* - >PSTR "CLC" - .DA #255,#2 - .AS "18" -E.CLC .HS 00 - .DA #E.CLD-* - >PSTR "CLD" - .DA #255,#2 - .AS "D8" -E.CLD .HS 00 - .DA #E.CLI-* - >PSTR "CLI" - .DA #255,#2 - .AS "58" -E.CLI .HS 00 - .DA #E.CLV-* - >PSTR "CLV" - .DA #255,#2 - .AS "B8" -E.CLV .HS 00 - .DA #E.CMP-* - >PSTR "CMP" - .DA #0,#3 - .AS "D2a" - .DA #1,#3 - .AS "D1a" - .DA #2,#3 - .AS "D3a" - .DA #3,#3 - .AS "C1a" - .DA #4,#3 - .AS "C7a" - .DA #5,#3 - .AS "D7a" - .DA #6,#3 - .AS "C5a" - .DA #7,#3 - .AS "D5a" - .DA #8,#4 - .AS "CDaa" - .DA #9,#4 - .AS "DDaa" - .DA #10,#4 - .AS "D9aa" - .DA #11,#5 - .AS "CFaaa" - .DA #12,#5 - .AS "DFaaa" - .DA #13,#3 - .AS "C9i" - .DA #14,#3 - .AS "C3a" -E.CMP .HS 00 - .DA #E.COP-* - >PSTR "COP" - .DA #13,#3 - .AS "02i" -E.COP .HS 00 - .DA #E.CPX-* - >PSTR "CPX" - .DA #6,#3 - .AS "E4a" - .DA #8,#4 - .AS "ECaa" - .DA #13,#3 - .AS "E0i" -E.CPX .HS 00 - .DA #E.CPY-* - >PSTR "CPY" - .DA #6,#3 - .AS "C4a" - .DA #8,#4 - .AS "CCaa" - .DA #13,#3 - .AS "C0i" -E.CPY .HS 00 - .DA #E.DEC-* - >PSTR "DEC" - .DA #6,#3 - .AS "C6a" - .DA #7,#3 - .AS "D6a" - .DA #8,#4 - .AS "CEaa" - .DA #9,#4 - .AS "DEaa" - .DA #255,#2 - .AS "3A" -E.DEC .HS 00 - .DA #E.DEX-* - >PSTR "DEX" - .DA #255,#2 - .AS "CA" -E.DEX .HS 00 - .DA #E.DEY-* - >PSTR "DEY" - .DA #255,#2 - .AS "88" -E.DEY .HS 00 - .DA #E.EOR-* - >PSTR "EOR" - .DA #0,#3 - .AS "52a" - .DA #1,#3 - .AS "51a" - .DA #2,#3 - .AS "53a" - .DA #3,#3 - .AS "41a" - .DA #4,#3 - .AS "47a" - .DA #5,#3 - .AS "57a" - .DA #6,#3 - .AS "45a" - .DA #7,#3 - .AS "55a" - .DA #8,#4 - .AS "4Daa" - .DA #9,#4 - .AS "5Daa" - .DA #10,#4 - .AS "59aa" - .DA #11,#5 - .AS "4Faaa" - .DA #12,#5 - .AS "5Faaa" - .DA #13,#3 - .AS "49i" - .DA #14,#3 - .AS "43a" -E.EOR .HS 00 - .DA #E.INC-* - >PSTR "INC" - .DA #6,#3 - .AS "E6a" - .DA #7,#3 - .AS "F6a" - .DA #8,#4 - .AS "EEaa" - .DA #9,#4 - .AS "FEaa" - .DA #255,#2 - .AS "1A" -E.INC .HS 00 - .DA #E.INX-* - >PSTR "INX" - .DA #255,#2 - .AS "E8" -E.INX .HS 00 - .DA #E.INY-* - >PSTR "INY" - .DA #255,#2 - .AS "C8" -E.INY .HS 00 - .DA #E.JMP-* - >PSTR "JMP" - .DA #17,#4 - .AS "6Caa" - .DA #18,#4 - .AS "7Caa" - .DA #19,#4 - .AS "DCaa" - .DA #8,#4 - .AS "4Caa" - .DA #11,#5 - .AS "5Caaa" -E.JMP .HS 00 - .DA #E.JSR-* - >PSTR "JSR" - .DA #18,#4 - .AS "FCaa" - .DA #8,#4 - .AS "20aa" - .DA #11,#5 - .AS "22aaa" -E.JSR .HS 00 - .DA #E.LDA-* - >PSTR "LDA" - .DA #0,#3 - .AS "B2a" - .DA #1,#3 - .AS "B1a" - .DA #2,#3 - .AS "B3a" - .DA #3,#3 - .AS "A1a" - .DA #4,#3 - .AS "A7a" - .DA #5,#3 - .AS "B7a" - .DA #6,#3 - .AS "A5a" - .DA #7,#3 - .AS "B5a" - .DA #8,#4 - .AS "ADaa" - .DA #9,#4 - .AS "BDaa" - .DA #10,#4 - .AS "B9aa" - .DA #11,#5 - .AS "AFaaa" - .DA #12,#5 - .AS "BFaaa" - .DA #13,#3 - .AS "A9i" - .DA #14,#3 - .AS "A3a" -E.LDA .HS 00 - .DA #E.LDX-* - >PSTR "LDX" - .DA #6,#3 - .AS "A6a" - .DA #20,#3 - .AS "B6a" - .DA #8,#4 - .AS "AEaa" - .DA #10,#4 - .AS "BEaa" - .DA #13,#3 - .AS "A2i" -E.LDX .HS 00 - .DA #E.LDY-* - >PSTR "LDY" - .DA #6,#3 - .AS "A4a" - .DA #7,#3 - .AS "B4a" - .DA #8,#4 - .AS "ACaa" - .DA #9,#4 - .AS "BCaa" - .DA #13,#3 - .AS "A0i" -E.LDY .HS 00 - .DA #E.LSR-* - >PSTR "LSR" - .DA #6,#3 - .AS "46a" - .DA #7,#3 - .AS "56a" - .DA #8,#4 - .AS "4Eaa" - .DA #9,#4 - .AS "5Eaa" - .DA #255,#2 - .AS "4A" -E.LSR .HS 00 - .DA #E.MVN-* - >PSTR "MVN" - .DA #21,#4 - .AS "54aa" -E.MVN .HS 00 - .DA #E.MVP-* - >PSTR "MVP" - .DA #21,#4 - .AS "44aa" -E.MVP .HS 00 - .DA #E.NOP-* - >PSTR "NOP" - .DA #255,#2 - .AS "EA" -E.NOP .HS 00 - .DA #E.ORA-* - >PSTR "ORA" - .DA #0,#3 - .AS "12a" - .DA #1,#3 - .AS "11a" - .DA #2,#3 - .AS "13a" - .DA #3,#3 - .AS "01a" - .DA #4,#3 - .AS "07a" - .DA #5,#3 - .AS "17a" - .DA #6,#3 - .AS "05a" - .DA #7,#3 - .AS "15a" - .DA #8,#4 - .AS "0Daa" - .DA #9,#4 - .AS "1Daa" - .DA #10,#4 - .AS "19aa" - .DA #11,#5 - .AS "0Faaa" - .DA #12,#5 - .AS "1Faaa" - .DA #13,#3 - .AS "09i" - .DA #14,#3 - .AS "03a" -E.ORA .HS 00 - .DA #E.PEA-* - >PSTR "PEA" - .DA #8,#4 - .AS "F4aa" -E.PEA .HS 00 - .DA #E.PEI-* - >PSTR "PEI" - .DA #0,#3 - .AS "D4a" -E.PEI .HS 00 - .DA #E.PER-* - >PSTR "PER" - .DA #16,#4 - .AS "62rr" -E.PER .HS 00 - .DA #E.PHA-* - >PSTR "PHA" - .DA #255,#2 - .AS "48" -E.PHA .HS 00 - .DA #E.PHB-* - >PSTR "PHB" - .DA #255,#2 - .AS "8B" -E.PHB .HS 00 - .DA #E.PHD-* - >PSTR "PHD" - .DA #255,#2 - .AS "0B" -E.PHD .HS 00 - .DA #E.PHK-* - >PSTR "PHK" - .DA #255,#2 - .AS "4B" -E.PHK .HS 00 - .DA #E.PHP-* - >PSTR "PHP" - .DA #255,#2 - .AS "08" -E.PHP .HS 00 - .DA #E.PHX-* - >PSTR "PHX" - .DA #255,#2 - .AS "DA" -E.PHX .HS 00 - .DA #E.PHY-* - >PSTR "PHY" - .DA #255,#2 - .AS "5A" -E.PHY .HS 00 - .DA #E.PLA-* - >PSTR "PLA" - .DA #255,#2 - .AS "68" -E.PLA .HS 00 - .DA #E.PLB-* - >PSTR "PLB" - .DA #255,#2 - .AS "AB" -E.PLB .HS 00 - .DA #E.PLD-* - >PSTR "PLD" - .DA #255,#2 - .AS "2B" -E.PLD .HS 00 - .DA #E.PLP-* - >PSTR "PLP" - .DA #255,#2 - .AS "28" -E.PLP .HS 00 - .DA #E.PLX-* - >PSTR "PLX" - .DA #255,#2 - .AS "FA" -E.PLX .HS 00 - .DA #E.PLY-* - >PSTR "PLY" - .DA #255,#2 - .AS "7A" -E.PLY .HS 00 - .DA #E.REP-* - >PSTR "REP" - .DA #13,#3 - .AS "C2i" -E.REP .HS 00 - .DA #E.ROL-* - >PSTR "ROL" - .DA #6,#3 - .AS "26a" - .DA #7,#3 - .AS "36a" - .DA #8,#4 - .AS "2Eaa" - .DA #9,#4 - .AS "3Eaa" - .DA #255,#2 - .AS "2A" -E.ROL .HS 00 - .DA #E.ROR-* - >PSTR "ROR" - .DA #6,#3 - .AS "66a" - .DA #7,#3 - .AS "76a" - .DA #8,#4 - .AS "6Eaa" - .DA #9,#4 - .AS "7Eaa" - .DA #255,#2 - .AS "6A" -E.ROR .HS 00 - .DA #E.RTI-* - >PSTR "RTI" - .DA #255,#2 - .AS "40" -E.RTI .HS 00 - .DA #E.RTL-* - >PSTR "RTL" - .DA #255,#2 - .AS "6B" -E.RTL .HS 00 - .DA #E.RTS-* - >PSTR "RTS" - .DA #255,#2 - .AS "60" -E.RTS .HS 00 - .DA #E.SBC-* - >PSTR "SBC" - .DA #0,#3 - .AS "F2a" - .DA #1,#3 - .AS "F1a" - .DA #2,#3 - .AS "F3a" - .DA #3,#3 - .AS "E1a" - .DA #4,#3 - .AS "E7a" - .DA #5,#3 - .AS "F7a" - .DA #6,#3 - .AS "E5a" - .DA #7,#3 - .AS "F5a" - .DA #8,#4 - .AS "EDaa" - .DA #9,#4 - .AS "FDaa" - .DA #10,#4 - .AS "F9aa" - .DA #11,#5 - .AS "EFaaa" - .DA #12,#5 - .AS "FFaaa" - .DA #13,#3 - .AS "E9i" - .DA #14,#3 - .AS "E3a" -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.SEP-* - >PSTR "SEP" - .DA #255,#2 - .AS "E2" -E.SEP .HS 00 - .DA #E.STA-* - >PSTR "STA" - .DA #0,#3 - .AS "92a" - .DA #1,#3 - .AS "91a" - .DA #2,#3 - .AS "93a" - .DA #3,#3 - .AS "81a" - .DA #4,#3 - .AS "87a" - .DA #5,#3 - .AS "97a" - .DA #6,#3 - .AS "85a" - .DA #7,#3 - .AS "95a" - .DA #8,#4 - .AS "8Daa" - .DA #9,#4 - .AS "9Daa" - .DA #10,#4 - .AS "99aa" - .DA #11,#5 - .AS "8Faaa" - .DA #12,#5 - .AS "9Faaa" - .DA #14,#3 - .AS "83a" -E.STA .HS 00 - .DA #E.STP-* - >PSTR "STP" - .DA #255,#2 - .AS "DB" -E.STP .HS 00 - .DA #E.STX-* - >PSTR "STX" - .DA #6,#3 - .AS "86a" - .DA #20,#3 - .AS "96a" - .DA #8,#4 - .AS "8Eaa" -E.STX .HS 00 - .DA #E.STY-* - >PSTR "STY" - .DA #6,#3 - .AS "84a" - .DA #7,#3 - .AS "94a" - .DA #8,#4 - .AS "8Caa" -E.STY .HS 00 - .DA #E.STZ-* - >PSTR "STZ" - .DA #6,#3 - .AS "64a" - .DA #7,#3 - .AS "74a" - .DA #8,#4 - .AS "9Caa" - .DA #9,#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.TCD-* - >PSTR "TCD" - .DA #255,#2 - .AS "5B" -E.TCD .HS 00 - .DA #E.TCS-* - >PSTR "TCS" - .DA #255,#2 - .AS "1B" -E.TCS .HS 00 - .DA #E.TDC-* - >PSTR "TDC" - .DA #255,#2 - .AS "7B" -E.TDC .HS 00 - .DA #E.TRB-* - >PSTR "TRB" - .DA #6,#3 - .AS "14a" - .DA #8,#4 - .AS "1Caa" -E.TRB .HS 00 - .DA #E.TSB-* - >PSTR "TSB" - .DA #6,#3 - .AS "04a" - .DA #8,#4 - .AS "0Caa" -E.TSB .HS 00 - .DA #E.TSC-* - >PSTR "TSC" - .DA #255,#2 - .AS "3B" -E.TSC .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.TXY-* - >PSTR "TXY" - .DA #255,#2 - .AS "9B" -E.TXY .HS 00 - .DA #E.TYA-* - >PSTR "TYA" - .DA #255,#2 - .AS "98" -E.TYA .HS 00 - .DA #E.TYX-* - >PSTR "TYX" - .DA #255,#2 - .AS "BB" -E.TYX .HS 00 - .DA #E.WAI-* - >PSTR "WAI" - .DA #255,#2 - .AS "CB" -E.WAI .HS 00 - .DA #E.WDM-* - >PSTR "WDM" - .DA #255,#2 - .AS "42" -E.WDM .HS 00 - .DA #E.XBA-* - >PSTR "XBA" - .DA #255,#2 - .AS "EB" -E.XBA .HS 00 - .DA #E.XCE-* - >PSTR "XCE" - .DA #255,#2 - .AS "FB" -E.XCE .HS 00 - .HS 00 -*--------------------------------------- + .LIST OFF +T.OPCODES .EQ * +ADC .DA ADC.E+1 + .HS 03 + .AS "ADC" + .HS 00.03373261 + .HS 01.03373161 + .HS 02.03373361 + .HS 03.03363161 + .HS 04.03363761 + .HS 05.03373761 + .HS 06.03363561 + .HS 07.03373561 + .HS 08.0436446161 + .HS 09.0437446161 + .HS 0A.0437396161 + .HS 0B.053646616161 + .HS 0C.053746616161 + .HS 0D.03363969 + .HS 0E.03363361 +ADC.E .HS 00 +AND .DA AND.E+1 + .HS 03 + .AS "AND" + .HS 00.03333261 + .HS 01.03333161 + .HS 02.03333361 + .HS 03.03323161 + .HS 04.03323761 + .HS 05.03333761 + .HS 06.03323561 + .HS 07.03333561 + .HS 08.0432446161 + .HS 09.0433446161 + .HS 0A.0433396161 + .HS 0B.053246616161 + .HS 0C.053346616161 + .HS 0D.03323969 + .HS 0E.03323361 +AND.E .HS 00 +ASL .DA ASL.E+1 + .HS 03 + .AS "ASL" + .HS 06.03303661 + .HS 07.03313661 + .HS 08.0430456161 + .HS 09.0431456161 + .HS FF.023041 +ASL.E .HS 00 +BCC .DA BCC.E+1 + .HS 03 + .AS "BCC" + .HS 0F.03393072 +BCC.E .HS 00 +BCS .DA BCS.E+1 + .HS 03 + .AS "BCS" + .HS 0F.03423072 +BCS.E .HS 00 +BEQ .DA BEQ.E+1 + .HS 03 + .AS "BEQ" + .HS 0F.03463072 +BEQ.E .HS 00 +BIT .DA BIT.E+1 + .HS 03 + .AS "BIT" + .HS 06.03323461 + .HS 07.03333461 + .HS 08.0432436161 + .HS 09.0433436161 + .HS 0D.03383969 +BIT.E .HS 00 +BMI .DA BMI.E+1 + .HS 03 + .AS "BMI" + .HS 0F.03333072 +BMI.E .HS 00 +BNE .DA BNE.E+1 + .HS 03 + .AS "BNE" + .HS 0F.03443072 +BNE.E .HS 00 +BPL .DA BPL.E+1 + .HS 03 + .AS "BPL" + .HS 0F.03313072 +BPL.E .HS 00 +BRA .DA BRA.E+1 + .HS 03 + .AS "BRA" + .HS 0F.03383072 +BRA.E .HS 00 +BRK .DA BRK.E+1 + .HS 03 + .AS "BRK" + .HS FF.023030 +BRK.E .HS 00 +BRL .DA BRL.E+1 + .HS 03 + .AS "BRL" + .HS 10.0438327272 +BRL.E .HS 00 +BVC .DA BVC.E+1 + .HS 03 + .AS "BVC" + .HS 0F.03353072 +BVC.E .HS 00 +BVS .DA BVS.E+1 + .HS 03 + .AS "BVS" + .HS 0F.03373072 +BVS.E .HS 00 +CLC .DA CLC.E+1 + .HS 03 + .AS "CLC" + .HS FF.023138 +CLC.E .HS 00 +CLD .DA CLD.E+1 + .HS 03 + .AS "CLD" + .HS FF.024438 +CLD.E .HS 00 +CLI .DA CLI.E+1 + .HS 03 + .AS "CLI" + .HS FF.023538 +CLI.E .HS 00 +CLV .DA CLV.E+1 + .HS 03 + .AS "CLV" + .HS FF.024238 +CLV.E .HS 00 +CMP .DA CMP.E+1 + .HS 03 + .AS "CMP" + .HS 00.03443261 + .HS 01.03443161 + .HS 02.03443361 + .HS 03.03433161 + .HS 04.03433761 + .HS 05.03443761 + .HS 06.03433561 + .HS 07.03443561 + .HS 08.0443446161 + .HS 09.0444446161 + .HS 0A.0444396161 + .HS 0B.054346616161 + .HS 0C.054446616161 + .HS 0D.03433969 + .HS 0E.03433361 +CMP.E .HS 00 +COP .DA COP.E+1 + .HS 03 + .AS "COP" + .HS 0D.03303269 +COP.E .HS 00 +CPX .DA CPX.E+1 + .HS 03 + .AS "CPX" + .HS 06.03453461 + .HS 08.0445436161 + .HS 0D.03453069 +CPX.E .HS 00 +CPY .DA CPY.E+1 + .HS 03 + .AS "CPY" + .HS 06.03433461 + .HS 08.0443436161 + .HS 0D.03433069 +CPY.E .HS 00 +DEC .DA DEC.E+1 + .HS 03 + .AS "DEC" + .HS 06.03433661 + .HS 07.03443661 + .HS 08.0443456161 + .HS 09.0444456161 + .HS FF.023341 +DEC.E .HS 00 +DEX .DA DEX.E+1 + .HS 03 + .AS "DEX" + .HS FF.024341 +DEX.E .HS 00 +DEY .DA DEY.E+1 + .HS 03 + .AS "DEY" + .HS FF.023838 +DEY.E .HS 00 +EOR .DA EOR.E+1 + .HS 03 + .AS "EOR" + .HS 00.03353261 + .HS 01.03353161 + .HS 02.03353361 + .HS 03.03343161 + .HS 04.03343761 + .HS 05.03353761 + .HS 06.03343561 + .HS 07.03353561 + .HS 08.0434446161 + .HS 09.0435446161 + .HS 0A.0435396161 + .HS 0B.053446616161 + .HS 0C.053546616161 + .HS 0D.03343969 + .HS 0E.03343361 +EOR.E .HS 00 +INC .DA INC.E+1 + .HS 03 + .AS "INC" + .HS 06.03453661 + .HS 07.03463661 + .HS 08.0445456161 + .HS 09.0446456161 + .HS FF.023141 +INC.E .HS 00 +INX .DA INX.E+1 + .HS 03 + .AS "INX" + .HS FF.024538 +INX.E .HS 00 +INY .DA INY.E+1 + .HS 03 + .AS "INY" + .HS FF.024338 +INY.E .HS 00 +JMP .DA JMP.E+1 + .HS 03 + .AS "JMP" + .HS 11.0436436161 + .HS 12.0437436161 + .HS 13.0444436161 + .HS 08.0434436161 + .HS 0B.053543616161 +JMP.E .HS 00 +JSR .DA JSR.E+1 + .HS 03 + .AS "JSR" + .HS 12.0446436161 + .HS 08.0432306161 + .HS 0B.053232616161 +JSR.E .HS 00 +LDA .DA LDA.E+1 + .HS 03 + .AS "LDA" + .HS 00.03423261 + .HS 01.03423161 + .HS 02.03423361 + .HS 03.03413161 + .HS 04.03413761 + .HS 05.03423761 + .HS 06.03413561 + .HS 07.03423561 + .HS 08.0441446161 + .HS 09.0442446161 + .HS 0A.0442396161 + .HS 0B.054146616161 + .HS 0C.054246616161 + .HS 0D.03413969 + .HS 0E.03413361 +LDA.E .HS 00 +LDX .DA LDX.E+1 + .HS 03 + .AS "LDX" + .HS 06.03413661 + .HS 14.03423661 + .HS 08.0441456161 + .HS 0A.0442456161 + .HS 0D.03413269 +LDX.E .HS 00 +LDY .DA LDY.E+1 + .HS 03 + .AS "LDY" + .HS 06.03413461 + .HS 07.03423461 + .HS 08.0441436161 + .HS 09.0442436161 + .HS 0D.03413069 +LDY.E .HS 00 +LSR .DA LSR.E+1 + .HS 03 + .AS "LSR" + .HS 06.03343661 + .HS 07.03353661 + .HS 08.0434456161 + .HS 09.0435456161 + .HS FF.023441 +LSR.E .HS 00 +MVN .DA MVN.E+1 + .HS 03 + .AS "MVN" + .HS 15.0435346161 +MVN.E .HS 00 +MVP .DA MVP.E+1 + .HS 03 + .AS "MVP" + .HS 15.0434346161 +MVP.E .HS 00 +NOP .DA NOP.E+1 + .HS 03 + .AS "NOP" + .HS FF.024541 +NOP.E .HS 00 +ORA .DA ORA.E+1 + .HS 03 + .AS "ORA" + .HS 00.03313261 + .HS 01.03313161 + .HS 02.03313361 + .HS 03.03303161 + .HS 04.03303761 + .HS 05.03313761 + .HS 06.03303561 + .HS 07.03313561 + .HS 08.0430446161 + .HS 09.0431446161 + .HS 0A.0431396161 + .HS 0B.053046616161 + .HS 0C.053146616161 + .HS 0D.03303969 + .HS 0E.03303361 +ORA.E .HS 00 +PEA .DA PEA.E+1 + .HS 03 + .AS "PEA" + .HS 08.0446346161 +PEA.E .HS 00 +PEI .DA PEI.E+1 + .HS 03 + .AS "PEI" + .HS 00.03443461 +PEI.E .HS 00 +PER .DA PER.E+1 + .HS 03 + .AS "PER" + .HS 10.0436327272 +PER.E .HS 00 +PHA .DA PHA.E+1 + .HS 03 + .AS "PHA" + .HS FF.023438 +PHA.E .HS 00 +PHB .DA PHB.E+1 + .HS 03 + .AS "PHB" + .HS FF.023842 +PHB.E .HS 00 +PHD .DA PHD.E+1 + .HS 03 + .AS "PHD" + .HS FF.023042 +PHD.E .HS 00 +PHK .DA PHK.E+1 + .HS 03 + .AS "PHK" + .HS FF.023442 +PHK.E .HS 00 +PHP .DA PHP.E+1 + .HS 03 + .AS "PHP" + .HS FF.023038 +PHP.E .HS 00 +PHX .DA PHX.E+1 + .HS 03 + .AS "PHX" + .HS FF.024441 +PHX.E .HS 00 +PHY .DA PHY.E+1 + .HS 03 + .AS "PHY" + .HS FF.023541 +PHY.E .HS 00 +PLA .DA PLA.E+1 + .HS 03 + .AS "PLA" + .HS FF.023638 +PLA.E .HS 00 +PLB .DA PLB.E+1 + .HS 03 + .AS "PLB" + .HS FF.024142 +PLB.E .HS 00 +PLD .DA PLD.E+1 + .HS 03 + .AS "PLD" + .HS FF.023242 +PLD.E .HS 00 +PLP .DA PLP.E+1 + .HS 03 + .AS "PLP" + .HS FF.023238 +PLP.E .HS 00 +PLX .DA PLX.E+1 + .HS 03 + .AS "PLX" + .HS FF.024641 +PLX.E .HS 00 +PLY .DA PLY.E+1 + .HS 03 + .AS "PLY" + .HS FF.023741 +PLY.E .HS 00 +REP .DA REP.E+1 + .HS 03 + .AS "REP" + .HS 0D.03433269 +REP.E .HS 00 +ROL .DA ROL.E+1 + .HS 03 + .AS "ROL" + .HS 06.03323661 + .HS 07.03333661 + .HS 08.0432456161 + .HS 09.0433456161 + .HS FF.023241 +ROL.E .HS 00 +ROR .DA ROR.E+1 + .HS 03 + .AS "ROR" + .HS 06.03363661 + .HS 07.03373661 + .HS 08.0436456161 + .HS 09.0437456161 + .HS FF.023641 +ROR.E .HS 00 +RTI .DA RTI.E+1 + .HS 03 + .AS "RTI" + .HS FF.023430 +RTI.E .HS 00 +RTL .DA RTL.E+1 + .HS 03 + .AS "RTL" + .HS FF.023642 +RTL.E .HS 00 +RTS .DA RTS.E+1 + .HS 03 + .AS "RTS" + .HS FF.023630 +RTS.E .HS 00 +SBC .DA SBC.E+1 + .HS 03 + .AS "SBC" + .HS 00.03463261 + .HS 01.03463161 + .HS 02.03463361 + .HS 03.03453161 + .HS 04.03453761 + .HS 05.03463761 + .HS 06.03453561 + .HS 07.03463561 + .HS 08.0445446161 + .HS 09.0446446161 + .HS 0A.0446396161 + .HS 0B.054546616161 + .HS 0C.054646616161 + .HS 0D.03453969 + .HS 0E.03453361 +SBC.E .HS 00 +SEC .DA SEC.E+1 + .HS 03 + .AS "SEC" + .HS FF.023338 +SEC.E .HS 00 +SED .DA SED.E+1 + .HS 03 + .AS "SED" + .HS FF.024638 +SED.E .HS 00 +SEI .DA SEI.E+1 + .HS 03 + .AS "SEI" + .HS FF.023738 +SEI.E .HS 00 +SEP .DA SEP.E+1 + .HS 03 + .AS "SEP" + .HS FF.024532 +SEP.E .HS 00 +STA .DA STA.E+1 + .HS 03 + .AS "STA" + .HS 00.03393261 + .HS 01.03393161 + .HS 02.03393361 + .HS 03.03383161 + .HS 04.03383761 + .HS 05.03393761 + .HS 06.03383561 + .HS 07.03393561 + .HS 08.0438446161 + .HS 09.0439446161 + .HS 0A.0439396161 + .HS 0B.053846616161 + .HS 0C.053946616161 + .HS 0E.03383361 +STA.E .HS 00 +STP .DA STP.E+1 + .HS 03 + .AS "STP" + .HS FF.024442 +STP.E .HS 00 +STX .DA STX.E+1 + .HS 03 + .AS "STX" + .HS 06.03383661 + .HS 14.03393661 + .HS 08.0438456161 +STX.E .HS 00 +STY .DA STY.E+1 + .HS 03 + .AS "STY" + .HS 06.03383461 + .HS 07.03393461 + .HS 08.0438436161 +STY.E .HS 00 +STZ .DA STZ.E+1 + .HS 03 + .AS "STZ" + .HS 06.03363461 + .HS 07.03373461 + .HS 08.0439436161 + .HS 09.0439456161 +STZ.E .HS 00 +TAX .DA TAX.E+1 + .HS 03 + .AS "TAX" + .HS FF.024141 +TAX.E .HS 00 +TAY .DA TAY.E+1 + .HS 03 + .AS "TAY" + .HS FF.024138 +TAY.E .HS 00 +TCD .DA TCD.E+1 + .HS 03 + .AS "TCD" + .HS FF.023542 +TCD.E .HS 00 +TCS .DA TCS.E+1 + .HS 03 + .AS "TCS" + .HS FF.023142 +TCS.E .HS 00 +TDC .DA TDC.E+1 + .HS 03 + .AS "TDC" + .HS FF.023742 +TDC.E .HS 00 +TRB .DA TRB.E+1 + .HS 03 + .AS "TRB" + .HS 06.03313461 + .HS 08.0431436161 +TRB.E .HS 00 +TSB .DA TSB.E+1 + .HS 03 + .AS "TSB" + .HS 06.03303461 + .HS 08.0430436161 +TSB.E .HS 00 +TSC .DA TSC.E+1 + .HS 03 + .AS "TSC" + .HS FF.023342 +TSC.E .HS 00 +TSX .DA TSX.E+1 + .HS 03 + .AS "TSX" + .HS FF.024241 +TSX.E .HS 00 +TXA .DA TXA.E+1 + .HS 03 + .AS "TXA" + .HS FF.023841 +TXA.E .HS 00 +TXS .DA TXS.E+1 + .HS 03 + .AS "TXS" + .HS FF.023941 +TXS.E .HS 00 +TXY .DA TXY.E+1 + .HS 03 + .AS "TXY" + .HS FF.023942 +TXY.E .HS 00 +TYA .DA TYA.E+1 + .HS 03 + .AS "TYA" + .HS FF.023938 +TYA.E .HS 00 +TYX .DA TYX.E+1 + .HS 03 + .AS "TYX" + .HS FF.024242 +TYX.E .HS 00 +WAI .DA WAI.E+1 + .HS 03 + .AS "WAI" + .HS FF.024342 +WAI.E .HS 00 +WDM .DA WDM.E+1 + .HS 03 + .AS "WDM" + .HS FF.023432 +WDM.E .HS 00 +XBA .DA XBA.E+1 + .HS 03 + .AS "XBA" + .HS FF.024542 +XBA.E .HS 00 +XCE .DA XCE.E+1 + .HS 03 + .AS "XCE" + .HS FF.024642 +XCE.E .HS 00 + .HS 0000 MAN SAVE BIN/ASM.T.65816.O LOAD BIN/ASM.T.65816.S diff --git a/BIN/ASM.T.65816.S.txt b/BIN/ASM.T.65816.S.txt index 0534381f..ff27c54f 100644 --- a/BIN/ASM.T.65816.S.txt +++ b/BIN/ASM.T.65816.S.txt @@ -3,52 +3,52 @@ PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .LIST OFF - .OR $2000 - .TF /A2OSX.BOOT/BIN/ASM.T.65816 + .LIST OFF + .OR $0 + .TF /A2OSX.BOOT/BIN/ASM.T.65816 *--------------------------------------- - .MA PSTR - .DA #:1-*-1 - .AS "]1" -:1 .EQ * - .EM + .MA ST + .DA #:1-*-1 + .AS "]1" +:1 .EQ * + .EM *--------------------------------------- - .DA T.ADDR.MODES - .DA T.REGISTERS - .DA T.OPCODES + .DA T.ADDR.MODES + .DA T.REGISTERS + .DA T.OPCODES *--------------------------------------- T.ADDR.MODES .EQ * - >PSTR "(a)" - >PSTR "(a),Y" - >PSTR "(a,S),Y" - >PSTR "(a,X)" - >PSTR "[a]" - >PSTR "[a],Y" - >PSTR "a" - >PSTR "a,X" - >PSTR "aa" - >PSTR "aa,X" - >PSTR "aa,Y" - >PSTR "aaa" - >PSTR "aaa,X" - >PSTR "i" - >PSTR "a,S" - >PSTR "r" - >PSTR "rr" - >PSTR "(aa)" - >PSTR "(aa,X)" - >PSTR "[aa]" - >PSTR "a,Y" - >PSTR "a,a" - .HS 00 + >ST "(a)" + >ST "(a),Y" + >ST "(a,S),Y" + >ST "(a,X)" + >ST "[a]" + >ST "[a],Y" + >ST "a" + >ST "a,X" + >ST "aa" + >ST "aa,X" + >ST "aa,Y" + >ST "aaa" + >ST "aaa,X" + >ST "i" + >ST "a,S" + >ST "r" + >ST "rr" + >ST "(aa)" + >ST "(aa,X)" + >ST "[aa]" + >ST "a,Y" + >ST "a,a" + .HS 00 *--------------------------------------- -T.REGISTERS .EQ * - >PSTR "Y" - >PSTR "S" - >PSTR "X" - .HS 00 +T.REGISTERS .EQ * + >ST "Y" + >ST "S" + >ST "X" + .HS 00 *--------------------------------------- - .INB BIN/ASM.T.65816.O + .INB BIN/ASM.T.65816.O *--------------------------------------- MAN SAVE BIN/ASM.T.65816.S diff --git a/BIN/ASM.T.65C02.O.txt b/BIN/ASM.T.65C02.O.txt index 7957d2be..1ea563b1 100644 --- a/BIN/ASM.T.65C02.O.txt +++ b/BIN/ASM.T.65C02.O.txt @@ -3,559 +3,443 @@ PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .LIST OFF -*--------------------------------------- -T.OPCODES .EQ * - .DA #E.ADC-* - >PSTR "ADC" - .DA #0,#3 - .AS "72a" - .DA #1,#3 - .AS "71a" - .DA #2,#3 - .AS "61a" - .DA #3,#3 - .AS "65a" - .DA #4,#3 - .AS "75a" - .DA #5,#4 - .AS "6Daa" - .DA #6,#4 - .AS "7Daa" - .DA #7,#4 - .AS "79aa" - .DA #8,#3 - .AS "69i" -E.ADC .HS 00 - .DA #E.AND-* - >PSTR "AND" - .DA #0,#3 - .AS "32a" - .DA #1,#3 - .AS "31a" - .DA #2,#3 - .AS "21a" - .DA #3,#3 - .AS "25a" - .DA #4,#3 - .AS "35a" - .DA #5,#4 - .AS "2Daa" - .DA #6,#4 - .AS "3Daa" - .DA #7,#4 - .AS "39aa" - .DA #8,#3 - .AS "29i" -E.AND .HS 00 - .DA #E.ASL-* - >PSTR "ASL" - .DA #3,#3 - .AS "06a" - .DA #4,#3 - .AS "16a" - .DA #5,#4 - .AS "0Eaa" - .DA #6,#4 - .AS "1Eaa" - .DA #255,#2 - .AS "0A" -E.ASL .HS 00 - .DA #E.BCC-* - >PSTR "BCC" - .DA #9,#3 - .AS "90r" -E.BCC .HS 00 - .DA #E.BCS-* - >PSTR "BCS" - .DA #9,#3 - .AS "B0r" -E.BCS .HS 00 - .DA #E.BEQ-* - >PSTR "BEQ" - .DA #9,#3 - .AS "F0r" -E.BEQ .HS 00 - .DA #E.BIT-* - >PSTR "BIT" - .DA #3,#3 - .AS "24a" - .DA #4,#3 - .AS "34a" - .DA #5,#4 - .AS "2Caa" - .DA #6,#4 - .AS "3Caa" - .DA #8,#3 - .AS "89i" -E.BIT .HS 00 - .DA #E.BMI-* - >PSTR "BMI" - .DA #9,#3 - .AS "30r" -E.BMI .HS 00 - .DA #E.BNE-* - >PSTR "BNE" - .DA #9,#3 - .AS "D0r" -E.BNE .HS 00 - .DA #E.BPL-* - >PSTR "BPL" - .DA #9,#3 - .AS "10r" -E.BPL .HS 00 - .DA #E.BRA-* - >PSTR "BRA" - .DA #9,#3 - .AS "80r" -E.BRA .HS 00 - .DA #E.BRK-* - >PSTR "BRK" - .DA #255,#2 - .AS "00" -E.BRK .HS 00 - .DA #E.BVC-* - >PSTR "BVC" - .DA #9,#3 - .AS "50r" -E.BVC .HS 00 - .DA #E.BVS-* - >PSTR "BVS" - .DA #9,#3 - .AS "70r" -E.BVS .HS 00 - .DA #E.CLC-* - >PSTR "CLC" - .DA #255,#2 - .AS "18" -E.CLC .HS 00 - .DA #E.CLD-* - >PSTR "CLD" - .DA #255,#2 - .AS "D8" -E.CLD .HS 00 - .DA #E.CLI-* - >PSTR "CLI" - .DA #255,#2 - .AS "58" -E.CLI .HS 00 - .DA #E.CLV-* - >PSTR "CLV" - .DA #255,#2 - .AS "B8" -E.CLV .HS 00 - .DA #E.CMP-* - >PSTR "CMP" - .DA #0,#3 - .AS "D2a" - .DA #1,#3 - .AS "D1a" - .DA #2,#3 - .AS "C1a" - .DA #3,#3 - .AS "C5a" - .DA #4,#3 - .AS "D5a" - .DA #5,#4 - .AS "CDaa" - .DA #6,#4 - .AS "DDaa" - .DA #7,#4 - .AS "D9aa" - .DA #8,#3 - .AS "C9i" -E.CMP .HS 00 - .DA #E.CPX-* - >PSTR "CPX" - .DA #3,#3 - .AS "E4a" - .DA #5,#4 - .AS "Ecaa" - .DA #8,#3 - .AS "E0i" -E.CPX .HS 00 - .DA #E.CPY-* - >PSTR "CPY" - .DA #3,#3 - .AS "C4a" - .DA #5,#4 - .AS "Ccaa" - .DA #8,#3 - .AS "C0i" -E.CPY .HS 00 - .DA #E.DEC-* - >PSTR "DEC" - .DA #255,#2 - .AS "3A" - .DA #3,#3 - .AS "C6a" - .DA #4,#3 - .AS "D6a" - .DA #5,#4 - .AS "Ceaa" - .DA #6,#4 - .AS "Deaa" -E.DEC .HS 00 - .DA #E.DEX-* - >PSTR "DEX" - .DA #255,#2 - .AS "CA" -E.DEX .HS 00 - .DA #E.DEY-* - >PSTR "DEY" - .DA #255,#2 - .AS "88" -E.DEY .HS 00 - .DA #E.EOR-* - >PSTR "EOR" - .DA #0,#3 - .AS "52a" - .DA #1,#3 - .AS "51a" - .DA #2,#3 - .AS "41a" - .DA #3,#3 - .AS "45a" - .DA #4,#3 - .AS "55a" - .DA #5,#4 - .AS "4Daa" - .DA #6,#4 - .AS "5Daa" - .DA #7,#4 - .AS "59aa" - .DA #8,#3 - .AS "49i" -E.EOR .HS 00 - .DA #E.INC-* - >PSTR "INC" - .DA #255,#2 - .AS "1A" - .DA #3,#3 - .AS "E6a" - .DA #4,#3 - .AS "F6a" - .DA #5,#4 - .AS "Eeaa" - .DA #6,#4 - .AS "Feaa" -E.INC .HS 00 - .DA #E.INX-* - >PSTR "INX" - .DA #255,#2 - .AS "E8" -E.INX .HS 00 - .DA #E.INY-* - >PSTR "INY" - .DA #255,#2 - .AS "C8" -E.INY .HS 00 - .DA #E.JMP-* - >PSTR "JMP" - .DA #10,#4 - .AS "6Caa" - .DA #11,#4 - .AS "7Caa" - .DA #5,#4 - .AS "4Caa" -E.JMP .HS 00 - .DA #E.JSR-* - >PSTR "JSR" - .DA #5,#4 - .AS "20aa" -E.JSR .HS 00 - .DA #E.LDA-* - >PSTR "LDA" - .DA #0,#3 - .AS "B2a" - .DA #1,#3 - .AS "B1a" - .DA #2,#3 - .AS "A1a" - .DA #3,#3 - .AS "A5a" - .DA #4,#3 - .AS "B5a" - .DA #5,#4 - .AS "Adaa" - .DA #6,#4 - .AS "Bdaa" - .DA #7,#4 - .AS "B9aa" - .DA #8,#3 - .AS "A9i" -E.LDA .HS 00 - .DA #E.LDX-* - >PSTR "LDX" - .DA #3,#3 - .AS "A6a" - .DA #12,#3 - .AS "B6a" - .DA #5,#4 - .AS "Aeaa" - .DA #7,#4 - .AS "Beaa" - .DA #8,#3 - .AS "A2i" -E.LDX .HS 00 - .DA #E.LDY-* - >PSTR "LDY" - .DA #3,#3 - .AS "A4a" - .DA #4,#3 - .AS "B4a" - .DA #5,#4 - .AS "Acaa" - .DA #6,#4 - .AS "Bcaa" - .DA #8,#3 - .AS "A0i" -E.LDY .HS 00 - .DA #E.LSR-* - >PSTR "LSR" - .DA #3,#3 - .AS "46a" - .DA #4,#3 - .AS "56a" - .DA #5,#4 - .AS "4Eaa" - .DA #6,#4 - .AS "5Eaa" - .DA #255,#2 - .AS "4A" -E.LSR .HS 00 - .DA #E.NOP-* - >PSTR "NOP" - .DA #255,#2 - .AS "EA" -E.NOP .HS 00 - .DA #E.ORA-* - >PSTR "ORA" - .DA #0,#3 - .AS "12a" - .DA #1,#3 - .AS "11a" - .DA #2,#3 - .AS "01a" - .DA #3,#3 - .AS "05a" - .DA #4,#3 - .AS "15a" - .DA #5,#4 - .AS "0Daa" - .DA #6,#4 - .AS "1Daa" - .DA #7,#4 - .AS "19aa" - .DA #8,#3 - .AS "09i" -E.ORA .HS 00 - .DA #E.PHA-* - >PSTR "PHA" - .DA #255,#2 - .AS "48" -E.PHA .HS 00 - .DA #E.PHP-* - >PSTR "PHP" - .DA #255,#2 - .AS "08" -E.PHP .HS 00 - .DA #E.PHX-* - >PSTR "PHX" - .DA #255,#2 - .AS "DA" -E.PHX .HS 00 - .DA #E.PHY-* - >PSTR "PHY" - .DA #255,#2 - .AS "5A" -E.PHY .HS 00 - .DA #E.PLA-* - >PSTR "PLA" - .DA #255,#2 - .AS "68" -E.PLA .HS 00 - .DA #E.PLP-* - >PSTR "PLP" - .DA #255,#2 - .AS "28" -E.PLP .HS 00 - .DA #E.PLX-* - >PSTR "PLX" - .DA #255,#2 - .AS "FA" -E.PLX .HS 00 - .DA #E.PLY-* - >PSTR "PLY" - .DA #255,#2 - .AS "7A" -E.PLY .HS 00 - .DA #E.ROL-* - >PSTR "ROL" - .DA #3,#3 - .AS "26a" - .DA #4,#3 - .AS "36a" - .DA #5,#4 - .AS "2Eaa" - .DA #6,#4 - .AS "3Eaa" - .DA #255,#2 - .AS "2A" -E.ROL .HS 00 - .DA #E.ROR-* - >PSTR "ROR" - .DA #3,#3 - .AS "66a" - .DA #4,#3 - .AS "76a" - .DA #5,#4 - .AS "6Eaa" - .DA #6,#4 - .AS "7Eaa" - .DA #255,#2 - .AS "6A" -E.ROR .HS 00 - .DA #E.RTI-* - >PSTR "RTI" - .DA #255,#2 - .AS "40" -E.RTI .HS 00 - .DA #E.RTS-* - >PSTR "RTS" - .DA #255,#2 - .AS "60" -E.RTS .HS 00 - .DA #E.SBC-* - >PSTR "SBC" - .DA #0,#3 - .AS "F2a" - .DA #1,#3 - .AS "F1a" - .DA #2,#3 - .AS "E1a" - .DA #3,#3 - .AS "E5a" - .DA #4,#3 - .AS "F5a" - .DA #5,#4 - .AS "Edaa" - .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 -*--------------------------------------- + .LIST OFF +T.OPCODES .EQ * +ADC .DA ADC.E+1 + .HS 03 + .AS "ADC" + .HS 00.03373261 + .HS 01.03373161 + .HS 02.03363161 + .HS 03.03363561 + .HS 04.03373561 + .HS 05.0436446161 + .HS 06.0437446161 + .HS 07.0437396161 + .HS 08.03363969 +ADC.E .HS 00 +AND .DA AND.E+1 + .HS 03 + .AS "AND" + .HS 00.03333261 + .HS 01.03333161 + .HS 02.03323161 + .HS 03.03323561 + .HS 04.03333561 + .HS 05.0432446161 + .HS 06.0433446161 + .HS 07.0433396161 + .HS 08.03323969 +AND.E .HS 00 +ASL .DA ASL.E+1 + .HS 03 + .AS "ASL" + .HS 03.03303661 + .HS 04.03313661 + .HS 05.0430456161 + .HS 06.0431456161 + .HS FF.023041 +ASL.E .HS 00 +BCC .DA BCC.E+1 + .HS 03 + .AS "BCC" + .HS 09.03393072 +BCC.E .HS 00 +BCS .DA BCS.E+1 + .HS 03 + .AS "BCS" + .HS 09.03423072 +BCS.E .HS 00 +BEQ .DA BEQ.E+1 + .HS 03 + .AS "BEQ" + .HS 09.03463072 +BEQ.E .HS 00 +BIT .DA BIT.E+1 + .HS 03 + .AS "BIT" + .HS 03.03323461 + .HS 04.03333461 + .HS 05.0432436161 + .HS 06.0433436161 + .HS 08.03383969 +BIT.E .HS 00 +BMI .DA BMI.E+1 + .HS 03 + .AS "BMI" + .HS 09.03333072 +BMI.E .HS 00 +BNE .DA BNE.E+1 + .HS 03 + .AS "BNE" + .HS 09.03443072 +BNE.E .HS 00 +BPL .DA BPL.E+1 + .HS 03 + .AS "BPL" + .HS 09.03313072 +BPL.E .HS 00 +BRA .DA BRA.E+1 + .HS 03 + .AS "BRA" + .HS 09.03383072 +BRA.E .HS 00 +BRK .DA BRK.E+1 + .HS 03 + .AS "BRK" + .HS FF.023030 +BRK.E .HS 00 +BVC .DA BVC.E+1 + .HS 03 + .AS "BVC" + .HS 09.03353072 +BVC.E .HS 00 +BVS .DA BVS.E+1 + .HS 03 + .AS "BVS" + .HS 09.03373072 +BVS.E .HS 00 +CLC .DA CLC.E+1 + .HS 03 + .AS "CLC" + .HS FF.023138 +CLC.E .HS 00 +CLD .DA CLD.E+1 + .HS 03 + .AS "CLD" + .HS FF.024438 +CLD.E .HS 00 +CLI .DA CLI.E+1 + .HS 03 + .AS "CLI" + .HS FF.023538 +CLI.E .HS 00 +CLV .DA CLV.E+1 + .HS 03 + .AS "CLV" + .HS FF.024238 +CLV.E .HS 00 +CMP .DA CMP.E+1 + .HS 03 + .AS "CMP" + .HS 00.03443261 + .HS 01.03443161 + .HS 02.03433161 + .HS 03.03433561 + .HS 04.03443561 + .HS 05.0443446161 + .HS 06.0444446161 + .HS 07.0444396161 + .HS 08.03433969 +CMP.E .HS 00 +CPX .DA CPX.E+1 + .HS 03 + .AS "CPX" + .HS 03.03453461 + .HS 05.0445636161 + .HS 08.03453069 +CPX.E .HS 00 +CPY .DA CPY.E+1 + .HS 03 + .AS "CPY" + .HS 03.03433461 + .HS 05.0443636161 + .HS 08.03433069 +CPY.E .HS 00 +DEC .DA DEC.E+1 + .HS 03 + .AS "DEC" + .HS FF.023341 + .HS 03.03433661 + .HS 04.03443661 + .HS 05.0443656161 + .HS 06.0444656161 +DEC.E .HS 00 +DEX .DA DEX.E+1 + .HS 03 + .AS "DEX" + .HS FF.024341 +DEX.E .HS 00 +DEY .DA DEY.E+1 + .HS 03 + .AS "DEY" + .HS FF.023838 +DEY.E .HS 00 +EOR .DA EOR.E+1 + .HS 03 + .AS "EOR" + .HS 00.03353261 + .HS 01.03353161 + .HS 02.03343161 + .HS 03.03343561 + .HS 04.03353561 + .HS 05.0434446161 + .HS 06.0435446161 + .HS 07.0435396161 + .HS 08.03343969 +EOR.E .HS 00 +INC .DA INC.E+1 + .HS 03 + .AS "INC" + .HS FF.023141 + .HS 03.03453661 + .HS 04.03463661 + .HS 05.0445656161 + .HS 06.0446656161 +INC.E .HS 00 +INX .DA INX.E+1 + .HS 03 + .AS "INX" + .HS FF.024538 +INX.E .HS 00 +INY .DA INY.E+1 + .HS 03 + .AS "INY" + .HS FF.024338 +INY.E .HS 00 +JMP .DA JMP.E+1 + .HS 03 + .AS "JMP" + .HS 0A.0436436161 + .HS 0B.0437436161 + .HS 05.0434436161 +JMP.E .HS 00 +JSR .DA JSR.E+1 + .HS 03 + .AS "JSR" + .HS 05.0432306161 +JSR.E .HS 00 +LDA .DA LDA.E+1 + .HS 03 + .AS "LDA" + .HS 00.03423261 + .HS 01.03423161 + .HS 02.03413161 + .HS 03.03413561 + .HS 04.03423561 + .HS 05.0441646161 + .HS 06.0442646161 + .HS 07.0442396161 + .HS 08.03413969 +LDA.E .HS 00 +LDX .DA LDX.E+1 + .HS 03 + .AS "LDX" + .HS 03.03413661 + .HS 0C.03423661 + .HS 05.0441656161 + .HS 07.0442656161 + .HS 08.03413269 +LDX.E .HS 00 +LDY .DA LDY.E+1 + .HS 03 + .AS "LDY" + .HS 03.03413461 + .HS 04.03423461 + .HS 05.0441636161 + .HS 06.0442636161 + .HS 08.03413069 +LDY.E .HS 00 +LSR .DA LSR.E+1 + .HS 03 + .AS "LSR" + .HS 03.03343661 + .HS 04.03353661 + .HS 05.0434456161 + .HS 06.0435456161 + .HS FF.023441 +LSR.E .HS 00 +NOP .DA NOP.E+1 + .HS 03 + .AS "NOP" + .HS FF.024541 +NOP.E .HS 00 +ORA .DA ORA.E+1 + .HS 03 + .AS "ORA" + .HS 00.03313261 + .HS 01.03313161 + .HS 02.03303161 + .HS 03.03303561 + .HS 04.03313561 + .HS 05.0430446161 + .HS 06.0431446161 + .HS 07.0431396161 + .HS 08.03303969 +ORA.E .HS 00 +PHA .DA PHA.E+1 + .HS 03 + .AS "PHA" + .HS FF.023438 +PHA.E .HS 00 +PHP .DA PHP.E+1 + .HS 03 + .AS "PHP" + .HS FF.023038 +PHP.E .HS 00 +PHX .DA PHX.E+1 + .HS 03 + .AS "PHX" + .HS FF.024441 +PHX.E .HS 00 +PHY .DA PHY.E+1 + .HS 03 + .AS "PHY" + .HS FF.023541 +PHY.E .HS 00 +PLA .DA PLA.E+1 + .HS 03 + .AS "PLA" + .HS FF.023638 +PLA.E .HS 00 +PLP .DA PLP.E+1 + .HS 03 + .AS "PLP" + .HS FF.023238 +PLP.E .HS 00 +PLX .DA PLX.E+1 + .HS 03 + .AS "PLX" + .HS FF.024641 +PLX.E .HS 00 +PLY .DA PLY.E+1 + .HS 03 + .AS "PLY" + .HS FF.023741 +PLY.E .HS 00 +ROL .DA ROL.E+1 + .HS 03 + .AS "ROL" + .HS 03.03323661 + .HS 04.03333661 + .HS 05.0432456161 + .HS 06.0433456161 + .HS FF.023241 +ROL.E .HS 00 +ROR .DA ROR.E+1 + .HS 03 + .AS "ROR" + .HS 03.03363661 + .HS 04.03373661 + .HS 05.0436456161 + .HS 06.0437456161 + .HS FF.023641 +ROR.E .HS 00 +RTI .DA RTI.E+1 + .HS 03 + .AS "RTI" + .HS FF.023430 +RTI.E .HS 00 +RTS .DA RTS.E+1 + .HS 03 + .AS "RTS" + .HS FF.023630 +RTS.E .HS 00 +SBC .DA SBC.E+1 + .HS 03 + .AS "SBC" + .HS 00.03463261 + .HS 01.03463161 + .HS 02.03453161 + .HS 03.03453561 + .HS 04.03463561 + .HS 05.0445646161 + .HS 06.0446646161 + .HS 07.0446396161 + .HS 08.03453969 +SBC.E .HS 00 +SEC .DA SEC.E+1 + .HS 03 + .AS "SEC" + .HS FF.023338 +SEC.E .HS 00 +SED .DA SED.E+1 + .HS 03 + .AS "SED" + .HS FF.024638 +SED.E .HS 00 +SEI .DA SEI.E+1 + .HS 03 + .AS "SEI" + .HS FF.023738 +SEI.E .HS 00 +STA .DA STA.E+1 + .HS 03 + .AS "STA" + .HS 00.03393261 + .HS 01.03393161 + .HS 02.03383161 + .HS 03.03383561 + .HS 04.03393561 + .HS 05.0438446161 + .HS 06.0439446161 + .HS 07.0439396161 +STA.E .HS 00 +STX .DA STX.E+1 + .HS 03 + .AS "STX" + .HS 03.03383661 + .HS 0C.03393661 + .HS 05.0438456161 +STX.E .HS 00 +STY .DA STY.E+1 + .HS 03 + .AS "STY" + .HS 03.03383461 + .HS 04.03393461 + .HS 05.0438436161 +STY.E .HS 00 +STZ .DA STZ.E+1 + .HS 03 + .AS "STZ" + .HS 03.03363461 + .HS 04.03373461 + .HS 05.0439436161 + .HS 06.0439456161 +STZ.E .HS 00 +TAX .DA TAX.E+1 + .HS 03 + .AS "TAX" + .HS FF.024141 +TAX.E .HS 00 +TAY .DA TAY.E+1 + .HS 03 + .AS "TAY" + .HS FF.024138 +TAY.E .HS 00 +TRB .DA TRB.E+1 + .HS 03 + .AS "TRB" + .HS 03.03313461 + .HS 05.0431436161 +TRB.E .HS 00 +TSB .DA TSB.E+1 + .HS 03 + .AS "TSB" + .HS 03.03303461 + .HS 05.0430436161 +TSB.E .HS 00 +TSX .DA TSX.E+1 + .HS 03 + .AS "TSX" + .HS FF.024241 +TSX.E .HS 00 +TXA .DA TXA.E+1 + .HS 03 + .AS "TXA" + .HS FF.023841 +TXA.E .HS 00 +TXS .DA TXS.E+1 + .HS 03 + .AS "TXS" + .HS FF.023941 +TXS.E .HS 00 +TYA .DA TYA.E+1 + .HS 03 + .AS "TYA" + .HS FF.023938 +TYA.E .HS 00 + .HS 0000 MAN SAVE BIN/ASM.T.65C02.O LOAD BIN/ASM.T.65C02.S diff --git a/BIN/ASM.T.65C02.S.txt b/BIN/ASM.T.65C02.S.txt index 475d31b1..fac5dfee 100644 --- a/BIN/ASM.T.65C02.S.txt +++ b/BIN/ASM.T.65C02.S.txt @@ -3,42 +3,42 @@ PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .LIST OFF - .OR $2000 - .TF /A2OSX.BOOT/BIN/ASM.T.65C02 + .LIST OFF + .OR $0 + .TF /A2OSX.BOOT/BIN/ASM.T.65C02 *--------------------------------------- - .MA PSTR - .DA #:1-*-1 - .AS "]1" -:1 .EQ * - .EM + .MA ST + .DA #:1-*-1 + .AS "]1" +:1 .EQ * + .EM *--------------------------------------- - .DA T.ADDR.MODES - .DA T.REGISTERS - .DA T.OPCODES + .DA T.ADDR.MODES + .DA T.REGISTERS + .DA T.OPCODES *--------------------------------------- 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 "r" - >PSTR "(aa)" - >PSTR "(aa,x)" - >PSTR "a,Y" - .HS 00 + >ST "(a)" + >ST "(a),Y" + >ST "(a,X)" + >ST "a" + >ST "a,X" + >ST "aa" + >ST "aa,X" + >ST "aa,Y" + >ST "i" + >ST "r" + >ST "(aa)" + >ST "(aa,x)" + >ST "a,Y" + .HS 00 *--------------------------------------- -T.REGISTERS .EQ * - >PSTR "Y" - >PSTR "X" - .HS 00 +T.REGISTERS .EQ * + >ST "Y" + >ST "X" + .HS 00 *--------------------------------------- - .INB BIN/ASM.T.65C02.O + .INB BIN/ASM.T.65C02.O *--------------------------------------- MAN SAVE BIN/ASM.T.65C02.S diff --git a/BIN/ASM.T.65R02.O.txt b/BIN/ASM.T.65R02.O.txt index 94c51201..6d002a04 100644 --- a/BIN/ASM.T.65R02.O.txt +++ b/BIN/ASM.T.65R02.O.txt @@ -3,719 +3,603 @@ PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .LIST OFF -*--------------------------------------- -T.OPCODES .EQ * - .DA #E.ADC-* - >PSTR "ADC" - .DA #0,#3 - .AS "72a" - .DA #1,#3 - .AS "71a" - .DA #2,#3 - .AS "61a" - .DA #3,#3 - .AS "65a" - .DA #4,#3 - .AS "75a" - .DA #5,#4 - .AS "6Daa" - .DA #6,#4 - .AS "7Daa" - .DA #7,#4 - .AS "79aa" - .DA #8,#3 - .AS "69i" -E.ADC .HS 00 - .DA #E.AND-* - >PSTR "AND" - .DA #0,#3 - .AS "32a" - .DA #1,#3 - .AS "31a" - .DA #2,#3 - .AS "21a" - .DA #3,#3 - .AS "25a" - .DA #4,#3 - .AS "35a" - .DA #5,#4 - .AS "2Daa" - .DA #6,#4 - .AS "3Daa" - .DA #7,#4 - .AS "39aa" - .DA #8,#3 - .AS "29i" -E.AND .HS 00 - .DA #E.ASL-* - >PSTR "ASL" - .DA #3,#3 - .AS "06a" - .DA #4,#3 - .AS "16a" - .DA #5,#4 - .AS "0Eaa" - .DA #6,#4 - .AS "1Eaa" - .DA #255,#2 - .AS "0A" -E.ASL .HS 00 - .DA #E.BBR0-* - >PSTR "BBR0" - .DA #9,#4 - .AS "0Far" -E.BBR0 .HS 00 - .DA #E.BBR1-* - >PSTR "BBR1" - .DA #9,#4 - .AS "1Far" -E.BBR1 .HS 00 - .DA #E.BBR2-* - >PSTR "BBR2" - .DA #9,#4 - .AS "2Far" -E.BBR2 .HS 00 - .DA #E.BBR3-* - >PSTR "BBR3" - .DA #9,#4 - .AS "3Far" -E.BBR3 .HS 00 - .DA #E.BBR4-* - >PSTR "BBR4" - .DA #9,#4 - .AS "4Far" -E.BBR4 .HS 00 - .DA #E.BBR5-* - >PSTR "BBR5" - .DA #9,#4 - .AS "5Far" -E.BBR5 .HS 00 - .DA #E.BBR6-* - >PSTR "BBR6" - .DA #9,#4 - .AS "6Far" -E.BBR6 .HS 00 - .DA #E.BBR7-* - >PSTR "BBR7" - .DA #9,#4 - .AS "7Far" -E.BBR7 .HS 00 - .DA #E.BBS0-* - >PSTR "BBS0" - .DA #9,#4 - .AS "8Far" -E.BBS0 .HS 00 - .DA #E.BBS1-* - >PSTR "BBS1" - .DA #9,#4 - .AS "9Far" -E.BBS1 .HS 00 - .DA #E.BBS2-* - >PSTR "BBS2" - .DA #9,#4 - .AS "AFar" -E.BBS2 .HS 00 - .DA #E.BBS3-* - >PSTR "BBS3" - .DA #9,#4 - .AS "BFar" -E.BBS3 .HS 00 - .DA #E.BBS4-* - >PSTR "BBS4" - .DA #9,#4 - .AS "CFar" -E.BBS4 .HS 00 - .DA #E.BBS5-* - >PSTR "BBS5" - .DA #9,#4 - .AS "DFar" -E.BBS5 .HS 00 - .DA #E.BBS6-* - >PSTR "BBS6" - .DA #9,#4 - .AS "EFar" -E.BBS6 .HS 00 - .DA #E.BBS7-* - >PSTR "BBS7" - .DA #9,#4 - .AS "FFar" -E.BBS7 .HS 00 - .DA #E.BCC-* - >PSTR "BCC" - .DA #10,#3 - .AS "90r" -E.BCC .HS 00 - .DA #E.BCS-* - >PSTR "BCS" - .DA #10,#3 - .AS "B0r" -E.BCS .HS 00 - .DA #E.BEQ-* - >PSTR "BEQ" - .DA #10,#3 - .AS "F0r" -E.BEQ .HS 00 - .DA #E.BIT-* - >PSTR "BIT" - .DA #3,#3 - .AS "24a" - .DA #4,#3 - .AS "34a" - .DA #5,#4 - .AS "2Caa" - .DA #6,#4 - .AS "3Caa" - .DA #8,#3 - .AS "89i" -E.BIT .HS 00 - .DA #E.BMI-* - >PSTR "BMI" - .DA #10,#3 - .AS "30r" -E.BMI .HS 00 - .DA #E.BNE-* - >PSTR "BNE" - .DA #10,#3 - .AS "D0r" -E.BNE .HS 00 - .DA #E.BPL-* - >PSTR "BPL" - .DA #10,#3 - .AS "10r" -E.BPL .HS 00 - .DA #E.BRA-* - >PSTR "BRA" - .DA #10,#3 - .AS "80r" -E.BRA .HS 00 - .DA #E.BRK-* - >PSTR "BRK" - .DA #255,#2 - .AS "00" -E.BRK .HS 00 - .DA #E.BVC-* - >PSTR "BVC" - .DA #10,#3 - .AS "50r" -E.BVC .HS 00 - .DA #E.BVS-* - >PSTR "BVS" - .DA #10,#3 - .AS "70r" -E.BVS .HS 00 - .DA #E.CLC-* - >PSTR "CLC" - .DA #255,#2 - .AS "18" -E.CLC .HS 00 - .DA #E.CLD-* - >PSTR "CLD" - .DA #255,#2 - .AS "D8" -E.CLD .HS 00 - .DA #E.CLI-* - >PSTR "CLI" - .DA #255,#2 - .AS "58" -E.CLI .HS 00 - .DA #E.CLV-* - >PSTR "CLV" - .DA #255,#2 - .AS "B8" -E.CLV .HS 00 - .DA #E.CMP-* - >PSTR "CMP" - .DA #0,#3 - .AS "D2a" - .DA #1,#3 - .AS "D1a" - .DA #2,#3 - .AS "C1a" - .DA #3,#3 - .AS "C5a" - .DA #4,#3 - .AS "D5a" - .DA #5,#4 - .AS "CDaa" - .DA #6,#4 - .AS "DDaa" - .DA #7,#4 - .AS "D9aa" - .DA #8,#3 - .AS "C9i" -E.CMP .HS 00 - .DA #E.CPX-* - >PSTR "CPX" - .DA #3,#3 - .AS "E4a" - .DA #5,#4 - .AS "Ecaa" - .DA #8,#3 - .AS "E0i" -E.CPX .HS 00 - .DA #E.CPY-* - >PSTR "CPY" - .DA #3,#3 - .AS "C4a" - .DA #5,#4 - .AS "Ccaa" - .DA #8,#3 - .AS "C0i" -E.CPY .HS 00 - .DA #E.DEC-* - >PSTR "DEC" - .DA #255,#2 - .AS "3A" - .DA #3,#3 - .AS "C6a" - .DA #4,#3 - .AS "D6a" - .DA #5,#4 - .AS "Ceaa" - .DA #6,#4 - .AS "Deaa" -E.DEC .HS 00 - .DA #E.DEX-* - >PSTR "DEX" - .DA #255,#2 - .AS "CA" -E.DEX .HS 00 - .DA #E.DEY-* - >PSTR "DEY" - .DA #255,#2 - .AS "88" -E.DEY .HS 00 - .DA #E.EOR-* - >PSTR "EOR" - .DA #0,#3 - .AS "52a" - .DA #1,#3 - .AS "51a" - .DA #2,#3 - .AS "41a" - .DA #3,#3 - .AS "45a" - .DA #4,#3 - .AS "55a" - .DA #5,#4 - .AS "4Daa" - .DA #6,#4 - .AS "5Daa" - .DA #7,#4 - .AS "59aa" - .DA #8,#3 - .AS "49i" -E.EOR .HS 00 - .DA #E.INC-* - >PSTR "INC" - .DA #255,#2 - .AS "1A" - .DA #3,#3 - .AS "E6a" - .DA #4,#3 - .AS "F6a" - .DA #5,#4 - .AS "Eeaa" - .DA #6,#4 - .AS "Feaa" -E.INC .HS 00 - .DA #E.INX-* - >PSTR "INX" - .DA #255,#2 - .AS "E8" -E.INX .HS 00 - .DA #E.INY-* - >PSTR "INY" - .DA #255,#2 - .AS "C8" -E.INY .HS 00 - .DA #E.JMP-* - >PSTR "JMP" - .DA #11,#4 - .AS "6Caa" - .DA #12,#4 - .AS "7Caa" - .DA #5,#4 - .AS "4Caa" -E.JMP .HS 00 - .DA #E.JSR-* - >PSTR "JSR" - .DA #5,#4 - .AS "20aa" -E.JSR .HS 00 - .DA #E.LDA-* - >PSTR "LDA" - .DA #0,#3 - .AS "B2a" - .DA #1,#3 - .AS "B1a" - .DA #2,#3 - .AS "A1a" - .DA #3,#3 - .AS "A5a" - .DA #4,#3 - .AS "B5a" - .DA #5,#4 - .AS "Adaa" - .DA #6,#4 - .AS "Bdaa" - .DA #7,#4 - .AS "B9aa" - .DA #8,#3 - .AS "A9i" -E.LDA .HS 00 - .DA #E.LDX-* - >PSTR "LDX" - .DA #3,#3 - .AS "A6a" - .DA #13,#3 - .AS "B6a" - .DA #5,#4 - .AS "Aeaa" - .DA #7,#4 - .AS "Beaa" - .DA #8,#3 - .AS "A2i" -E.LDX .HS 00 - .DA #E.LDY-* - >PSTR "LDY" - .DA #3,#3 - .AS "A4a" - .DA #4,#3 - .AS "B4a" - .DA #5,#4 - .AS "Acaa" - .DA #6,#4 - .AS "Bcaa" - .DA #8,#3 - .AS "A0i" -E.LDY .HS 00 - .DA #E.LSR-* - >PSTR "LSR" - .DA #3,#3 - .AS "46a" - .DA #4,#3 - .AS "56a" - .DA #5,#4 - .AS "4Eaa" - .DA #6,#4 - .AS "5Eaa" - .DA #255,#2 - .AS "4A" -E.LSR .HS 00 - .DA #E.NOP-* - >PSTR "NOP" - .DA #255,#2 - .AS "EA" -E.NOP .HS 00 - .DA #E.ORA-* - >PSTR "ORA" - .DA #0,#3 - .AS "12a" - .DA #1,#3 - .AS "11a" - .DA #2,#3 - .AS "01a" - .DA #3,#3 - .AS "05a" - .DA #4,#3 - .AS "15a" - .DA #5,#4 - .AS "0Daa" - .DA #6,#4 - .AS "1Daa" - .DA #7,#4 - .AS "19aa" - .DA #8,#3 - .AS "09i" -E.ORA .HS 00 - .DA #E.PHA-* - >PSTR "PHA" - .DA #255,#2 - .AS "48" -E.PHA .HS 00 - .DA #E.PHP-* - >PSTR "PHP" - .DA #255,#2 - .AS "08" -E.PHP .HS 00 - .DA #E.PHX-* - >PSTR "PHX" - .DA #255,#2 - .AS "DA" -E.PHX .HS 00 - .DA #E.PHY-* - >PSTR "PHY" - .DA #255,#2 - .AS "5A" -E.PHY .HS 00 - .DA #E.PLA-* - >PSTR "PLA" - .DA #255,#2 - .AS "68" -E.PLA .HS 00 - .DA #E.PLP-* - >PSTR "PLP" - .DA #255,#2 - .AS "28" -E.PLP .HS 00 - .DA #E.PLX-* - >PSTR "PLX" - .DA #255,#2 - .AS "FA" -E.PLX .HS 00 - .DA #E.PLY-* - >PSTR "PLY" - .DA #255,#2 - .AS "7A" -E.PLY .HS 00 - .DA #E.RMB0-* - >PSTR "RMB0" - .DA #3,#3 - .AS "07a" -E.RMB0 .HS 00 - .DA #E.RMB1-* - >PSTR "RMB1" - .DA #3,#3 - .AS "17a" -E.RMB1 .HS 00 - .DA #E.RMB2-* - >PSTR "RMB2" - .DA #3,#3 - .AS "27a" -E.RMB2 .HS 00 - .DA #E.RMB3-* - >PSTR "RMB3" - .DA #3,#3 - .AS "37a" -E.RMB3 .HS 00 - .DA #E.RMB4-* - >PSTR "RMB4" - .DA #3,#3 - .AS "47a" -E.RMB4 .HS 00 - .DA #E.RMB5-* - >PSTR "RMB5" - .DA #3,#3 - .AS "57a" -E.RMB5 .HS 00 - .DA #E.RMB6-* - >PSTR "RMB6" - .DA #3,#3 - .AS "67a" -E.RMB6 .HS 00 - .DA #E.RMB7-* - >PSTR "RMB7" - .DA #3,#3 - .AS "77a" -E.RMB7 .HS 00 - .DA #E.ROL-* - >PSTR "ROL" - .DA #3,#3 - .AS "26a" - .DA #4,#3 - .AS "36a" - .DA #5,#4 - .AS "2Eaa" - .DA #6,#4 - .AS "3Eaa" - .DA #255,#2 - .AS "2A" -E.ROL .HS 00 - .DA #E.ROR-* - >PSTR "ROR" - .DA #3,#3 - .AS "66a" - .DA #4,#3 - .AS "76a" - .DA #5,#4 - .AS "6Eaa" - .DA #6,#4 - .AS "7Eaa" - .DA #255,#2 - .AS "6A" -E.ROR .HS 00 - .DA #E.RTI-* - >PSTR "RTI" - .DA #255,#2 - .AS "40" -E.RTI .HS 00 - .DA #E.RTS-* - >PSTR "RTS" - .DA #255,#2 - .AS "60" -E.RTS .HS 00 - .DA #E.SBC-* - >PSTR "SBC" - .DA #0,#3 - .AS "F2a" - .DA #1,#3 - .AS "F1a" - .DA #2,#3 - .AS "E1a" - .DA #3,#3 - .AS "E5a" - .DA #4,#3 - .AS "F5a" - .DA #5,#4 - .AS "Edaa" - .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.SMB0-* - >PSTR "SMB0" - .DA #3,#3 - .AS "87a" -E.SMB0 .HS 00 - .DA #E.SMB1-* - >PSTR "SMB1" - .DA #3,#3 - .AS "97a" -E.SMB1 .HS 00 - .DA #E.SMB2-* - >PSTR "SMB2" - .DA #3,#3 - .AS "A7a" -E.SMB2 .HS 00 - .DA #E.SMB3-* - >PSTR "SMB3" - .DA #3,#3 - .AS "B7a" -E.SMB3 .HS 00 - .DA #E.SMB4-* - >PSTR "SMB4" - .DA #3,#3 - .AS "C7a" -E.SMB4 .HS 00 - .DA #E.SMB5-* - >PSTR "SMB5" - .DA #3,#3 - .AS "D7a" -E.SMB5 .HS 00 - .DA #E.SMB6-* - >PSTR "SMB6" - .DA #3,#3 - .AS "E7a" -E.SMB6 .HS 00 - .DA #E.SMB7-* - >PSTR "SMB7" - .DA #3,#3 - .AS "F7a" -E.SMB7 .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 #13,#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 -*--------------------------------------- + .LIST OFF +T.OPCODES .EQ * +ADC .DA ADC.E+1 + .HS 03 + .AS "ADC" + .HS 00.03373261 + .HS 01.03373161 + .HS 02.03363161 + .HS 03.03363561 + .HS 04.03373561 + .HS 05.0436446161 + .HS 06.0437446161 + .HS 07.0437396161 + .HS 08.03363969 +ADC.E .HS 00 +AND .DA AND.E+1 + .HS 03 + .AS "AND" + .HS 00.03333261 + .HS 01.03333161 + .HS 02.03323161 + .HS 03.03323561 + .HS 04.03333561 + .HS 05.0432446161 + .HS 06.0433446161 + .HS 07.0433396161 + .HS 08.03323969 +AND.E .HS 00 +ASL .DA ASL.E+1 + .HS 03 + .AS "ASL" + .HS 03.03303661 + .HS 04.03313661 + .HS 05.0430456161 + .HS 06.0431456161 + .HS FF.023041 +ASL.E .HS 00 +BBR0 .DA BBR0.E+1 + .HS 04 + .AS "BBR0" + .HS 09.0430466172 +BBR0.E .HS 00 +BBR1 .DA BBR1.E+1 + .HS 04 + .AS "BBR1" + .HS 09.0431466172 +BBR1.E .HS 00 +BBR2 .DA BBR2.E+1 + .HS 04 + .AS "BBR2" + .HS 09.0432466172 +BBR2.E .HS 00 +BBR3 .DA BBR3.E+1 + .HS 04 + .AS "BBR3" + .HS 09.0433466172 +BBR3.E .HS 00 +BBR4 .DA BBR4.E+1 + .HS 04 + .AS "BBR4" + .HS 09.0434466172 +BBR4.E .HS 00 +BBR5 .DA BBR5.E+1 + .HS 04 + .AS "BBR5" + .HS 09.0435466172 +BBR5.E .HS 00 +BBR6 .DA BBR6.E+1 + .HS 04 + .AS "BBR6" + .HS 09.0436466172 +BBR6.E .HS 00 +BBR7 .DA BBR7.E+1 + .HS 04 + .AS "BBR7" + .HS 09.0437466172 +BBR7.E .HS 00 +BBS0 .DA BBS0.E+1 + .HS 04 + .AS "BBS0" + .HS 09.0438466172 +BBS0.E .HS 00 +BBS1 .DA BBS1.E+1 + .HS 04 + .AS "BBS1" + .HS 09.0439466172 +BBS1.E .HS 00 +BBS2 .DA BBS2.E+1 + .HS 04 + .AS "BBS2" + .HS 09.0441466172 +BBS2.E .HS 00 +BBS3 .DA BBS3.E+1 + .HS 04 + .AS "BBS3" + .HS 09.0442466172 +BBS3.E .HS 00 +BBS4 .DA BBS4.E+1 + .HS 04 + .AS "BBS4" + .HS 09.0443466172 +BBS4.E .HS 00 +BBS5 .DA BBS5.E+1 + .HS 04 + .AS "BBS5" + .HS 09.0444466172 +BBS5.E .HS 00 +BBS6 .DA BBS6.E+1 + .HS 04 + .AS "BBS6" + .HS 09.0445466172 +BBS6.E .HS 00 +BBS7 .DA BBS7.E+1 + .HS 04 + .AS "BBS7" + .HS 09.0446466172 +BBS7.E .HS 00 +BCC .DA BCC.E+1 + .HS 03 + .AS "BCC" + .HS 0A.03393072 +BCC.E .HS 00 +BCS .DA BCS.E+1 + .HS 03 + .AS "BCS" + .HS 0A.03423072 +BCS.E .HS 00 +BEQ .DA BEQ.E+1 + .HS 03 + .AS "BEQ" + .HS 0A.03463072 +BEQ.E .HS 00 +BIT .DA BIT.E+1 + .HS 03 + .AS "BIT" + .HS 03.03323461 + .HS 04.03333461 + .HS 05.0432436161 + .HS 06.0433436161 + .HS 08.03383969 +BIT.E .HS 00 +BMI .DA BMI.E+1 + .HS 03 + .AS "BMI" + .HS 0A.03333072 +BMI.E .HS 00 +BNE .DA BNE.E+1 + .HS 03 + .AS "BNE" + .HS 0A.03443072 +BNE.E .HS 00 +BPL .DA BPL.E+1 + .HS 03 + .AS "BPL" + .HS 0A.03313072 +BPL.E .HS 00 +BRA .DA BRA.E+1 + .HS 03 + .AS "BRA" + .HS 0A.03383072 +BRA.E .HS 00 +BRK .DA BRK.E+1 + .HS 03 + .AS "BRK" + .HS FF.023030 +BRK.E .HS 00 +BVC .DA BVC.E+1 + .HS 03 + .AS "BVC" + .HS 0A.03353072 +BVC.E .HS 00 +BVS .DA BVS.E+1 + .HS 03 + .AS "BVS" + .HS 0A.03373072 +BVS.E .HS 00 +CLC .DA CLC.E+1 + .HS 03 + .AS "CLC" + .HS FF.023138 +CLC.E .HS 00 +CLD .DA CLD.E+1 + .HS 03 + .AS "CLD" + .HS FF.024438 +CLD.E .HS 00 +CLI .DA CLI.E+1 + .HS 03 + .AS "CLI" + .HS FF.023538 +CLI.E .HS 00 +CLV .DA CLV.E+1 + .HS 03 + .AS "CLV" + .HS FF.024238 +CLV.E .HS 00 +CMP .DA CMP.E+1 + .HS 03 + .AS "CMP" + .HS 00.03443261 + .HS 01.03443161 + .HS 02.03433161 + .HS 03.03433561 + .HS 04.03443561 + .HS 05.0443446161 + .HS 06.0444446161 + .HS 07.0444396161 + .HS 08.03433969 +CMP.E .HS 00 +CPX .DA CPX.E+1 + .HS 03 + .AS "CPX" + .HS 03.03453461 + .HS 05.0445636161 + .HS 08.03453069 +CPX.E .HS 00 +CPY .DA CPY.E+1 + .HS 03 + .AS "CPY" + .HS 03.03433461 + .HS 05.0443636161 + .HS 08.03433069 +CPY.E .HS 00 +DEC .DA DEC.E+1 + .HS 03 + .AS "DEC" + .HS FF.023341 + .HS 03.03433661 + .HS 04.03443661 + .HS 05.0443656161 + .HS 06.0444656161 +DEC.E .HS 00 +DEX .DA DEX.E+1 + .HS 03 + .AS "DEX" + .HS FF.024341 +DEX.E .HS 00 +DEY .DA DEY.E+1 + .HS 03 + .AS "DEY" + .HS FF.023838 +DEY.E .HS 00 +EOR .DA EOR.E+1 + .HS 03 + .AS "EOR" + .HS 00.03353261 + .HS 01.03353161 + .HS 02.03343161 + .HS 03.03343561 + .HS 04.03353561 + .HS 05.0434446161 + .HS 06.0435446161 + .HS 07.0435396161 + .HS 08.03343969 +EOR.E .HS 00 +INC .DA INC.E+1 + .HS 03 + .AS "INC" + .HS FF.023141 + .HS 03.03453661 + .HS 04.03463661 + .HS 05.0445656161 + .HS 06.0446656161 +INC.E .HS 00 +INX .DA INX.E+1 + .HS 03 + .AS "INX" + .HS FF.024538 +INX.E .HS 00 +INY .DA INY.E+1 + .HS 03 + .AS "INY" + .HS FF.024338 +INY.E .HS 00 +JMP .DA JMP.E+1 + .HS 03 + .AS "JMP" + .HS 0B.0436436161 + .HS 0C.0437436161 + .HS 05.0434436161 +JMP.E .HS 00 +JSR .DA JSR.E+1 + .HS 03 + .AS "JSR" + .HS 05.0432306161 +JSR.E .HS 00 +LDA .DA LDA.E+1 + .HS 03 + .AS "LDA" + .HS 00.03423261 + .HS 01.03423161 + .HS 02.03413161 + .HS 03.03413561 + .HS 04.03423561 + .HS 05.0441646161 + .HS 06.0442646161 + .HS 07.0442396161 + .HS 08.03413969 +LDA.E .HS 00 +LDX .DA LDX.E+1 + .HS 03 + .AS "LDX" + .HS 03.03413661 + .HS 0D.03423661 + .HS 05.0441656161 + .HS 07.0442656161 + .HS 08.03413269 +LDX.E .HS 00 +LDY .DA LDY.E+1 + .HS 03 + .AS "LDY" + .HS 03.03413461 + .HS 04.03423461 + .HS 05.0441636161 + .HS 06.0442636161 + .HS 08.03413069 +LDY.E .HS 00 +LSR .DA LSR.E+1 + .HS 03 + .AS "LSR" + .HS 03.03343661 + .HS 04.03353661 + .HS 05.0434456161 + .HS 06.0435456161 + .HS FF.023441 +LSR.E .HS 00 +NOP .DA NOP.E+1 + .HS 03 + .AS "NOP" + .HS FF.024541 +NOP.E .HS 00 +ORA .DA ORA.E+1 + .HS 03 + .AS "ORA" + .HS 00.03313261 + .HS 01.03313161 + .HS 02.03303161 + .HS 03.03303561 + .HS 04.03313561 + .HS 05.0430446161 + .HS 06.0431446161 + .HS 07.0431396161 + .HS 08.03303969 +ORA.E .HS 00 +PHA .DA PHA.E+1 + .HS 03 + .AS "PHA" + .HS FF.023438 +PHA.E .HS 00 +PHP .DA PHP.E+1 + .HS 03 + .AS "PHP" + .HS FF.023038 +PHP.E .HS 00 +PHX .DA PHX.E+1 + .HS 03 + .AS "PHX" + .HS FF.024441 +PHX.E .HS 00 +PHY .DA PHY.E+1 + .HS 03 + .AS "PHY" + .HS FF.023541 +PHY.E .HS 00 +PLA .DA PLA.E+1 + .HS 03 + .AS "PLA" + .HS FF.023638 +PLA.E .HS 00 +PLP .DA PLP.E+1 + .HS 03 + .AS "PLP" + .HS FF.023238 +PLP.E .HS 00 +PLX .DA PLX.E+1 + .HS 03 + .AS "PLX" + .HS FF.024641 +PLX.E .HS 00 +PLY .DA PLY.E+1 + .HS 03 + .AS "PLY" + .HS FF.023741 +PLY.E .HS 00 +RMB0 .DA RMB0.E+1 + .HS 04 + .AS "RMB0" + .HS 03.03303761 +RMB0.E .HS 00 +RMB1 .DA RMB1.E+1 + .HS 04 + .AS "RMB1" + .HS 03.03313761 +RMB1.E .HS 00 +RMB2 .DA RMB2.E+1 + .HS 04 + .AS "RMB2" + .HS 03.03323761 +RMB2.E .HS 00 +RMB3 .DA RMB3.E+1 + .HS 04 + .AS "RMB3" + .HS 03.03333761 +RMB3.E .HS 00 +RMB4 .DA RMB4.E+1 + .HS 04 + .AS "RMB4" + .HS 03.03343761 +RMB4.E .HS 00 +RMB5 .DA RMB5.E+1 + .HS 04 + .AS "RMB5" + .HS 03.03353761 +RMB5.E .HS 00 +RMB6 .DA RMB6.E+1 + .HS 04 + .AS "RMB6" + .HS 03.03363761 +RMB6.E .HS 00 +RMB7 .DA RMB7.E+1 + .HS 04 + .AS "RMB7" + .HS 03.03373761 +RMB7.E .HS 00 +ROL .DA ROL.E+1 + .HS 03 + .AS "ROL" + .HS 03.03323661 + .HS 04.03333661 + .HS 05.0432456161 + .HS 06.0433456161 + .HS FF.023241 +ROL.E .HS 00 +ROR .DA ROR.E+1 + .HS 03 + .AS "ROR" + .HS 03.03363661 + .HS 04.03373661 + .HS 05.0436456161 + .HS 06.0437456161 + .HS FF.023641 +ROR.E .HS 00 +RTI .DA RTI.E+1 + .HS 03 + .AS "RTI" + .HS FF.023430 +RTI.E .HS 00 +RTS .DA RTS.E+1 + .HS 03 + .AS "RTS" + .HS FF.023630 +RTS.E .HS 00 +SBC .DA SBC.E+1 + .HS 03 + .AS "SBC" + .HS 00.03463261 + .HS 01.03463161 + .HS 02.03453161 + .HS 03.03453561 + .HS 04.03463561 + .HS 05.0445646161 + .HS 06.0446646161 + .HS 07.0446396161 + .HS 08.03453969 +SBC.E .HS 00 +SEC .DA SEC.E+1 + .HS 03 + .AS "SEC" + .HS FF.023338 +SEC.E .HS 00 +SED .DA SED.E+1 + .HS 03 + .AS "SED" + .HS FF.024638 +SED.E .HS 00 +SEI .DA SEI.E+1 + .HS 03 + .AS "SEI" + .HS FF.023738 +SEI.E .HS 00 +SMB0 .DA SMB0.E+1 + .HS 04 + .AS "SMB0" + .HS 03.03383761 +SMB0.E .HS 00 +SMB1 .DA SMB1.E+1 + .HS 04 + .AS "SMB1" + .HS 03.03393761 +SMB1.E .HS 00 +SMB2 .DA SMB2.E+1 + .HS 04 + .AS "SMB2" + .HS 03.03413761 +SMB2.E .HS 00 +SMB3 .DA SMB3.E+1 + .HS 04 + .AS "SMB3" + .HS 03.03423761 +SMB3.E .HS 00 +SMB4 .DA SMB4.E+1 + .HS 04 + .AS "SMB4" + .HS 03.03433761 +SMB4.E .HS 00 +SMB5 .DA SMB5.E+1 + .HS 04 + .AS "SMB5" + .HS 03.03443761 +SMB5.E .HS 00 +SMB6 .DA SMB6.E+1 + .HS 04 + .AS "SMB6" + .HS 03.03453761 +SMB6.E .HS 00 +SMB7 .DA SMB7.E+1 + .HS 04 + .AS "SMB7" + .HS 03.03463761 +SMB7.E .HS 00 +STA .DA STA.E+1 + .HS 03 + .AS "STA" + .HS 00.03393261 + .HS 01.03393161 + .HS 02.03383161 + .HS 03.03383561 + .HS 04.03393561 + .HS 05.0438446161 + .HS 06.0439446161 + .HS 07.0439396161 +STA.E .HS 00 +STX .DA STX.E+1 + .HS 03 + .AS "STX" + .HS 03.03383661 + .HS 0D.03393661 + .HS 05.0438456161 +STX.E .HS 00 +STY .DA STY.E+1 + .HS 03 + .AS "STY" + .HS 03.03383461 + .HS 04.03393461 + .HS 05.0438436161 +STY.E .HS 00 +STZ .DA STZ.E+1 + .HS 03 + .AS "STZ" + .HS 03.03363461 + .HS 04.03373461 + .HS 05.0439436161 + .HS 06.0439456161 +STZ.E .HS 00 +TAX .DA TAX.E+1 + .HS 03 + .AS "TAX" + .HS FF.024141 +TAX.E .HS 00 +TAY .DA TAY.E+1 + .HS 03 + .AS "TAY" + .HS FF.024138 +TAY.E .HS 00 +TRB .DA TRB.E+1 + .HS 03 + .AS "TRB" + .HS 03.03313461 + .HS 05.0431436161 +TRB.E .HS 00 +TSB .DA TSB.E+1 + .HS 03 + .AS "TSB" + .HS 03.03303461 + .HS 05.0430436161 +TSB.E .HS 00 +TSX .DA TSX.E+1 + .HS 03 + .AS "TSX" + .HS FF.024241 +TSX.E .HS 00 +TXA .DA TXA.E+1 + .HS 03 + .AS "TXA" + .HS FF.023841 +TXA.E .HS 00 +TXS .DA TXS.E+1 + .HS 03 + .AS "TXS" + .HS FF.023941 +TXS.E .HS 00 +TYA .DA TYA.E+1 + .HS 03 + .AS "TYA" + .HS FF.023938 +TYA.E .HS 00 + .HS 0000 MAN SAVE BIN/ASM.T.65R02.O LOAD BIN/ASM.T.65R02.S diff --git a/BIN/ASM.T.65R02.S.txt b/BIN/ASM.T.65R02.S.txt index f45813f2..f32137d5 100644 --- a/BIN/ASM.T.65R02.S.txt +++ b/BIN/ASM.T.65R02.S.txt @@ -3,43 +3,43 @@ PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .LIST OFF - .OR $2000 - .TF /A2OSX.BOOT/BIN/ASM.T.65R02 + .LIST OFF + .OR $0 + .TF /A2OSX.BOOT/BIN/ASM.T.65R02 *--------------------------------------- - .MA PSTR - .DA #:1-*-1 - .AS "]1" -:1 .EQ * - .EM + .MA ST + .DA #:1-*-1 + .AS "]1" +:1 .EQ * + .EM *--------------------------------------- - .DA T.ADDR.MODES - .DA T.REGISTERS - .DA T.OPCODES + .DA T.ADDR.MODES + .DA T.REGISTERS + .DA T.OPCODES *--------------------------------------- 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 + >ST "(a)" + >ST "(a),Y" + >ST "(a,X)" + >ST "a" + >ST "a,X" + >ST "aa" + >ST "aa,X" + >ST "aa,Y" + >ST "i" + >ST "a,r" + >ST "r" + >ST "(aa)" + >ST "(aa,x)" + >ST "a,Y" + .HS 00 *--------------------------------------- -T.REGISTERS .EQ * - >PSTR "Y" - >PSTR "X" - .HS 00 +T.REGISTERS .EQ * + >ST "Y" + >ST "X" + .HS 00 *--------------------------------------- - .INB BIN/ASM.T.65R02.O + .INB BIN/ASM.T.65R02.O *--------------------------------------- MAN SAVE BIN/ASM.T.65R02.S diff --git a/BIN/ASM.T.65W02.O.txt b/BIN/ASM.T.65W02.O.txt index a4c1643c..9f7663a4 100644 --- a/BIN/ASM.T.65W02.O.txt +++ b/BIN/ASM.T.65W02.O.txt @@ -3,729 +3,613 @@ PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .LIST OFF -*--------------------------------------- -T.OPCODES .EQ * - .DA #E.ADC-* - >PSTR "ADC" - .DA #0,#3 - .AS "72a" - .DA #1,#3 - .AS "71a" - .DA #2,#3 - .AS "61a" - .DA #3,#3 - .AS "65a" - .DA #4,#3 - .AS "75a" - .DA #5,#4 - .AS "6Daa" - .DA #6,#4 - .AS "7Daa" - .DA #7,#4 - .AS "79aa" - .DA #8,#3 - .AS "69i" -E.ADC .HS 00 - .DA #E.AND-* - >PSTR "AND" - .DA #0,#3 - .AS "32a" - .DA #1,#3 - .AS "31a" - .DA #2,#3 - .AS "21a" - .DA #3,#3 - .AS "25a" - .DA #4,#3 - .AS "35a" - .DA #5,#4 - .AS "2Daa" - .DA #6,#4 - .AS "3Daa" - .DA #7,#4 - .AS "39aa" - .DA #8,#3 - .AS "29i" -E.AND .HS 00 - .DA #E.ASL-* - >PSTR "ASL" - .DA #3,#3 - .AS "06a" - .DA #4,#3 - .AS "16a" - .DA #5,#4 - .AS "0Eaa" - .DA #6,#4 - .AS "1Eaa" - .DA #255,#2 - .AS "0A" -E.ASL .HS 00 - .DA #E.BBR0-* - >PSTR "BBR0" - .DA #9,#4 - .AS "0Far" -E.BBR0 .HS 00 - .DA #E.BBR1-* - >PSTR "BBR1" - .DA #9,#4 - .AS "1Far" -E.BBR1 .HS 00 - .DA #E.BBR2-* - >PSTR "BBR2" - .DA #9,#4 - .AS "2Far" -E.BBR2 .HS 00 - .DA #E.BBR3-* - >PSTR "BBR3" - .DA #9,#4 - .AS "3Far" -E.BBR3 .HS 00 - .DA #E.BBR4-* - >PSTR "BBR4" - .DA #9,#4 - .AS "4Far" -E.BBR4 .HS 00 - .DA #E.BBR5-* - >PSTR "BBR5" - .DA #9,#4 - .AS "5Far" -E.BBR5 .HS 00 - .DA #E.BBR6-* - >PSTR "BBR6" - .DA #9,#4 - .AS "6Far" -E.BBR6 .HS 00 - .DA #E.BBR7-* - >PSTR "BBR7" - .DA #9,#4 - .AS "7Far" -E.BBR7 .HS 00 - .DA #E.BBS0-* - >PSTR "BBS0" - .DA #9,#4 - .AS "8Far" -E.BBS0 .HS 00 - .DA #E.BBS1-* - >PSTR "BBS1" - .DA #9,#4 - .AS "9Far" -E.BBS1 .HS 00 - .DA #E.BBS2-* - >PSTR "BBS2" - .DA #9,#4 - .AS "AFar" -E.BBS2 .HS 00 - .DA #E.BBS3-* - >PSTR "BBS3" - .DA #9,#4 - .AS "BFar" -E.BBS3 .HS 00 - .DA #E.BBS4-* - >PSTR "BBS4" - .DA #9,#4 - .AS "CFar" -E.BBS4 .HS 00 - .DA #E.BBS5-* - >PSTR "BBS5" - .DA #9,#4 - .AS "DFar" -E.BBS5 .HS 00 - .DA #E.BBS6-* - >PSTR "BBS6" - .DA #9,#4 - .AS "EFar" -E.BBS6 .HS 00 - .DA #E.BBS7-* - >PSTR "BBS7" - .DA #9,#4 - .AS "FFar" -E.BBS7 .HS 00 - .DA #E.BCC-* - >PSTR "BCC" - .DA #10,#3 - .AS "90r" -E.BCC .HS 00 - .DA #E.BCS-* - >PSTR "BCS" - .DA #10,#3 - .AS "B0r" -E.BCS .HS 00 - .DA #E.BEQ-* - >PSTR "BEQ" - .DA #10,#3 - .AS "F0r" -E.BEQ .HS 00 - .DA #E.BIT-* - >PSTR "BIT" - .DA #3,#3 - .AS "24a" - .DA #4,#3 - .AS "34a" - .DA #5,#4 - .AS "2Caa" - .DA #6,#4 - .AS "3Caa" - .DA #8,#3 - .AS "89i" -E.BIT .HS 00 - .DA #E.BMI-* - >PSTR "BMI" - .DA #10,#3 - .AS "30r" -E.BMI .HS 00 - .DA #E.BNE-* - >PSTR "BNE" - .DA #10,#3 - .AS "D0r" -E.BNE .HS 00 - .DA #E.BPL-* - >PSTR "BPL" - .DA #10,#3 - .AS "10r" -E.BPL .HS 00 - .DA #E.BRA-* - >PSTR "BRA" - .DA #10,#3 - .AS "80r" -E.BRA .HS 00 - .DA #E.BRK-* - >PSTR "BRK" - .DA #255,#2 - .AS "00" -E.BRK .HS 00 - .DA #E.BVC-* - >PSTR "BVC" - .DA #10,#3 - .AS "50r" -E.BVC .HS 00 - .DA #E.BVS-* - >PSTR "BVS" - .DA #10,#3 - .AS "70r" -E.BVS .HS 00 - .DA #E.CLC-* - >PSTR "CLC" - .DA #255,#2 - .AS "18" -E.CLC .HS 00 - .DA #E.CLD-* - >PSTR "CLD" - .DA #255,#2 - .AS "D8" -E.CLD .HS 00 - .DA #E.CLI-* - >PSTR "CLI" - .DA #255,#2 - .AS "58" -E.CLI .HS 00 - .DA #E.CLV-* - >PSTR "CLV" - .DA #255,#2 - .AS "B8" -E.CLV .HS 00 - .DA #E.CMP-* - >PSTR "CMP" - .DA #0,#3 - .AS "D2a" - .DA #1,#3 - .AS "D1a" - .DA #2,#3 - .AS "C1a" - .DA #3,#3 - .AS "C5a" - .DA #4,#3 - .AS "D5a" - .DA #5,#4 - .AS "CDaa" - .DA #6,#4 - .AS "DDaa" - .DA #7,#4 - .AS "D9aa" - .DA #8,#3 - .AS "C9i" -E.CMP .HS 00 - .DA #E.CPX-* - >PSTR "CPX" - .DA #3,#3 - .AS "E4a" - .DA #5,#4 - .AS "Ecaa" - .DA #8,#3 - .AS "E0i" -E.CPX .HS 00 - .DA #E.CPY-* - >PSTR "CPY" - .DA #3,#3 - .AS "C4a" - .DA #5,#4 - .AS "Ccaa" - .DA #8,#3 - .AS "C0i" -E.CPY .HS 00 - .DA #E.DEC-* - >PSTR "DEC" - .DA #255,#2 - .AS "3A" - .DA #3,#3 - .AS "C6a" - .DA #4,#3 - .AS "D6a" - .DA #5,#4 - .AS "Ceaa" - .DA #6,#4 - .AS "Deaa" -E.DEC .HS 00 - .DA #E.DEX-* - >PSTR "DEX" - .DA #255,#2 - .AS "CA" -E.DEX .HS 00 - .DA #E.DEY-* - >PSTR "DEY" - .DA #255,#2 - .AS "88" -E.DEY .HS 00 - .DA #E.EOR-* - >PSTR "EOR" - .DA #0,#3 - .AS "52a" - .DA #1,#3 - .AS "51a" - .DA #2,#3 - .AS "41a" - .DA #3,#3 - .AS "45a" - .DA #4,#3 - .AS "55a" - .DA #5,#4 - .AS "4Daa" - .DA #6,#4 - .AS "5Daa" - .DA #7,#4 - .AS "59aa" - .DA #8,#3 - .AS "49i" -E.EOR .HS 00 - .DA #E.INC-* - >PSTR "INC" - .DA #255,#2 - .AS "1A" - .DA #3,#3 - .AS "E6a" - .DA #4,#3 - .AS "F6a" - .DA #5,#4 - .AS "Eeaa" - .DA #6,#4 - .AS "Feaa" -E.INC .HS 00 - .DA #E.INX-* - >PSTR "INX" - .DA #255,#2 - .AS "E8" -E.INX .HS 00 - .DA #E.INY-* - >PSTR "INY" - .DA #255,#2 - .AS "C8" -E.INY .HS 00 - .DA #E.JMP-* - >PSTR "JMP" - .DA #11,#4 - .AS "6Caa" - .DA #12,#4 - .AS "7Caa" - .DA #5,#4 - .AS "4Caa" -E.JMP .HS 00 - .DA #E.JSR-* - >PSTR "JSR" - .DA #5,#4 - .AS "20aa" -E.JSR .HS 00 - .DA #E.LDA-* - >PSTR "LDA" - .DA #0,#3 - .AS "B2a" - .DA #1,#3 - .AS "B1a" - .DA #2,#3 - .AS "A1a" - .DA #3,#3 - .AS "A5a" - .DA #4,#3 - .AS "B5a" - .DA #5,#4 - .AS "Adaa" - .DA #6,#4 - .AS "Bdaa" - .DA #7,#4 - .AS "B9aa" - .DA #8,#3 - .AS "A9i" -E.LDA .HS 00 - .DA #E.LDX-* - >PSTR "LDX" - .DA #3,#3 - .AS "A6a" - .DA #13,#3 - .AS "B6a" - .DA #5,#4 - .AS "Aeaa" - .DA #7,#4 - .AS "Beaa" - .DA #8,#3 - .AS "A2i" -E.LDX .HS 00 - .DA #E.LDY-* - >PSTR "LDY" - .DA #3,#3 - .AS "A4a" - .DA #4,#3 - .AS "B4a" - .DA #5,#4 - .AS "Acaa" - .DA #6,#4 - .AS "Bcaa" - .DA #8,#3 - .AS "A0i" -E.LDY .HS 00 - .DA #E.LSR-* - >PSTR "LSR" - .DA #3,#3 - .AS "46a" - .DA #4,#3 - .AS "56a" - .DA #5,#4 - .AS "4Eaa" - .DA #6,#4 - .AS "5Eaa" - .DA #255,#2 - .AS "4A" -E.LSR .HS 00 - .DA #E.NOP-* - >PSTR "NOP" - .DA #255,#2 - .AS "EA" -E.NOP .HS 00 - .DA #E.ORA-* - >PSTR "ORA" - .DA #0,#3 - .AS "12a" - .DA #1,#3 - .AS "11a" - .DA #2,#3 - .AS "01a" - .DA #3,#3 - .AS "05a" - .DA #4,#3 - .AS "15a" - .DA #5,#4 - .AS "0Daa" - .DA #6,#4 - .AS "1Daa" - .DA #7,#4 - .AS "19aa" - .DA #8,#3 - .AS "09i" -E.ORA .HS 00 - .DA #E.PHA-* - >PSTR "PHA" - .DA #255,#2 - .AS "48" -E.PHA .HS 00 - .DA #E.PHP-* - >PSTR "PHP" - .DA #255,#2 - .AS "08" -E.PHP .HS 00 - .DA #E.PHX-* - >PSTR "PHX" - .DA #255,#2 - .AS "DA" -E.PHX .HS 00 - .DA #E.PHY-* - >PSTR "PHY" - .DA #255,#2 - .AS "5A" -E.PHY .HS 00 - .DA #E.PLA-* - >PSTR "PLA" - .DA #255,#2 - .AS "68" -E.PLA .HS 00 - .DA #E.PLP-* - >PSTR "PLP" - .DA #255,#2 - .AS "28" -E.PLP .HS 00 - .DA #E.PLX-* - >PSTR "PLX" - .DA #255,#2 - .AS "FA" -E.PLX .HS 00 - .DA #E.PLY-* - >PSTR "PLY" - .DA #255,#2 - .AS "7A" -E.PLY .HS 00 - .DA #E.RMB0-* - >PSTR "RMB0" - .DA #3,#3 - .AS "07a" -E.RMB0 .HS 00 - .DA #E.RMB1-* - >PSTR "RMB1" - .DA #3,#3 - .AS "17a" -E.RMB1 .HS 00 - .DA #E.RMB2-* - >PSTR "RMB2" - .DA #3,#3 - .AS "27a" -E.RMB2 .HS 00 - .DA #E.RMB3-* - >PSTR "RMB3" - .DA #3,#3 - .AS "37a" -E.RMB3 .HS 00 - .DA #E.RMB4-* - >PSTR "RMB4" - .DA #3,#3 - .AS "47a" -E.RMB4 .HS 00 - .DA #E.RMB5-* - >PSTR "RMB5" - .DA #3,#3 - .AS "57a" -E.RMB5 .HS 00 - .DA #E.RMB6-* - >PSTR "RMB6" - .DA #3,#3 - .AS "67a" -E.RMB6 .HS 00 - .DA #E.RMB7-* - >PSTR "RMB7" - .DA #3,#3 - .AS "77a" -E.RMB7 .HS 00 - .DA #E.ROL-* - >PSTR "ROL" - .DA #3,#3 - .AS "26a" - .DA #4,#3 - .AS "36a" - .DA #5,#4 - .AS "2Eaa" - .DA #6,#4 - .AS "3Eaa" - .DA #255,#2 - .AS "2A" -E.ROL .HS 00 - .DA #E.ROR-* - >PSTR "ROR" - .DA #3,#3 - .AS "66a" - .DA #4,#3 - .AS "76a" - .DA #5,#4 - .AS "6Eaa" - .DA #6,#4 - .AS "7Eaa" - .DA #255,#2 - .AS "6A" -E.ROR .HS 00 - .DA #E.RTI-* - >PSTR "RTI" - .DA #255,#2 - .AS "40" -E.RTI .HS 00 - .DA #E.RTS-* - >PSTR "RTS" - .DA #255,#2 - .AS "60" -E.RTS .HS 00 - .DA #E.SBC-* - >PSTR "SBC" - .DA #0,#3 - .AS "F2a" - .DA #1,#3 - .AS "F1a" - .DA #2,#3 - .AS "E1a" - .DA #3,#3 - .AS "E5a" - .DA #4,#3 - .AS "F5a" - .DA #5,#4 - .AS "Edaa" - .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.SMB0-* - >PSTR "SMB0" - .DA #3,#3 - .AS "87a" -E.SMB0 .HS 00 - .DA #E.SMB1-* - >PSTR "SMB1" - .DA #3,#3 - .AS "97a" -E.SMB1 .HS 00 - .DA #E.SMB2-* - >PSTR "SMB2" - .DA #3,#3 - .AS "A7a" -E.SMB2 .HS 00 - .DA #E.SMB3-* - >PSTR "SMB3" - .DA #3,#3 - .AS "B7a" -E.SMB3 .HS 00 - .DA #E.SMB4-* - >PSTR "SMB4" - .DA #3,#3 - .AS "C7a" -E.SMB4 .HS 00 - .DA #E.SMB5-* - >PSTR "SMB5" - .DA #3,#3 - .AS "D7a" -E.SMB5 .HS 00 - .DA #E.SMB6-* - >PSTR "SMB6" - .DA #3,#3 - .AS "E7a" -E.SMB6 .HS 00 - .DA #E.SMB7-* - >PSTR "SMB7" - .DA #3,#3 - .AS "F7a" -E.SMB7 .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.STP-* - >PSTR "STP" - .DA #255,#2 - .AS "DB" -E.STP .HS 00 - .DA #E.STX-* - >PSTR "STX" - .DA #3,#3 - .AS "86a" - .DA #13,#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 - .DA #E.WAI-* - >PSTR "WAI" - .DA #255,#2 - .AS "CB" -E.WAI .HS 00 - .HS 00 -*--------------------------------------- + .LIST OFF +T.OPCODES .EQ * +ADC .DA ADC.E+1 + .HS 03 + .AS "ADC" + .HS 00.03373261 + .HS 01.03373161 + .HS 02.03363161 + .HS 03.03363561 + .HS 04.03373561 + .HS 05.0436446161 + .HS 06.0437446161 + .HS 07.0437396161 + .HS 08.03363969 +ADC.E .HS 00 +AND .DA AND.E+1 + .HS 03 + .AS "AND" + .HS 00.03333261 + .HS 01.03333161 + .HS 02.03323161 + .HS 03.03323561 + .HS 04.03333561 + .HS 05.0432446161 + .HS 06.0433446161 + .HS 07.0433396161 + .HS 08.03323969 +AND.E .HS 00 +ASL .DA ASL.E+1 + .HS 03 + .AS "ASL" + .HS 03.03303661 + .HS 04.03313661 + .HS 05.0430456161 + .HS 06.0431456161 + .HS FF.023041 +ASL.E .HS 00 +BBR0 .DA BBR0.E+1 + .HS 04 + .AS "BBR0" + .HS 09.0430466172 +BBR0.E .HS 00 +BBR1 .DA BBR1.E+1 + .HS 04 + .AS "BBR1" + .HS 09.0431466172 +BBR1.E .HS 00 +BBR2 .DA BBR2.E+1 + .HS 04 + .AS "BBR2" + .HS 09.0432466172 +BBR2.E .HS 00 +BBR3 .DA BBR3.E+1 + .HS 04 + .AS "BBR3" + .HS 09.0433466172 +BBR3.E .HS 00 +BBR4 .DA BBR4.E+1 + .HS 04 + .AS "BBR4" + .HS 09.0434466172 +BBR4.E .HS 00 +BBR5 .DA BBR5.E+1 + .HS 04 + .AS "BBR5" + .HS 09.0435466172 +BBR5.E .HS 00 +BBR6 .DA BBR6.E+1 + .HS 04 + .AS "BBR6" + .HS 09.0436466172 +BBR6.E .HS 00 +BBR7 .DA BBR7.E+1 + .HS 04 + .AS "BBR7" + .HS 09.0437466172 +BBR7.E .HS 00 +BBS0 .DA BBS0.E+1 + .HS 04 + .AS "BBS0" + .HS 09.0438466172 +BBS0.E .HS 00 +BBS1 .DA BBS1.E+1 + .HS 04 + .AS "BBS1" + .HS 09.0439466172 +BBS1.E .HS 00 +BBS2 .DA BBS2.E+1 + .HS 04 + .AS "BBS2" + .HS 09.0441466172 +BBS2.E .HS 00 +BBS3 .DA BBS3.E+1 + .HS 04 + .AS "BBS3" + .HS 09.0442466172 +BBS3.E .HS 00 +BBS4 .DA BBS4.E+1 + .HS 04 + .AS "BBS4" + .HS 09.0443466172 +BBS4.E .HS 00 +BBS5 .DA BBS5.E+1 + .HS 04 + .AS "BBS5" + .HS 09.0444466172 +BBS5.E .HS 00 +BBS6 .DA BBS6.E+1 + .HS 04 + .AS "BBS6" + .HS 09.0445466172 +BBS6.E .HS 00 +BBS7 .DA BBS7.E+1 + .HS 04 + .AS "BBS7" + .HS 09.0446466172 +BBS7.E .HS 00 +BCC .DA BCC.E+1 + .HS 03 + .AS "BCC" + .HS 0A.03393072 +BCC.E .HS 00 +BCS .DA BCS.E+1 + .HS 03 + .AS "BCS" + .HS 0A.03423072 +BCS.E .HS 00 +BEQ .DA BEQ.E+1 + .HS 03 + .AS "BEQ" + .HS 0A.03463072 +BEQ.E .HS 00 +BIT .DA BIT.E+1 + .HS 03 + .AS "BIT" + .HS 03.03323461 + .HS 04.03333461 + .HS 05.0432436161 + .HS 06.0433436161 + .HS 08.03383969 +BIT.E .HS 00 +BMI .DA BMI.E+1 + .HS 03 + .AS "BMI" + .HS 0A.03333072 +BMI.E .HS 00 +BNE .DA BNE.E+1 + .HS 03 + .AS "BNE" + .HS 0A.03443072 +BNE.E .HS 00 +BPL .DA BPL.E+1 + .HS 03 + .AS "BPL" + .HS 0A.03313072 +BPL.E .HS 00 +BRA .DA BRA.E+1 + .HS 03 + .AS "BRA" + .HS 0A.03383072 +BRA.E .HS 00 +BRK .DA BRK.E+1 + .HS 03 + .AS "BRK" + .HS FF.023030 +BRK.E .HS 00 +BVC .DA BVC.E+1 + .HS 03 + .AS "BVC" + .HS 0A.03353072 +BVC.E .HS 00 +BVS .DA BVS.E+1 + .HS 03 + .AS "BVS" + .HS 0A.03373072 +BVS.E .HS 00 +CLC .DA CLC.E+1 + .HS 03 + .AS "CLC" + .HS FF.023138 +CLC.E .HS 00 +CLD .DA CLD.E+1 + .HS 03 + .AS "CLD" + .HS FF.024438 +CLD.E .HS 00 +CLI .DA CLI.E+1 + .HS 03 + .AS "CLI" + .HS FF.023538 +CLI.E .HS 00 +CLV .DA CLV.E+1 + .HS 03 + .AS "CLV" + .HS FF.024238 +CLV.E .HS 00 +CMP .DA CMP.E+1 + .HS 03 + .AS "CMP" + .HS 00.03443261 + .HS 01.03443161 + .HS 02.03433161 + .HS 03.03433561 + .HS 04.03443561 + .HS 05.0443446161 + .HS 06.0444446161 + .HS 07.0444396161 + .HS 08.03433969 +CMP.E .HS 00 +CPX .DA CPX.E+1 + .HS 03 + .AS "CPX" + .HS 03.03453461 + .HS 05.0445636161 + .HS 08.03453069 +CPX.E .HS 00 +CPY .DA CPY.E+1 + .HS 03 + .AS "CPY" + .HS 03.03433461 + .HS 05.0443636161 + .HS 08.03433069 +CPY.E .HS 00 +DEC .DA DEC.E+1 + .HS 03 + .AS "DEC" + .HS FF.023341 + .HS 03.03433661 + .HS 04.03443661 + .HS 05.0443656161 + .HS 06.0444656161 +DEC.E .HS 00 +DEX .DA DEX.E+1 + .HS 03 + .AS "DEX" + .HS FF.024341 +DEX.E .HS 00 +DEY .DA DEY.E+1 + .HS 03 + .AS "DEY" + .HS FF.023838 +DEY.E .HS 00 +EOR .DA EOR.E+1 + .HS 03 + .AS "EOR" + .HS 00.03353261 + .HS 01.03353161 + .HS 02.03343161 + .HS 03.03343561 + .HS 04.03353561 + .HS 05.0434446161 + .HS 06.0435446161 + .HS 07.0435396161 + .HS 08.03343969 +EOR.E .HS 00 +INC .DA INC.E+1 + .HS 03 + .AS "INC" + .HS FF.023141 + .HS 03.03453661 + .HS 04.03463661 + .HS 05.0445656161 + .HS 06.0446656161 +INC.E .HS 00 +INX .DA INX.E+1 + .HS 03 + .AS "INX" + .HS FF.024538 +INX.E .HS 00 +INY .DA INY.E+1 + .HS 03 + .AS "INY" + .HS FF.024338 +INY.E .HS 00 +JMP .DA JMP.E+1 + .HS 03 + .AS "JMP" + .HS 0B.0436436161 + .HS 0C.0437436161 + .HS 05.0434436161 +JMP.E .HS 00 +JSR .DA JSR.E+1 + .HS 03 + .AS "JSR" + .HS 05.0432306161 +JSR.E .HS 00 +LDA .DA LDA.E+1 + .HS 03 + .AS "LDA" + .HS 00.03423261 + .HS 01.03423161 + .HS 02.03413161 + .HS 03.03413561 + .HS 04.03423561 + .HS 05.0441646161 + .HS 06.0442646161 + .HS 07.0442396161 + .HS 08.03413969 +LDA.E .HS 00 +LDX .DA LDX.E+1 + .HS 03 + .AS "LDX" + .HS 03.03413661 + .HS 0D.03423661 + .HS 05.0441656161 + .HS 07.0442656161 + .HS 08.03413269 +LDX.E .HS 00 +LDY .DA LDY.E+1 + .HS 03 + .AS "LDY" + .HS 03.03413461 + .HS 04.03423461 + .HS 05.0441636161 + .HS 06.0442636161 + .HS 08.03413069 +LDY.E .HS 00 +LSR .DA LSR.E+1 + .HS 03 + .AS "LSR" + .HS 03.03343661 + .HS 04.03353661 + .HS 05.0434456161 + .HS 06.0435456161 + .HS FF.023441 +LSR.E .HS 00 +NOP .DA NOP.E+1 + .HS 03 + .AS "NOP" + .HS FF.024541 +NOP.E .HS 00 +ORA .DA ORA.E+1 + .HS 03 + .AS "ORA" + .HS 00.03313261 + .HS 01.03313161 + .HS 02.03303161 + .HS 03.03303561 + .HS 04.03313561 + .HS 05.0430446161 + .HS 06.0431446161 + .HS 07.0431396161 + .HS 08.03303969 +ORA.E .HS 00 +PHA .DA PHA.E+1 + .HS 03 + .AS "PHA" + .HS FF.023438 +PHA.E .HS 00 +PHP .DA PHP.E+1 + .HS 03 + .AS "PHP" + .HS FF.023038 +PHP.E .HS 00 +PHX .DA PHX.E+1 + .HS 03 + .AS "PHX" + .HS FF.024441 +PHX.E .HS 00 +PHY .DA PHY.E+1 + .HS 03 + .AS "PHY" + .HS FF.023541 +PHY.E .HS 00 +PLA .DA PLA.E+1 + .HS 03 + .AS "PLA" + .HS FF.023638 +PLA.E .HS 00 +PLP .DA PLP.E+1 + .HS 03 + .AS "PLP" + .HS FF.023238 +PLP.E .HS 00 +PLX .DA PLX.E+1 + .HS 03 + .AS "PLX" + .HS FF.024641 +PLX.E .HS 00 +PLY .DA PLY.E+1 + .HS 03 + .AS "PLY" + .HS FF.023741 +PLY.E .HS 00 +RMB0 .DA RMB0.E+1 + .HS 04 + .AS "RMB0" + .HS 03.03303761 +RMB0.E .HS 00 +RMB1 .DA RMB1.E+1 + .HS 04 + .AS "RMB1" + .HS 03.03313761 +RMB1.E .HS 00 +RMB2 .DA RMB2.E+1 + .HS 04 + .AS "RMB2" + .HS 03.03323761 +RMB2.E .HS 00 +RMB3 .DA RMB3.E+1 + .HS 04 + .AS "RMB3" + .HS 03.03333761 +RMB3.E .HS 00 +RMB4 .DA RMB4.E+1 + .HS 04 + .AS "RMB4" + .HS 03.03343761 +RMB4.E .HS 00 +RMB5 .DA RMB5.E+1 + .HS 04 + .AS "RMB5" + .HS 03.03353761 +RMB5.E .HS 00 +RMB6 .DA RMB6.E+1 + .HS 04 + .AS "RMB6" + .HS 03.03363761 +RMB6.E .HS 00 +RMB7 .DA RMB7.E+1 + .HS 04 + .AS "RMB7" + .HS 03.03373761 +RMB7.E .HS 00 +ROL .DA ROL.E+1 + .HS 03 + .AS "ROL" + .HS 03.03323661 + .HS 04.03333661 + .HS 05.0432456161 + .HS 06.0433456161 + .HS FF.023241 +ROL.E .HS 00 +ROR .DA ROR.E+1 + .HS 03 + .AS "ROR" + .HS 03.03363661 + .HS 04.03373661 + .HS 05.0436456161 + .HS 06.0437456161 + .HS FF.023641 +ROR.E .HS 00 +RTI .DA RTI.E+1 + .HS 03 + .AS "RTI" + .HS FF.023430 +RTI.E .HS 00 +RTS .DA RTS.E+1 + .HS 03 + .AS "RTS" + .HS FF.023630 +RTS.E .HS 00 +SBC .DA SBC.E+1 + .HS 03 + .AS "SBC" + .HS 00.03463261 + .HS 01.03463161 + .HS 02.03453161 + .HS 03.03453561 + .HS 04.03463561 + .HS 05.0445646161 + .HS 06.0446646161 + .HS 07.0446396161 + .HS 08.03453969 +SBC.E .HS 00 +SEC .DA SEC.E+1 + .HS 03 + .AS "SEC" + .HS FF.023338 +SEC.E .HS 00 +SED .DA SED.E+1 + .HS 03 + .AS "SED" + .HS FF.024638 +SED.E .HS 00 +SEI .DA SEI.E+1 + .HS 03 + .AS "SEI" + .HS FF.023738 +SEI.E .HS 00 +SMB0 .DA SMB0.E+1 + .HS 04 + .AS "SMB0" + .HS 03.03383761 +SMB0.E .HS 00 +SMB1 .DA SMB1.E+1 + .HS 04 + .AS "SMB1" + .HS 03.03393761 +SMB1.E .HS 00 +SMB2 .DA SMB2.E+1 + .HS 04 + .AS "SMB2" + .HS 03.03413761 +SMB2.E .HS 00 +SMB3 .DA SMB3.E+1 + .HS 04 + .AS "SMB3" + .HS 03.03423761 +SMB3.E .HS 00 +SMB4 .DA SMB4.E+1 + .HS 04 + .AS "SMB4" + .HS 03.03433761 +SMB4.E .HS 00 +SMB5 .DA SMB5.E+1 + .HS 04 + .AS "SMB5" + .HS 03.03443761 +SMB5.E .HS 00 +SMB6 .DA SMB6.E+1 + .HS 04 + .AS "SMB6" + .HS 03.03453761 +SMB6.E .HS 00 +SMB7 .DA SMB7.E+1 + .HS 04 + .AS "SMB7" + .HS 03.03463761 +SMB7.E .HS 00 +STA .DA STA.E+1 + .HS 03 + .AS "STA" + .HS 00.03393261 + .HS 01.03393161 + .HS 02.03383161 + .HS 03.03383561 + .HS 04.03393561 + .HS 05.0438446161 + .HS 06.0439446161 + .HS 07.0439396161 +STA.E .HS 00 +STP .DA STP.E+1 + .HS 03 + .AS "STP" + .HS FF.024442 +STP.E .HS 00 +STX .DA STX.E+1 + .HS 03 + .AS "STX" + .HS 03.03383661 + .HS 0D.03393661 + .HS 05.0438456161 +STX.E .HS 00 +STY .DA STY.E+1 + .HS 03 + .AS "STY" + .HS 03.03383461 + .HS 04.03393461 + .HS 05.0438436161 +STY.E .HS 00 +STZ .DA STZ.E+1 + .HS 03 + .AS "STZ" + .HS 03.03363461 + .HS 04.03373461 + .HS 05.0439436161 + .HS 06.0439456161 +STZ.E .HS 00 +TAX .DA TAX.E+1 + .HS 03 + .AS "TAX" + .HS FF.024141 +TAX.E .HS 00 +TAY .DA TAY.E+1 + .HS 03 + .AS "TAY" + .HS FF.024138 +TAY.E .HS 00 +TRB .DA TRB.E+1 + .HS 03 + .AS "TRB" + .HS 03.03313461 + .HS 05.0431436161 +TRB.E .HS 00 +TSB .DA TSB.E+1 + .HS 03 + .AS "TSB" + .HS 03.03303461 + .HS 05.0430436161 +TSB.E .HS 00 +TSX .DA TSX.E+1 + .HS 03 + .AS "TSX" + .HS FF.024241 +TSX.E .HS 00 +TXA .DA TXA.E+1 + .HS 03 + .AS "TXA" + .HS FF.023841 +TXA.E .HS 00 +TXS .DA TXS.E+1 + .HS 03 + .AS "TXS" + .HS FF.023941 +TXS.E .HS 00 +TYA .DA TYA.E+1 + .HS 03 + .AS "TYA" + .HS FF.023938 +TYA.E .HS 00 +WAI .DA WAI.E+1 + .HS 03 + .AS "WAI" + .HS FF.024342 +WAI.E .HS 00 + .HS 0000 MAN SAVE BIN/ASM.T.65W02.O LOAD BIN/ASM.T.65W02.S diff --git a/BIN/ASM.T.65W02.S.txt b/BIN/ASM.T.65W02.S.txt index 8fbdefe8..ae0ad5a8 100644 --- a/BIN/ASM.T.65W02.S.txt +++ b/BIN/ASM.T.65W02.S.txt @@ -3,43 +3,43 @@ PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .LIST OFF - .OR $2000 - .TF /A2OSX.BOOT/BIN/ASM.T.65W02 + .LIST OFF + .OR $0 + .TF /A2OSX.BOOT/BIN/ASM.T.65W02 *--------------------------------------- - .MA PSTR - .DA #:1-*-1 - .AS "]1" -:1 .EQ * - .EM + .MA ST + .DA #:1-*-1 + .AS "]1" +:1 .EQ * + .EM *--------------------------------------- - .DA T.ADDR.MODES - .DA T.REGISTERS - .DA T.OPCODES + .DA T.ADDR.MODES + .DA T.REGISTERS + .DA T.OPCODES *--------------------------------------- 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 + >ST "(a)" + >ST "(a),Y" + >ST "(a,X)" + >ST "a" + >ST "a,X" + >ST "aa" + >ST "aa,X" + >ST "aa,Y" + >ST "i" + >ST "a,r" + >ST "r" + >ST "(aa)" + >ST "(aa,x)" + >ST "a,Y" + .HS 00 *--------------------------------------- -T.REGISTERS .EQ * - >PSTR "Y" - >PSTR "X" - .HS 00 +T.REGISTERS .EQ * + >ST "Y" + >ST "X" + .HS 00 *--------------------------------------- - .INB BIN/ASM.T.65W02.O + .INB BIN/ASM.T.65W02.O *--------------------------------------- MAN SAVE BIN/ASM.T.65W02.S diff --git a/BIN/ASM.T.SW16.O.txt b/BIN/ASM.T.SW16.O.txt new file mode 100644 index 00000000..5441835c --- /dev/null +++ b/BIN/ASM.T.SW16.O.txt @@ -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 diff --git a/BIN/ASM.T.SW16.S.txt b/BIN/ASM.T.SW16.S.txt new file mode 100644 index 00000000..09d88a3d --- /dev/null +++ b/BIN/ASM.T.SW16.S.txt @@ -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 diff --git a/BIN/ASM.T.Z80.O.txt b/BIN/ASM.T.Z80.O.txt index 59ba0ea2..0e6c7054 100644 --- a/BIN/ASM.T.Z80.O.txt +++ b/BIN/ASM.T.Z80.O.txt @@ -3,1207 +3,1205 @@ PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .LIST OFF -*--------------------------------------- -T.OPCODES .EQ * -ADC .DA .9-* - .DA #3 - .AS "ADC" - .DA #0,#2,#'8,#'E - .DA #1,#5,#'D,#'D,#'8,#'E,#'a - .DA #2,#5,#'F,#'D,#'8,#'E,#'a - .DA #3,#2,#'8,#'F - .DA #4,#3,#'C,#'E,#'a - .DA #5,#2,#'8,#'8 - .DA #6,#2,#'8,#'9 - .DA #7,#2,#'8,#'A - .DA #8,#2,#'8,#'B - .DA #9,#2,#'8,#'C - .DA #10,#2,#'8,#'D - .DA #11,#4,#'E,#'D,#'4,#'A - .DA #12,#4,#'E,#'D,#'5,#'A - .DA #13,#4,#'E,#'D,#'6,#'A - .DA #14,#4,#'E,#'D,#'7,#'A -.9 .HS 00 -ADD .DA .9-* - .DA #3 - .AS "ADD" - .DA #0,#2,#'8,#'6 - .DA #1,#5,#'D,#'D,#'8,#'6,#'a - .DA #2,#5,#'F,#'D,#'8,#'6,#'a - .DA #3,#2,#'8,#'7 - .DA #4,#3,#'C,#'6,#'a - .DA #5,#2,#'8,#'0 - .DA #6,#2,#'8,#'1 - .DA #7,#2,#'8,#'2 - .DA #8,#2,#'8,#'3 - .DA #9,#2,#'8,#'4 - .DA #10,#2,#'8,#'5 - .DA #11,#2,#'0,#'9 - .DA #12,#2,#'1,#'9 - .DA #13,#2,#'2,#'9 - .DA #14,#2,#'3,#'9 - .DA #15,#4,#'D,#'D,#'0,#'9 - .DA #16,#4,#'D,#'D,#'1,#'9 - .DA #17,#4,#'D,#'D,#'2,#'9 - .DA #18,#4,#'D,#'D,#'3,#'9 - .DA #19,#4,#'F,#'D,#'0,#'9 - .DA #20,#4,#'F,#'D,#'1,#'9 - .DA #21,#4,#'F,#'D,#'2,#'9 - .DA #22,#4,#'F,#'D,#'3,#'9 -.9 .HS 00 -AND .DA .9-* - .DA #3 - .AS "AND" - .DA #23,#2,#'A,#'6 - .DA #24,#5,#'D,#'D,#'A,#'6,#'a - .DA #25,#5,#'F,#'D,#'A,#'6,#'a - .DA #26,#2,#'A,#'7 - .DA #27,#3,#'E,#'6,#'a - .DA #28,#2,#'A,#'0 - .DA #29,#2,#'A,#'1 - .DA #30,#2,#'A,#'2 - .DA #31,#2,#'A,#'3 - .DA #32,#2,#'A,#'4 - .DA #33,#2,#'A,#'5 -.9 .HS 00 -BIT0 .DA .9-* - .DA #4 - .AS "BIT0" - .DA #23,#4,#'C,#'B,#'4,#'6 - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'4,#'6 - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'4,#'6 - .DA #26,#4,#'C,#'B,#'4,#'7 - .DA #28,#4,#'C,#'B,#'4,#'0 - .DA #29,#4,#'C,#'B,#'4,#'1 - .DA #30,#4,#'C,#'B,#'4,#'2 - .DA #31,#4,#'C,#'B,#'4,#'3 - .DA #32,#4,#'C,#'B,#'4,#'4 - .DA #33,#4,#'C,#'B,#'4,#'5 -.9 .HS 00 -BIT1 .DA .9-* - .DA #4 - .AS "BIT1" - .DA #23,#4,#'C,#'B,#'4,#'E - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'4,#'E - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'4,#'E - .DA #26,#4,#'C,#'B,#'4,#'F - .DA #28,#4,#'C,#'B,#'4,#'8 - .DA #29,#4,#'C,#'B,#'4,#'9 - .DA #30,#4,#'C,#'B,#'4,#'A - .DA #31,#4,#'C,#'B,#'4,#'B - .DA #32,#4,#'C,#'B,#'4,#'C - .DA #33,#4,#'C,#'B,#'4,#'D -.9 .HS 00 -BIT2 .DA .9-* - .DA #4 - .AS "BIT2" - .DA #23,#4,#'C,#'B,#'5,#'6 - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'5,#'6 - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'5,#'6 - .DA #26,#4,#'C,#'B,#'5,#'7 - .DA #28,#4,#'C,#'B,#'5,#'0 - .DA #29,#4,#'C,#'B,#'5,#'1 - .DA #30,#4,#'C,#'B,#'5,#'2 - .DA #31,#4,#'C,#'B,#'5,#'3 - .DA #32,#4,#'C,#'B,#'5,#'4 - .DA #33,#4,#'C,#'B,#'5,#'5 -.9 .HS 00 -BIT3 .DA .9-* - .DA #4 - .AS "BIT3" - .DA #23,#4,#'C,#'B,#'5,#'E - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'5,#'E - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'5,#'E - .DA #26,#4,#'C,#'B,#'5,#'F - .DA #28,#4,#'C,#'B,#'5,#'8 - .DA #29,#4,#'C,#'B,#'5,#'9 - .DA #30,#4,#'C,#'B,#'5,#'A - .DA #31,#4,#'C,#'B,#'5,#'B - .DA #32,#4,#'C,#'B,#'5,#'C - .DA #33,#4,#'C,#'B,#'5,#'D -.9 .HS 00 -BIT4 .DA .9-* - .DA #4 - .AS "BIT4" - .DA #23,#4,#'C,#'B,#'6,#'6 - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'6,#'6 - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'6,#'6 - .DA #26,#4,#'C,#'B,#'6,#'7 - .DA #28,#4,#'C,#'B,#'6,#'0 - .DA #29,#4,#'C,#'B,#'6,#'1 - .DA #30,#4,#'C,#'B,#'6,#'2 - .DA #31,#4,#'C,#'B,#'6,#'3 - .DA #32,#4,#'C,#'B,#'6,#'4 - .DA #33,#4,#'C,#'B,#'6,#'5 -.9 .HS 00 -BIT5 .DA .9-* - .DA #4 - .AS "BIT5" - .DA #23,#4,#'C,#'B,#'6,#'E - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'6,#'E - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'6,#'E - .DA #26,#4,#'C,#'B,#'6,#'F - .DA #28,#4,#'C,#'B,#'6,#'8 - .DA #29,#4,#'C,#'B,#'6,#'9 - .DA #30,#4,#'C,#'B,#'6,#'A - .DA #31,#4,#'C,#'B,#'6,#'B - .DA #32,#4,#'C,#'B,#'6,#'C - .DA #33,#4,#'C,#'B,#'6,#'D -.9 .HS 00 -BIT6 .DA .9-* - .DA #4 - .AS "BIT6" - .DA #23,#4,#'C,#'B,#'7,#'6 - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'7,#'6 - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'7,#'6 - .DA #26,#4,#'C,#'B,#'7,#'7 - .DA #28,#4,#'C,#'B,#'7,#'0 - .DA #29,#4,#'C,#'B,#'7,#'1 - .DA #30,#4,#'C,#'B,#'7,#'2 - .DA #31,#4,#'C,#'B,#'7,#'3 - .DA #32,#4,#'C,#'B,#'7,#'4 - .DA #33,#4,#'C,#'B,#'7,#'5 -.9 .HS 00 -BIT7 .DA .9-* - .DA #4 - .AS "BIT7" - .DA #23,#4,#'C,#'B,#'7,#'E - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'7,#'E - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'7,#'E - .DA #26,#4,#'C,#'B,#'7,#'F - .DA #28,#4,#'C,#'B,#'7,#'8 - .DA #29,#4,#'C,#'B,#'7,#'9 - .DA #30,#4,#'C,#'B,#'7,#'A - .DA #31,#4,#'C,#'B,#'7,#'B - .DA #32,#4,#'C,#'B,#'7,#'C - .DA #33,#4,#'C,#'B,#'7,#'D -.9 .HS 00 -CALL .DA .9-* - .DA #4 - .AS "CALL" - .DA #34,#4,#'C,#'D,#'a,#'a -.9 .HS 00 -CALLC .DA .9-* - .DA #5 - .AS "CALLC" - .DA #34,#4,#'D,#'C,#'a,#'a -.9 .HS 00 -CALLM .DA .9-* - .DA #5 - .AS "CALLM" - .DA #34,#4,#'F,#'C,#'a,#'a -.9 .HS 00 -CALLNC .DA .9-* - .DA #6 - .AS "CALLNC" - .DA #34,#4,#'D,#'4,#'a,#'a -.9 .HS 00 -CALLNZ .DA .9-* - .DA #6 - .AS "CALLNZ" - .DA #34,#4,#'C,#'4,#'a,#'a -.9 .HS 00 -CALLP .DA .9-* - .DA #5 - .AS "CALLP" - .DA #34,#4,#'F,#'4,#'a,#'a -.9 .HS 00 -CALLPE .DA .9-* - .DA #6 - .AS "CALLPE" - .DA #34,#4,#'E,#'C,#'a,#'a -.9 .HS 00 -CALLPO .DA .9-* - .DA #6 - .AS "CALLPO" - .DA #34,#4,#'E,#'4,#'a,#'a -.9 .HS 00 -CALLZ .DA .9-* - .DA #5 - .AS "CALLZ" - .DA #34,#4,#'C,#'C,#'a,#'a -.9 .HS 00 -CCF .DA .9-* - .DA #3 - .AS "CCF" - .DA #255,#2,#'3,#'F -.9 .HS 00 -CP .DA .9-* - .DA #2 - .AS "CP" - .DA #23,#2,#'B,#'E - .DA #24,#5,#'D,#'D,#'B,#'E,#'a - .DA #25,#5,#'F,#'D,#'B,#'E,#'a - .DA #26,#2,#'B,#'F - .DA #27,#3,#'F,#'E,#'a - .DA #28,#2,#'B,#'8 - .DA #29,#2,#'B,#'9 - .DA #30,#2,#'B,#'A - .DA #31,#2,#'B,#'B - .DA #32,#2,#'B,#'C - .DA #33,#2,#'B,#'D -.9 .HS 00 -CPD .DA .9-* - .DA #3 - .AS "CPD" - .DA #255,#4,#'E,#'D,#'A,#'9 -.9 .HS 00 -CPDR .DA .9-* - .DA #4 - .AS "CPDR" - .DA #255,#4,#'E,#'D,#'B,#'9 -.9 .HS 00 -CPI .DA .9-* - .DA #3 - .AS "CPI" - .DA #255,#4,#'E,#'D,#'A,#'1 -.9 .HS 00 -CPIR .DA .9-* - .DA #4 - .AS "CPIR" - .DA #255,#4,#'E,#'D,#'B,#'1 -.9 .HS 00 -CPL .DA .9-* - .DA #3 - .AS "CPL" - .DA #255,#2,#'2,#'F -.9 .HS 00 -DAA .DA .9-* - .DA #3 - .AS "DAA" - .DA #255,#2,#'2,#'7 -.9 .HS 00 -DEC .DA .9-* - .DA #3 - .AS "DEC" - .DA #23,#2,#'3,#'5 - .DA #24,#5,#'D,#'D,#'3,#'5,#'a - .DA #25,#5,#'F,#'D,#'3,#'5,#'a - .DA #26,#2,#'3,#'D - .DA #28,#2,#'0,#'5 - .DA #35,#2,#'0,#'B - .DA #29,#2,#'0,#'D - .DA #30,#2,#'1,#'5 - .DA #36,#2,#'1,#'B - .DA #31,#2,#'1,#'D - .DA #32,#2,#'2,#'5 - .DA #37,#2,#'2,#'B - .DA #38,#4,#'D,#'D,#'2,#'B - .DA #39,#4,#'F,#'D,#'2,#'B - .DA #33,#2,#'2,#'D - .DA #40,#2,#'3,#'B -.9 .HS 00 -DI .DA .9-* - .DA #2 - .AS "DI" - .DA #255,#2,#'F,#'3 -.9 .HS 00 -DJNZ .DA .9-* - .DA #4 - .AS "DJNZ" - .DA #41,#3,#'1,#'0,#'r -.9 .HS 00 -EI .DA .9-* - .DA #2 - .AS "EI" - .DA #255,#2,#'F,#'B -.9 .HS 00 -EX .DA .9-* - .DA #2 - .AS "EX" - .DA #42,#2,#'E,#'3 - .DA #43,#4,#'D,#'D,#'E,#'3 - .DA #44,#4,#'F,#'D,#'E,#'3 - .DA #45,#2,#'E,#'B - .DA #255,#2,#'0,#'8 -.9 .HS 00 -EXX .DA .9-* - .DA #3 - .AS "EXX" - .DA #255,#2,#'D,#'9 -.9 .HS 00 -HLT .DA .9-* - .DA #3 - .AS "HLT" - .DA #255,#2,#'7,#'6 -.9 .HS 00 -IM0 .DA .9-* - .DA #3 - .AS "IM0" - .DA #255,#4,#'E,#'D,#'4,#'6 -.9 .HS 00 -IM1 .DA .9-* - .DA #3 - .AS "IM1" - .DA #255,#4,#'E,#'D,#'5,#'6 -.9 .HS 00 -IM2 .DA .9-* - .DA #3 - .AS "IM2" - .DA #255,#4,#'E,#'D,#'5,#'E -.9 .HS 00 -IN .DA .9-* - .DA #2 - .AS "IN" - .DA #46,#3,#'D,#'B,#'a - .DA #47,#4,#'E,#'D,#'7,#'8 - .DA #48,#4,#'E,#'D,#'4,#'0 - .DA #49,#4,#'E,#'D,#'4,#'8 - .DA #50,#4,#'E,#'D,#'5,#'0 - .DA #51,#4,#'E,#'D,#'5,#'8 - .DA #52,#4,#'E,#'D,#'6,#'0 - .DA #53,#4,#'E,#'D,#'6,#'8 -.9 .HS 00 -INC .DA .9-* - .DA #3 - .AS "INC" - .DA #23,#2,#'3,#'4 - .DA #24,#5,#'D,#'D,#'3,#'4,#'a - .DA #25,#5,#'F,#'D,#'3,#'4,#'a - .DA #26,#2,#'3,#'C - .DA #28,#2,#'0,#'4 - .DA #35,#2,#'0,#'3 - .DA #29,#2,#'0,#'C - .DA #30,#2,#'1,#'4 - .DA #36,#2,#'1,#'3 - .DA #31,#2,#'1,#'C - .DA #32,#2,#'2,#'4 - .DA #37,#2,#'2,#'3 - .DA #38,#4,#'D,#'D,#'2,#'3 - .DA #39,#4,#'F,#'D,#'2,#'3 - .DA #33,#2,#'2,#'C - .DA #40,#2,#'3,#'3 -.9 .HS 00 -IND .DA .9-* - .DA #3 - .AS "IND" - .DA #255,#4,#'E,#'D,#'A,#'A -.9 .HS 00 -INDR .DA .9-* - .DA #4 - .AS "INDR" - .DA #255,#4,#'E,#'D,#'B,#'A -.9 .HS 00 -INI .DA .9-* - .DA #3 - .AS "INI" - .DA #255,#4,#'E,#'D,#'A,#'2 -.9 .HS 00 -INIR .DA .9-* - .DA #4 - .AS "INIR" - .DA #255,#4,#'E,#'D,#'B,#'2 -.9 .HS 00 -JP .DA .9-* - .DA #2 - .AS "JP" - .DA #23,#2,#'E,#'9 - .DA #54,#4,#'D,#'D,#'E,#'9 - .DA #55,#4,#'F,#'D,#'E,#'9 - .DA #34,#4,#'C,#'3,#'a,#'a -.9 .HS 00 -JPC .DA .9-* - .DA #3 - .AS "JPC" - .DA #34,#4,#'D,#'A,#'a,#'a -.9 .HS 00 -JPM .DA .9-* - .DA #3 - .AS "JPM" - .DA #34,#4,#'F,#'A,#'a,#'a -.9 .HS 00 -JPNC .DA .9-* - .DA #4 - .AS "JPNC" - .DA #34,#4,#'D,#'2,#'a,#'a -.9 .HS 00 -JPNZ .DA .9-* - .DA #4 - .AS "JPNZ" - .DA #34,#4,#'C,#'2,#'a,#'a -.9 .HS 00 -JPP .DA .9-* - .DA #3 - .AS "JPP" - .DA #34,#4,#'F,#'2,#'a,#'a -.9 .HS 00 -JPPE .DA .9-* - .DA #4 - .AS "JPPE" - .DA #34,#4,#'E,#'A,#'a,#'a -.9 .HS 00 -JPPO .DA .9-* - .DA #4 - .AS "JPPO" - .DA #34,#4,#'E,#'2,#'a,#'a -.9 .HS 00 -JPZ .DA .9-* - .DA #3 - .AS "JPZ" - .DA #34,#4,#'C,#'A,#'a,#'a -.9 .HS 00 -JR .DA .9-* - .DA #2 - .AS "JR" - .DA #41,#3,#'1,#'8,#'r -.9 .HS 00 -JRC .DA .9-* - .DA #3 - .AS "JRC" - .DA #41,#3,#'3,#'8,#'r -.9 .HS 00 -JRNC .DA .9-* - .DA #4 - .AS "JRNC" - .DA #41,#3,#'3,#'0,#'r -.9 .HS 00 -JRNZ .DA .9-* - .DA #4 - .AS "JRNZ" - .DA #41,#3,#'2,#'0,#'r -.9 .HS 00 -JRZ .DA .9-* - .DA #3 - .AS "JRZ" - .DA #41,#3,#'2,#'8,#'r -.9 .HS 00 -LD .DA .9-* - .DA #2 - .AS "LD" - .DA #56,#4,#'3,#'2,#'a,#'a - .DA #57,#6,#'E,#'D,#'4,#'3,#'a,#'a - .DA #58,#6,#'E,#'D,#'5,#'3,#'a,#'a - .DA #59,#4,#'2,#'2,#'a,#'a - .DA #59,#6,#'E,#'D,#'6,#'B,#'a,#'a - .DA #60,#6,#'D,#'D,#'2,#'2,#'a,#'a - .DA #61,#6,#'D,#'D,#'2,#'2,#'a,#'a - .DA #62,#6,#'E,#'D,#'7,#'3,#'a,#'a - .DA #63,#2,#'0,#'2 - .DA #64,#2,#'1,#'2 - .DA #65,#2,#'7,#'7 - .DA #66,#3,#'3,#'6,#'a - .DA #67,#2,#'7,#'0 - .DA #68,#2,#'7,#'1 - .DA #69,#2,#'7,#'2 - .DA #70,#2,#'7,#'3 - .DA #71,#2,#'7,#'4 - .DA #72,#2,#'7,#'5 - .DA #73,#5,#'D,#'D,#'7,#'7,#'a - .DA #74,#6,#'D,#'D,#'3,#'6,#'a,#'a - .DA #74,#6,#'D,#'D,#'7,#'6,#'a,#'a - .DA #75,#5,#'D,#'D,#'7,#'0,#'a - .DA #76,#5,#'D,#'D,#'7,#'1,#'a - .DA #77,#5,#'D,#'D,#'7,#'2,#'a - .DA #78,#5,#'D,#'D,#'7,#'3,#'a - .DA #79,#5,#'D,#'D,#'7,#'4,#'a - .DA #80,#5,#'D,#'D,#'7,#'5,#'a - .DA #81,#5,#'F,#'D,#'7,#'7,#'a - .DA #82,#6,#'F,#'D,#'3,#'6,#'a,#'a - .DA #82,#6,#'F,#'D,#'7,#'6,#'a,#'a - .DA #83,#5,#'F,#'D,#'7,#'0,#'a - .DA #84,#5,#'F,#'D,#'7,#'1,#'a - .DA #85,#5,#'F,#'D,#'7,#'2,#'a - .DA #86,#5,#'F,#'D,#'7,#'3,#'a - .DA #87,#5,#'F,#'D,#'7,#'4,#'a - .DA #88,#5,#'F,#'D,#'7,#'5,#'a - .DA #89,#4,#'3,#'A,#'a,#'a - .DA #90,#2,#'0,#'A - .DA #91,#2,#'1,#'A - .DA #0,#2,#'7,#'E - .DA #1,#5,#'D,#'D,#'7,#'E,#'a - .DA #2,#5,#'F,#'D,#'7,#'E,#'a - .DA #3,#2,#'7,#'F - .DA #4,#3,#'3,#'E,#'a - .DA #5,#2,#'7,#'8 - .DA #6,#2,#'7,#'9 - .DA #7,#2,#'7,#'A - .DA #8,#2,#'7,#'B - .DA #9,#2,#'7,#'C - .DA #92,#4,#'E,#'D,#'5,#'7 - .DA #10,#2,#'7,#'D - .DA #93,#4,#'E,#'D,#'5,#'F - .DA #94,#2,#'4,#'6 - .DA #95,#5,#'D,#'D,#'4,#'6,#'r - .DA #96,#5,#'F,#'D,#'4,#'6,#'r - .DA #97,#2,#'4,#'7 - .DA #98,#3,#'0,#'6,#'a - .DA #99,#2,#'4,#'0 - .DA #100,#2,#'4,#'1 - .DA #101,#2,#'4,#'2 - .DA #102,#2,#'4,#'3 - .DA #103,#2,#'4,#'4 - .DA #104,#2,#'4,#'5 - .DA #105,#6,#'E,#'D,#'4,#'B,#'a,#'a - .DA #106,#4,#'0,#'1,#'a,#'a - .DA #107,#2,#'4,#'E - .DA #108,#5,#'D,#'D,#'4,#'E,#'r - .DA #109,#5,#'F,#'D,#'4,#'E,#'r - .DA #110,#2,#'4,#'F - .DA #111,#3,#'0,#'E,#'a - .DA #112,#2,#'4,#'8 - .DA #113,#2,#'4,#'9 - .DA #114,#2,#'4,#'A - .DA #115,#2,#'4,#'B - .DA #116,#2,#'4,#'C - .DA #117,#2,#'4,#'D - .DA #118,#2,#'5,#'6 - .DA #119,#5,#'D,#'D,#'5,#'6,#'a - .DA #120,#5,#'F,#'D,#'5,#'6,#'a - .DA #121,#2,#'5,#'7 - .DA #122,#3,#'1,#'6,#'a - .DA #123,#2,#'5,#'0 - .DA #124,#2,#'5,#'1 - .DA #125,#2,#'5,#'2 - .DA #126,#2,#'5,#'3 - .DA #127,#2,#'5,#'4 - .DA #128,#2,#'5,#'5 - .DA #129,#6,#'E,#'D,#'5,#'B,#'a,#'a - .DA #130,#4,#'1,#'1,#'a,#'a - .DA #131,#2,#'5,#'E - .DA #132,#5,#'D,#'D,#'5,#'E,#'a - .DA #133,#5,#'F,#'D,#'5,#'E,#'a - .DA #134,#2,#'5,#'F - .DA #135,#3,#'1,#'E,#'a - .DA #136,#2,#'5,#'8 - .DA #137,#2,#'5,#'9 - .DA #138,#2,#'5,#'A - .DA #139,#2,#'5,#'B - .DA #140,#2,#'5,#'C - .DA #141,#2,#'5,#'D - .DA #142,#2,#'6,#'6 - .DA #143,#5,#'D,#'D,#'6,#'6,#'a - .DA #144,#5,#'F,#'D,#'6,#'6,#'a - .DA #145,#2,#'6,#'7 - .DA #146,#3,#'2,#'6,#'a - .DA #147,#2,#'6,#'0 - .DA #148,#2,#'6,#'1 - .DA #149,#2,#'6,#'2 - .DA #150,#2,#'6,#'3 - .DA #151,#2,#'6,#'4 - .DA #152,#2,#'6,#'5 - .DA #153,#4,#'2,#'A,#'a,#'a - .DA #153,#6,#'E,#'D,#'6,#'B,#'a,#'a - .DA #154,#4,#'2,#'1,#'a,#'a - .DA #155,#4,#'E,#'D,#'4,#'7 - .DA #156,#6,#'D,#'D,#'2,#'A,#'a,#'a - .DA #157,#6,#'D,#'D,#'2,#'1,#'a,#'a - .DA #158,#6,#'F,#'D,#'2,#'A,#'a,#'a - .DA #159,#6,#'F,#'D,#'2,#'1,#'a,#'a - .DA #160,#2,#'6,#'E - .DA #161,#5,#'D,#'D,#'6,#'E,#'a - .DA #162,#5,#'F,#'D,#'6,#'E,#'a - .DA #163,#2,#'6,#'F - .DA #164,#3,#'2,#'E,#'a - .DA #165,#2,#'6,#'8 - .DA #166,#2,#'6,#'9 - .DA #167,#2,#'6,#'A - .DA #168,#2,#'6,#'B - .DA #169,#2,#'6,#'C - .DA #170,#2,#'6,#'D - .DA #171,#4,#'E,#'D,#'4,#'F - .DA #172,#6,#'E,#'D,#'7,#'B,#'a,#'a - .DA #173,#4,#'3,#'1,#'a,#'a - .DA #174,#2,#'F,#'9 - .DA #175,#4,#'D,#'D,#'F,#'9 - .DA #176,#4,#'F,#'D,#'F,#'9 -.9 .HS 00 -LDD .DA .9-* - .DA #3 - .AS "LDD" - .DA #255,#4,#'E,#'D,#'A,#'8 -.9 .HS 00 -LDDR .DA .9-* - .DA #4 - .AS "LDDR" - .DA #255,#4,#'E,#'D,#'B,#'8 -.9 .HS 00 -LDI .DA .9-* - .DA #3 - .AS "LDI" - .DA #255,#4,#'E,#'D,#'A,#'0 -.9 .HS 00 -LDIR .DA .9-* - .DA #4 - .AS "LDIR" - .DA #255,#4,#'E,#'D,#'B,#'0 -.9 .HS 00 -NEG .DA .9-* - .DA #3 - .AS "NEG" - .DA #255,#4,#'E,#'D,#'4,#'4 -.9 .HS 00 -NOP .DA .9-* - .DA #3 - .AS "NOP" - .DA #255,#2,#'0,#'0 -.9 .HS 00 -OR .DA .9-* - .DA #2 - .AS "OR" - .DA #23,#2,#'B,#'6 - .DA #24,#5,#'D,#'D,#'B,#'6,#'a - .DA #25,#5,#'F,#'D,#'B,#'6,#'a - .DA #26,#2,#'B,#'7 - .DA #27,#3,#'F,#'6,#'a - .DA #28,#2,#'B,#'0 - .DA #29,#2,#'B,#'1 - .DA #30,#2,#'B,#'2 - .DA #31,#2,#'B,#'3 - .DA #32,#2,#'B,#'4 - .DA #33,#2,#'B,#'5 -.9 .HS 00 -OTDR .DA .9-* - .DA #4 - .AS "OTDR" - .DA #255,#4,#'E,#'D,#'B,#'B -.9 .HS 00 -OTIR .DA .9-* - .DA #4 - .AS "OTIR" - .DA #255,#4,#'E,#'D,#'B,#'3 -.9 .HS 00 -OUT .DA .9-* - .DA #3 - .AS "OUT" - .DA #177,#3,#'D,#'3,#'a - .DA #178,#4,#'E,#'D,#'7,#'9 - .DA #179,#4,#'E,#'D,#'4,#'1 - .DA #180,#4,#'E,#'D,#'4,#'9 - .DA #181,#4,#'E,#'D,#'5,#'1 - .DA #182,#4,#'E,#'D,#'5,#'9 - .DA #183,#4,#'E,#'D,#'6,#'1 - .DA #184,#4,#'E,#'D,#'6,#'9 -.9 .HS 00 -OUTD .DA .9-* - .DA #4 - .AS "OUTD" - .DA #255,#4,#'E,#'D,#'A,#'B -.9 .HS 00 -OUTI .DA .9-* - .DA #4 - .AS "OUTI" - .DA #255,#4,#'E,#'D,#'A,#'3 -.9 .HS 00 -POP .DA .9-* - .DA #3 - .AS "POP" - .DA #185,#2,#'F,#'1 - .DA #35,#2,#'C,#'1 - .DA #36,#2,#'D,#'1 - .DA #37,#2,#'E,#'1 - .DA #38,#4,#'D,#'D,#'E,#'1 - .DA #39,#4,#'F,#'D,#'E,#'1 -.9 .HS 00 -PUSH .DA .9-* - .DA #4 - .AS "PUSH" - .DA #185,#2,#'F,#'5 - .DA #35,#2,#'C,#'5 - .DA #36,#2,#'D,#'5 - .DA #37,#2,#'E,#'5 - .DA #38,#4,#'D,#'D,#'E,#'5 - .DA #39,#4,#'F,#'D,#'E,#'5 -.9 .HS 00 -RES0 .DA .9-* - .DA #4 - .AS "RES0" - .DA #23,#4,#'C,#'B,#'8,#'6 - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'8,#'6 - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'8,#'6 - .DA #26,#4,#'C,#'B,#'8,#'7 - .DA #28,#4,#'C,#'B,#'8,#'0 - .DA #29,#4,#'C,#'B,#'8,#'1 - .DA #30,#4,#'C,#'B,#'8,#'2 - .DA #31,#4,#'C,#'B,#'8,#'3 - .DA #32,#4,#'C,#'B,#'8,#'4 - .DA #33,#4,#'C,#'B,#'8,#'5 -.9 .HS 00 -RES1 .DA .9-* - .DA #4 - .AS "RES1" - .DA #23,#4,#'C,#'B,#'8,#'E - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'8,#'E - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'8,#'E - .DA #26,#4,#'C,#'B,#'8,#'F - .DA #28,#4,#'C,#'B,#'8,#'8 - .DA #29,#4,#'C,#'B,#'8,#'9 - .DA #30,#4,#'C,#'B,#'8,#'A - .DA #31,#4,#'C,#'B,#'8,#'B - .DA #32,#4,#'C,#'B,#'8,#'C - .DA #33,#4,#'C,#'B,#'8,#'D -.9 .HS 00 -RES2 .DA .9-* - .DA #4 - .AS "RES2" - .DA #23,#4,#'C,#'B,#'9,#'6 - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'9,#'6 - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'9,#'6 - .DA #26,#4,#'C,#'B,#'9,#'7 - .DA #28,#4,#'C,#'B,#'9,#'0 - .DA #29,#4,#'C,#'B,#'9,#'1 - .DA #30,#4,#'C,#'B,#'9,#'2 - .DA #31,#4,#'C,#'B,#'9,#'3 - .DA #32,#4,#'C,#'B,#'9,#'4 - .DA #33,#4,#'C,#'B,#'9,#'5 -.9 .HS 00 -RES3 .DA .9-* - .DA #4 - .AS "RES3" - .DA #23,#4,#'C,#'B,#'9,#'E - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'9,#'E - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'9,#'E - .DA #26,#4,#'C,#'B,#'9,#'F - .DA #28,#4,#'C,#'B,#'9,#'8 - .DA #29,#4,#'C,#'B,#'9,#'9 - .DA #30,#4,#'C,#'B,#'9,#'A - .DA #31,#4,#'C,#'B,#'9,#'B - .DA #32,#4,#'C,#'B,#'9,#'C - .DA #33,#4,#'C,#'B,#'9,#'D -.9 .HS 00 -RES4 .DA .9-* - .DA #4 - .AS "RES4" - .DA #23,#4,#'C,#'B,#'A,#'6 - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'A,#'6 - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'A,#'6 - .DA #26,#4,#'C,#'B,#'A,#'7 - .DA #28,#4,#'C,#'B,#'A,#'0 - .DA #29,#4,#'C,#'B,#'A,#'1 - .DA #30,#4,#'C,#'B,#'A,#'2 - .DA #31,#4,#'C,#'B,#'A,#'3 - .DA #32,#4,#'C,#'B,#'A,#'4 - .DA #33,#4,#'C,#'B,#'A,#'5 -.9 .HS 00 -RES5 .DA .9-* - .DA #4 - .AS "RES5" - .DA #23,#4,#'C,#'B,#'A,#'E - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'A,#'E - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'A,#'E - .DA #26,#4,#'C,#'B,#'A,#'F - .DA #28,#4,#'C,#'B,#'A,#'8 - .DA #29,#4,#'C,#'B,#'A,#'9 - .DA #30,#4,#'C,#'B,#'A,#'A - .DA #31,#4,#'C,#'B,#'A,#'B - .DA #32,#4,#'C,#'B,#'A,#'C - .DA #33,#4,#'C,#'B,#'A,#'D -.9 .HS 00 -RES6 .DA .9-* - .DA #4 - .AS "RES6" - .DA #23,#4,#'C,#'B,#'B,#'6 - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'B,#'6 - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'B,#'6 - .DA #26,#4,#'C,#'B,#'B,#'7 - .DA #28,#4,#'C,#'B,#'B,#'0 - .DA #29,#4,#'C,#'B,#'B,#'1 - .DA #30,#4,#'C,#'B,#'B,#'2 - .DA #31,#4,#'C,#'B,#'B,#'3 - .DA #32,#4,#'C,#'B,#'B,#'4 - .DA #33,#4,#'C,#'B,#'B,#'5 -.9 .HS 00 -RES7 .DA .9-* - .DA #4 - .AS "RES7" - .DA #23,#4,#'C,#'B,#'B,#'E - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'B,#'E - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'B,#'E - .DA #26,#4,#'C,#'B,#'B,#'F - .DA #28,#4,#'C,#'B,#'B,#'8 - .DA #29,#4,#'C,#'B,#'B,#'9 - .DA #30,#4,#'C,#'B,#'B,#'A - .DA #31,#4,#'C,#'B,#'B,#'B - .DA #32,#4,#'C,#'B,#'B,#'C - .DA #33,#4,#'C,#'B,#'B,#'D -.9 .HS 00 -RET .DA .9-* - .DA #3 - .AS "RET" - .DA #255,#2,#'C,#'9 -.9 .HS 00 -RETC .DA .9-* - .DA #4 - .AS "RETC" - .DA #255,#2,#'D,#'8 -.9 .HS 00 -RETI .DA .9-* - .DA #4 - .AS "RETI" - .DA #255,#4,#'E,#'D,#'4,#'D -.9 .HS 00 -RETM .DA .9-* - .DA #4 - .AS "RETM" - .DA #255,#2,#'F,#'8 -.9 .HS 00 -RETN .DA .9-* - .DA #4 - .AS "RETN" - .DA #255,#4,#'E,#'D,#'4,#'5 -.9 .HS 00 -RETNC .DA .9-* - .DA #5 - .AS "RETNC" - .DA #255,#2,#'D,#'0 -.9 .HS 00 -RETNZ .DA .9-* - .DA #5 - .AS "RETNZ" - .DA #255,#2,#'C,#'0 -.9 .HS 00 -RETP .DA .9-* - .DA #4 - .AS "RETP" - .DA #255,#2,#'F,#'0 -.9 .HS 00 -RETPE .DA .9-* - .DA #5 - .AS "RETPE" - .DA #255,#2,#'E,#'8 -.9 .HS 00 -RETPO .DA .9-* - .DA #5 - .AS "RETPO" - .DA #255,#2,#'E,#'0 -.9 .HS 00 -RETZ .DA .9-* - .DA #4 - .AS "RETZ" - .DA #255,#2,#'C,#'8 -.9 .HS 00 -RL .DA .9-* - .DA #2 - .AS "RL" - .DA #23,#4,#'C,#'B,#'1,#'6 - .DA #23,#4,#'C,#'B,#'1,#'E - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'1,#'6 - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'1,#'E - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'1,#'6 - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'1,#'E - .DA #26,#4,#'C,#'B,#'1,#'7 - .DA #26,#4,#'C,#'B,#'1,#'F - .DA #28,#4,#'C,#'B,#'1,#'0 - .DA #28,#4,#'C,#'B,#'1,#'8 - .DA #29,#4,#'C,#'B,#'1,#'1 - .DA #29,#4,#'C,#'B,#'1,#'9 - .DA #30,#4,#'C,#'B,#'1,#'2 - .DA #30,#4,#'C,#'B,#'1,#'A - .DA #31,#4,#'C,#'B,#'1,#'3 - .DA #31,#4,#'C,#'B,#'1,#'B - .DA #32,#4,#'C,#'B,#'1,#'4 - .DA #32,#4,#'C,#'B,#'1,#'C - .DA #33,#4,#'C,#'B,#'1,#'5 - .DA #33,#4,#'C,#'B,#'1,#'D -.9 .HS 00 -RLA .DA .9-* - .DA #3 - .AS "RLA" - .DA #255,#2,#'1,#'7 -.9 .HS 00 -RLC .DA .9-* - .DA #3 - .AS "RLC" - .DA #23,#4,#'C,#'B,#'0,#'6 - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'0,#'6 - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'0,#'6 - .DA #26,#4,#'C,#'B,#'0,#'7 - .DA #28,#4,#'C,#'B,#'0,#'0 - .DA #29,#4,#'C,#'B,#'0,#'1 - .DA #30,#4,#'C,#'B,#'0,#'2 - .DA #31,#4,#'C,#'B,#'0,#'3 - .DA #32,#4,#'C,#'B,#'0,#'4 - .DA #33,#4,#'C,#'B,#'0,#'5 -.9 .HS 00 -RLCA .DA .9-* - .DA #4 - .AS "RLCA" - .DA #255,#2,#'0,#'7 -.9 .HS 00 -RLD .DA .9-* - .DA #3 - .AS "RLD" - .DA #255,#4,#'E,#'D,#'6,#'F -.9 .HS 00 -RRA .DA .9-* - .DA #3 - .AS "RRA" - .DA #255,#2,#'1,#'F -.9 .HS 00 -RRC .DA .9-* - .DA #3 - .AS "RRC" - .DA #23,#4,#'C,#'B,#'0,#'E - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'0,#'E - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'0,#'E - .DA #26,#4,#'C,#'B,#'0,#'F - .DA #28,#4,#'C,#'B,#'0,#'8 - .DA #29,#4,#'C,#'B,#'0,#'9 - .DA #30,#4,#'C,#'B,#'0,#'A - .DA #31,#4,#'C,#'B,#'0,#'B - .DA #32,#4,#'C,#'B,#'0,#'C - .DA #33,#4,#'C,#'B,#'0,#'D -.9 .HS 00 -RRCA .DA .9-* - .DA #4 - .AS "RRCA" - .DA #255,#2,#'0,#'F -.9 .HS 00 -RRD .DA .9-* - .DA #3 - .AS "RRD" - .DA #255,#4,#'E,#'D,#'6,#'7 -.9 .HS 00 -RST0 .DA .9-* - .DA #4 - .AS "RST0" - .DA #255,#2,#'C,#'7 -.9 .HS 00 -RST10 .DA .9-* - .DA #5 - .AS "RST10" - .DA #255,#2,#'D,#'7 -.9 .HS 00 -RST18 .DA .9-* - .DA #5 - .AS "RST18" - .DA #255,#2,#'D,#'F -.9 .HS 00 -RST20 .DA .9-* - .DA #5 - .AS "RST20" - .DA #255,#2,#'E,#'7 -.9 .HS 00 -RST28 .DA .9-* - .DA #5 - .AS "RST28" - .DA #255,#2,#'E,#'F -.9 .HS 00 -RST30 .DA .9-* - .DA #5 - .AS "RST30" - .DA #255,#2,#'F,#'7 -.9 .HS 00 -RST38 .DA .9-* - .DA #5 - .AS "RST38" - .DA #255,#2,#'F,#'F -.9 .HS 00 -RST8 .DA .9-* - .DA #4 - .AS "RST8" - .DA #255,#2,#'C,#'F -.9 .HS 00 -SBC .DA .9-* - .DA #3 - .AS "SBC" - .DA #23,#2,#'9,#'E - .DA #24,#5,#'D,#'D,#'9,#'E,#'a - .DA #25,#5,#'F,#'D,#'9,#'E,#'a - .DA #26,#2,#'9,#'F - .DA #27,#3,#'D,#'E,#'a - .DA #28,#2,#'9,#'8 - .DA #29,#2,#'9,#'9 - .DA #30,#2,#'9,#'A - .DA #31,#2,#'9,#'B - .DA #32,#2,#'9,#'C - .DA #11,#4,#'E,#'D,#'4,#'2 - .DA #12,#4,#'E,#'D,#'5,#'2 - .DA #13,#4,#'E,#'D,#'6,#'2 - .DA #14,#4,#'E,#'D,#'7,#'2 - .DA #33,#2,#'9,#'D -.9 .HS 00 -SCF .DA .9-* - .DA #3 - .AS "SCF" - .DA #255,#2,#'3,#'7 -.9 .HS 00 -SET0 .DA .9-* - .DA #4 - .AS "SET0" - .DA #23,#4,#'C,#'B,#'C,#'6 - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'C,#'6 - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'C,#'6 - .DA #26,#4,#'C,#'B,#'C,#'7 - .DA #28,#4,#'C,#'B,#'C,#'0 - .DA #29,#4,#'C,#'B,#'C,#'1 - .DA #30,#4,#'C,#'B,#'C,#'2 - .DA #31,#4,#'C,#'B,#'C,#'3 - .DA #32,#4,#'C,#'B,#'C,#'4 - .DA #33,#4,#'C,#'B,#'C,#'5 -.9 .HS 00 -SET1 .DA .9-* - .DA #4 - .AS "SET1" - .DA #23,#4,#'C,#'B,#'C,#'E - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'C,#'E - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'C,#'E - .DA #26,#4,#'C,#'B,#'C,#'F - .DA #28,#4,#'C,#'B,#'C,#'8 - .DA #29,#4,#'C,#'B,#'C,#'9 - .DA #30,#4,#'C,#'B,#'C,#'A - .DA #31,#4,#'C,#'B,#'C,#'B - .DA #32,#4,#'C,#'B,#'C,#'C - .DA #33,#4,#'C,#'B,#'C,#'D -.9 .HS 00 -SET2 .DA .9-* - .DA #4 - .AS "SET2" - .DA #23,#4,#'C,#'B,#'D,#'6 - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'D,#'6 - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'D,#'6 - .DA #26,#4,#'C,#'B,#'D,#'7 - .DA #28,#4,#'C,#'B,#'D,#'0 - .DA #29,#4,#'C,#'B,#'D,#'1 - .DA #30,#4,#'C,#'B,#'D,#'2 - .DA #31,#4,#'C,#'B,#'D,#'3 - .DA #32,#4,#'C,#'B,#'D,#'4 - .DA #33,#4,#'C,#'B,#'D,#'5 -.9 .HS 00 -SET3 .DA .9-* - .DA #4 - .AS "SET3" - .DA #23,#4,#'C,#'B,#'D,#'E - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'D,#'E - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'D,#'E - .DA #26,#4,#'C,#'B,#'D,#'F - .DA #28,#4,#'C,#'B,#'D,#'8 - .DA #29,#4,#'C,#'B,#'D,#'9 - .DA #30,#4,#'C,#'B,#'D,#'A - .DA #31,#4,#'C,#'B,#'D,#'B - .DA #32,#4,#'C,#'B,#'D,#'C - .DA #33,#4,#'C,#'B,#'D,#'D -.9 .HS 00 -SET4 .DA .9-* - .DA #4 - .AS "SET4" - .DA #23,#4,#'C,#'B,#'E,#'6 - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'E,#'6 - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'E,#'6 - .DA #26,#4,#'C,#'B,#'E,#'7 - .DA #28,#4,#'C,#'B,#'E,#'0 - .DA #29,#4,#'C,#'B,#'E,#'1 - .DA #30,#4,#'C,#'B,#'E,#'2 - .DA #31,#4,#'C,#'B,#'E,#'3 - .DA #32,#4,#'C,#'B,#'E,#'4 - .DA #33,#4,#'C,#'B,#'E,#'5 -.9 .HS 00 -SET5 .DA .9-* - .DA #4 - .AS "SET5" - .DA #23,#4,#'C,#'B,#'E,#'E - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'E,#'E - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'E,#'E - .DA #26,#4,#'C,#'B,#'E,#'F - .DA #28,#4,#'C,#'B,#'E,#'8 - .DA #29,#4,#'C,#'B,#'E,#'9 - .DA #30,#4,#'C,#'B,#'E,#'A - .DA #31,#4,#'C,#'B,#'E,#'B - .DA #32,#4,#'C,#'B,#'E,#'C - .DA #33,#4,#'C,#'B,#'E,#'D -.9 .HS 00 -SET6 .DA .9-* - .DA #4 - .AS "SET6" - .DA #23,#4,#'C,#'B,#'F,#'6 - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'F,#'6 - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'F,#'6 - .DA #26,#4,#'C,#'B,#'F,#'7 - .DA #28,#4,#'C,#'B,#'F,#'0 - .DA #29,#4,#'C,#'B,#'F,#'1 - .DA #30,#4,#'C,#'B,#'F,#'2 - .DA #31,#4,#'C,#'B,#'F,#'3 - .DA #32,#4,#'C,#'B,#'F,#'4 - .DA #33,#4,#'C,#'B,#'F,#'5 -.9 .HS 00 -SET7 .DA .9-* - .DA #4 - .AS "SET7" - .DA #23,#4,#'C,#'B,#'F,#'E - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'F,#'E - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'F,#'E - .DA #26,#4,#'C,#'B,#'F,#'F - .DA #28,#4,#'C,#'B,#'F,#'8 - .DA #29,#4,#'C,#'B,#'F,#'9 - .DA #30,#4,#'C,#'B,#'F,#'A - .DA #31,#4,#'C,#'B,#'F,#'B - .DA #32,#4,#'C,#'B,#'F,#'C - .DA #33,#4,#'C,#'B,#'F,#'D -.9 .HS 00 -SLA .DA .9-* - .DA #3 - .AS "SLA" - .DA #23,#4,#'C,#'B,#'2,#'6 - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'2,#'6 - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'2,#'6 - .DA #26,#4,#'C,#'B,#'2,#'7 - .DA #28,#4,#'C,#'B,#'2,#'0 - .DA #29,#4,#'C,#'B,#'2,#'1 - .DA #30,#4,#'C,#'B,#'2,#'2 - .DA #31,#4,#'C,#'B,#'2,#'3 - .DA #32,#4,#'C,#'B,#'2,#'4 - .DA #33,#4,#'C,#'B,#'2,#'5 -.9 .HS 00 -SRA .DA .9-* - .DA #3 - .AS "SRA" - .DA #23,#4,#'C,#'B,#'2,#'E - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'2,#'E - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'2,#'E - .DA #26,#4,#'C,#'B,#'2,#'F - .DA #28,#4,#'C,#'B,#'2,#'8 - .DA #29,#4,#'C,#'B,#'2,#'9 - .DA #30,#4,#'C,#'B,#'2,#'A - .DA #31,#4,#'C,#'B,#'2,#'B - .DA #32,#4,#'C,#'B,#'2,#'C - .DA #33,#4,#'C,#'B,#'2,#'D -.9 .HS 00 -SRL .DA .9-* - .DA #3 - .AS "SRL" - .DA #23,#4,#'C,#'B,#'3,#'E - .DA #24,#7,#'D,#'D,#'C,#'B,#'a,#'3,#'E - .DA #25,#7,#'F,#'D,#'C,#'B,#'a,#'3,#'E - .DA #26,#4,#'C,#'B,#'3,#'F - .DA #28,#4,#'C,#'B,#'3,#'8 - .DA #29,#4,#'C,#'B,#'3,#'9 - .DA #30,#4,#'C,#'B,#'3,#'A - .DA #31,#4,#'C,#'B,#'3,#'B - .DA #32,#4,#'C,#'B,#'3,#'C - .DA #33,#4,#'C,#'B,#'3,#'D -.9 .HS 00 -SUB .DA .9-* - .DA #3 - .AS "SUB" - .DA #23,#2,#'9,#'6 - .DA #24,#5,#'D,#'D,#'9,#'6,#'a - .DA #25,#5,#'F,#'D,#'9,#'6,#'a - .DA #26,#2,#'9,#'7 - .DA #27,#3,#'D,#'6,#'a - .DA #28,#2,#'9,#'0 - .DA #29,#2,#'9,#'1 - .DA #30,#2,#'9,#'2 - .DA #31,#2,#'9,#'3 - .DA #32,#2,#'9,#'4 - .DA #33,#2,#'9,#'5 -.9 .HS 00 -XOR .DA .9-* - .DA #3 - .AS "XOR" - .DA #23,#2,#'A,#'E - .DA #24,#5,#'D,#'D,#'A,#'E,#'a - .DA #25,#5,#'F,#'D,#'A,#'E,#'a - .DA #26,#2,#'A,#'F - .DA #27,#3,#'E,#'E,#'a - .DA #28,#2,#'A,#'8 - .DA #29,#2,#'A,#'9 - .DA #30,#2,#'A,#'A - .DA #31,#2,#'A,#'B - .DA #32,#2,#'A,#'C - .DA #33,#2,#'A,#'D -.9 .HS 00 - .HS 00 -*--------------------------------------- + .LIST OFF +T.OPCODES .EQ * +ADC .DA ADC.E+1 + .HS 03 + .AS "ADC" + .HS 00.023845 + .HS 01.054444384561 + .HS 02.054644384561 + .HS 03.023846 + .HS 04.03434561 + .HS 05.023838 + .HS 06.023839 + .HS 07.023841 + .HS 08.023842 + .HS 09.023843 + .HS 0A.023844 + .HS 0B.0445443441 + .HS 0C.0445443541 + .HS 0D.0445443641 + .HS 0E.0445443741 +ADC.E .HS 00 +ADD .DA ADD.E+1 + .HS 03 + .AS "ADD" + .HS 00.023836 + .HS 01.054444383661 + .HS 02.054644383661 + .HS 03.023837 + .HS 04.03433661 + .HS 05.023830 + .HS 06.023831 + .HS 07.023832 + .HS 08.023833 + .HS 09.023834 + .HS 0A.023835 + .HS 0B.023039 + .HS 0C.023139 + .HS 0D.023239 + .HS 0E.023339 + .HS 0F.0444443039 + .HS 10.0444443139 + .HS 11.0444443239 + .HS 12.0444443339 + .HS 13.0446443039 + .HS 14.0446443139 + .HS 15.0446443239 + .HS 16.0446443339 +ADD.E .HS 00 +AND .DA AND.E+1 + .HS 03 + .AS "AND" + .HS 17.024136 + .HS 18.054444413661 + .HS 19.054644413661 + .HS 1A.024137 + .HS 1B.03453661 + .HS 1C.024130 + .HS 1D.024131 + .HS 1E.024132 + .HS 1F.024133 + .HS 20.024134 + .HS 21.024135 +AND.E .HS 00 +BIT0 .DA BIT0.E+1 + .HS 04 + .AS "BIT0" + .HS 17.0443423436 + .HS 18.0744444342613436 + .HS 19.0746444342613436 + .HS 1A.0443423437 + .HS 1C.0443423430 + .HS 1D.0443423431 + .HS 1E.0443423432 + .HS 1F.0443423433 + .HS 20.0443423434 + .HS 21.0443423435 +BIT0.E .HS 00 +BIT1 .DA BIT1.E+1 + .HS 04 + .AS "BIT1" + .HS 17.0443423445 + .HS 18.0744444342613445 + .HS 19.0746444342613445 + .HS 1A.0443423446 + .HS 1C.0443423438 + .HS 1D.0443423439 + .HS 1E.0443423441 + .HS 1F.0443423442 + .HS 20.0443423443 + .HS 21.0443423444 +BIT1.E .HS 00 +BIT2 .DA BIT2.E+1 + .HS 04 + .AS "BIT2" + .HS 17.0443423536 + .HS 18.0744444342613536 + .HS 19.0746444342613536 + .HS 1A.0443423537 + .HS 1C.0443423530 + .HS 1D.0443423531 + .HS 1E.0443423532 + .HS 1F.0443423533 + .HS 20.0443423534 + .HS 21.0443423535 +BIT2.E .HS 00 +BIT3 .DA BIT3.E+1 + .HS 04 + .AS "BIT3" + .HS 17.0443423545 + .HS 18.0744444342613545 + .HS 19.0746444342613545 + .HS 1A.0443423546 + .HS 1C.0443423538 + .HS 1D.0443423539 + .HS 1E.0443423541 + .HS 1F.0443423542 + .HS 20.0443423543 + .HS 21.0443423544 +BIT3.E .HS 00 +BIT4 .DA BIT4.E+1 + .HS 04 + .AS "BIT4" + .HS 17.0443423636 + .HS 18.0744444342613636 + .HS 19.0746444342613636 + .HS 1A.0443423637 + .HS 1C.0443423630 + .HS 1D.0443423631 + .HS 1E.0443423632 + .HS 1F.0443423633 + .HS 20.0443423634 + .HS 21.0443423635 +BIT4.E .HS 00 +BIT5 .DA BIT5.E+1 + .HS 04 + .AS "BIT5" + .HS 17.0443423645 + .HS 18.0744444342613645 + .HS 19.0746444342613645 + .HS 1A.0443423646 + .HS 1C.0443423638 + .HS 1D.0443423639 + .HS 1E.0443423641 + .HS 1F.0443423642 + .HS 20.0443423643 + .HS 21.0443423644 +BIT5.E .HS 00 +BIT6 .DA BIT6.E+1 + .HS 04 + .AS "BIT6" + .HS 17.0443423736 + .HS 18.0744444342613736 + .HS 19.0746444342613736 + .HS 1A.0443423737 + .HS 1C.0443423730 + .HS 1D.0443423731 + .HS 1E.0443423732 + .HS 1F.0443423733 + .HS 20.0443423734 + .HS 21.0443423735 +BIT6.E .HS 00 +BIT7 .DA BIT7.E+1 + .HS 04 + .AS "BIT7" + .HS 17.0443423745 + .HS 18.0744444342613745 + .HS 19.0746444342613745 + .HS 1A.0443423746 + .HS 1C.0443423738 + .HS 1D.0443423739 + .HS 1E.0443423741 + .HS 1F.0443423742 + .HS 20.0443423743 + .HS 21.0443423744 +BIT7.E .HS 00 +CALL .DA CALL.E+1 + .HS 04 + .AS "CALL" + .HS 22.0443446161 +CALL.E .HS 00 +CALLC .DA CALLC.E+1 + .HS 05 + .AS "CALLC" + .HS 22.0444436161 +CALLC.E .HS 00 +CALLM .DA CALLM.E+1 + .HS 05 + .AS "CALLM" + .HS 22.0446436161 +CALLM.E .HS 00 +CALLNC .DA CALLNC.E+1 + .HS 06 + .AS "CALLNC" + .HS 22.0444346161 +CALLNC.E .HS 00 +CALLNZ .DA CALLNZ.E+1 + .HS 06 + .AS "CALLNZ" + .HS 22.0443346161 +CALLNZ.E .HS 00 +CALLP .DA CALLP.E+1 + .HS 05 + .AS "CALLP" + .HS 22.0446346161 +CALLP.E .HS 00 +CALLPE .DA CALLPE.E+1 + .HS 06 + .AS "CALLPE" + .HS 22.0445436161 +CALLPE.E .HS 00 +CALLPO .DA CALLPO.E+1 + .HS 06 + .AS "CALLPO" + .HS 22.0445346161 +CALLPO.E .HS 00 +CALLZ .DA CALLZ.E+1 + .HS 05 + .AS "CALLZ" + .HS 22.0443436161 +CALLZ.E .HS 00 +CCF .DA CCF.E+1 + .HS 03 + .AS "CCF" + .HS FF.023346 +CCF.E .HS 00 +CP .DA CP.E+1 + .HS 02 + .AS "CP" + .HS 17.024245 + .HS 18.054444424561 + .HS 19.054644424561 + .HS 1A.024246 + .HS 1B.03464561 + .HS 1C.024238 + .HS 1D.024239 + .HS 1E.024241 + .HS 1F.024242 + .HS 20.024243 + .HS 21.024244 +CP.E .HS 00 +CPD .DA CPD.E+1 + .HS 03 + .AS "CPD" + .HS FF.0445444139 +CPD.E .HS 00 +CPDR .DA CPDR.E+1 + .HS 04 + .AS "CPDR" + .HS FF.0445444239 +CPDR.E .HS 00 +CPI .DA CPI.E+1 + .HS 03 + .AS "CPI" + .HS FF.0445444131 +CPI.E .HS 00 +CPIR .DA CPIR.E+1 + .HS 04 + .AS "CPIR" + .HS FF.0445444231 +CPIR.E .HS 00 +CPL .DA CPL.E+1 + .HS 03 + .AS "CPL" + .HS FF.023246 +CPL.E .HS 00 +DAA .DA DAA.E+1 + .HS 03 + .AS "DAA" + .HS FF.023237 +DAA.E .HS 00 +DEC .DA DEC.E+1 + .HS 03 + .AS "DEC" + .HS 17.023335 + .HS 18.054444333561 + .HS 19.054644333561 + .HS 1A.023344 + .HS 1C.023035 + .HS 23.023042 + .HS 1D.023044 + .HS 1E.023135 + .HS 24.023142 + .HS 1F.023144 + .HS 20.023235 + .HS 25.023242 + .HS 26.0444443242 + .HS 27.0446443242 + .HS 21.023244 + .HS 28.023342 +DEC.E .HS 00 +DI .DA DI.E+1 + .HS 02 + .AS "DI" + .HS FF.024633 +DI.E .HS 00 +DJNZ .DA DJNZ.E+1 + .HS 04 + .AS "DJNZ" + .HS 29.03313072 +DJNZ.E .HS 00 +EI .DA EI.E+1 + .HS 02 + .AS "EI" + .HS FF.024642 +EI.E .HS 00 +EX .DA EX.E+1 + .HS 02 + .AS "EX" + .HS 2A.024533 + .HS 2B.0444444533 + .HS 2C.0446444533 + .HS 2D.024542 + .HS FF.023038 +EX.E .HS 00 +EXX .DA EXX.E+1 + .HS 03 + .AS "EXX" + .HS FF.024439 +EXX.E .HS 00 +HLT .DA HLT.E+1 + .HS 03 + .AS "HLT" + .HS FF.023736 +HLT.E .HS 00 +IM0 .DA IM0.E+1 + .HS 03 + .AS "IM0" + .HS FF.0445443436 +IM0.E .HS 00 +IM1 .DA IM1.E+1 + .HS 03 + .AS "IM1" + .HS FF.0445443536 +IM1.E .HS 00 +IM2 .DA IM2.E+1 + .HS 03 + .AS "IM2" + .HS FF.0445443545 +IM2.E .HS 00 +IN .DA IN.E+1 + .HS 02 + .AS "IN" + .HS 2E.03444261 + .HS 2F.0445443738 + .HS 30.0445443430 + .HS 31.0445443438 + .HS 32.0445443530 + .HS 33.0445443538 + .HS 34.0445443630 + .HS 35.0445443638 +IN.E .HS 00 +INC .DA INC.E+1 + .HS 03 + .AS "INC" + .HS 17.023334 + .HS 18.054444333461 + .HS 19.054644333461 + .HS 1A.023343 + .HS 1C.023034 + .HS 23.023033 + .HS 1D.023043 + .HS 1E.023134 + .HS 24.023133 + .HS 1F.023143 + .HS 20.023234 + .HS 25.023233 + .HS 26.0444443233 + .HS 27.0446443233 + .HS 21.023243 + .HS 28.023333 +INC.E .HS 00 +IND .DA IND.E+1 + .HS 03 + .AS "IND" + .HS FF.0445444141 +IND.E .HS 00 +INDR .DA INDR.E+1 + .HS 04 + .AS "INDR" + .HS FF.0445444241 +INDR.E .HS 00 +INI .DA INI.E+1 + .HS 03 + .AS "INI" + .HS FF.0445444132 +INI.E .HS 00 +INIR .DA INIR.E+1 + .HS 04 + .AS "INIR" + .HS FF.0445444232 +INIR.E .HS 00 +JP .DA JP.E+1 + .HS 02 + .AS "JP" + .HS 17.024539 + .HS 36.0444444539 + .HS 37.0446444539 + .HS 22.0443336161 +JP.E .HS 00 +JPC .DA JPC.E+1 + .HS 03 + .AS "JPC" + .HS 22.0444416161 +JPC.E .HS 00 +JPM .DA JPM.E+1 + .HS 03 + .AS "JPM" + .HS 22.0446416161 +JPM.E .HS 00 +JPNC .DA JPNC.E+1 + .HS 04 + .AS "JPNC" + .HS 22.0444326161 +JPNC.E .HS 00 +JPNZ .DA JPNZ.E+1 + .HS 04 + .AS "JPNZ" + .HS 22.0443326161 +JPNZ.E .HS 00 +JPP .DA JPP.E+1 + .HS 03 + .AS "JPP" + .HS 22.0446326161 +JPP.E .HS 00 +JPPE .DA JPPE.E+1 + .HS 04 + .AS "JPPE" + .HS 22.0445416161 +JPPE.E .HS 00 +JPPO .DA JPPO.E+1 + .HS 04 + .AS "JPPO" + .HS 22.0445326161 +JPPO.E .HS 00 +JPZ .DA JPZ.E+1 + .HS 03 + .AS "JPZ" + .HS 22.0443416161 +JPZ.E .HS 00 +JR .DA JR.E+1 + .HS 02 + .AS "JR" + .HS 29.03313872 +JR.E .HS 00 +JRC .DA JRC.E+1 + .HS 03 + .AS "JRC" + .HS 29.03333872 +JRC.E .HS 00 +JRNC .DA JRNC.E+1 + .HS 04 + .AS "JRNC" + .HS 29.03333072 +JRNC.E .HS 00 +JRNZ .DA JRNZ.E+1 + .HS 04 + .AS "JRNZ" + .HS 29.03323072 +JRNZ.E .HS 00 +JRZ .DA JRZ.E+1 + .HS 03 + .AS "JRZ" + .HS 29.03323872 +JRZ.E .HS 00 +LD .DA LD.E+1 + .HS 02 + .AS "LD" + .HS 38.0433326161 + .HS 39.06454434336161 + .HS 3A.06454435336161 + .HS 3B.0432326161 + .HS 3B.06454436426161 + .HS 3C.06444432326161 + .HS 3D.06444432326161 + .HS 3E.06454437336161 + .HS 3F.023032 + .HS 40.023132 + .HS 41.023737 + .HS 42.03333661 + .HS 43.023730 + .HS 44.023731 + .HS 45.023732 + .HS 46.023733 + .HS 47.023734 + .HS 48.023735 + .HS 49.054444373761 + .HS 4A.06444433366161 + .HS 4A.06444437366161 + .HS 4B.054444373061 + .HS 4C.054444373161 + .HS 4D.054444373261 + .HS 4E.054444373361 + .HS 4F.054444373461 + .HS 50.054444373561 + .HS 51.054644373761 + .HS 52.06464433366161 + .HS 52.06464437366161 + .HS 53.054644373061 + .HS 54.054644373161 + .HS 55.054644373261 + .HS 56.054644373361 + .HS 57.054644373461 + .HS 58.054644373561 + .HS 59.0433416161 + .HS 5A.023041 + .HS 5B.023141 + .HS 00.023745 + .HS 01.054444374561 + .HS 02.054644374561 + .HS 03.023746 + .HS 04.03334561 + .HS 05.023738 + .HS 06.023739 + .HS 07.023741 + .HS 08.023742 + .HS 09.023743 + .HS 5C.0445443537 + .HS 0A.023744 + .HS 5D.0445443546 + .HS 5E.023436 + .HS 5F.054444343672 + .HS 60.054644343672 + .HS 61.023437 + .HS 62.03303661 + .HS 63.023430 + .HS 64.023431 + .HS 65.023432 + .HS 66.023433 + .HS 67.023434 + .HS 68.023435 + .HS 69.06454434426161 + .HS 6A.0430316161 + .HS 6B.023445 + .HS 6C.054444344572 + .HS 6D.054644344572 + .HS 6E.023446 + .HS 6F.03304561 + .HS 70.023438 + .HS 71.023439 + .HS 72.023441 + .HS 73.023442 + .HS 74.023443 + .HS 75.023444 + .HS 76.023536 + .HS 77.054444353661 + .HS 78.054644353661 + .HS 79.023537 + .HS 7A.03313661 + .HS 7B.023530 + .HS 7C.023531 + .HS 7D.023532 + .HS 7E.023533 + .HS 7F.023534 + .HS 80.023535 + .HS 81.06454435426161 + .HS 82.0431316161 + .HS 83.023545 + .HS 84.054444354561 + .HS 85.054644354561 + .HS 86.023546 + .HS 87.03314561 + .HS 88.023538 + .HS 89.023539 + .HS 8A.023541 + .HS 8B.023542 + .HS 8C.023543 + .HS 8D.023544 + .HS 8E.023636 + .HS 8F.054444363661 + .HS 90.054644363661 + .HS 91.023637 + .HS 92.03323661 + .HS 93.023630 + .HS 94.023631 + .HS 95.023632 + .HS 96.023633 + .HS 97.023634 + .HS 98.023635 + .HS 99.0432416161 + .HS 99.06454436426161 + .HS 9A.0432316161 + .HS 9B.0445443437 + .HS 9C.06444432416161 + .HS 9D.06444432316161 + .HS 9E.06464432416161 + .HS 9F.06464432316161 + .HS A0.023645 + .HS A1.054444364561 + .HS A2.054644364561 + .HS A3.023646 + .HS A4.03324561 + .HS A5.023638 + .HS A6.023639 + .HS A7.023641 + .HS A8.023642 + .HS A9.023643 + .HS AA.023644 + .HS AB.0445443446 + .HS AC.06454437426161 + .HS AD.0433316161 + .HS AE.024639 + .HS AF.0444444639 + .HS B0.0446444639 +LD.E .HS 00 +LDD .DA LDD.E+1 + .HS 03 + .AS "LDD" + .HS FF.0445444138 +LDD.E .HS 00 +LDDR .DA LDDR.E+1 + .HS 04 + .AS "LDDR" + .HS FF.0445444238 +LDDR.E .HS 00 +LDI .DA LDI.E+1 + .HS 03 + .AS "LDI" + .HS FF.0445444130 +LDI.E .HS 00 +LDIR .DA LDIR.E+1 + .HS 04 + .AS "LDIR" + .HS FF.0445444230 +LDIR.E .HS 00 +NEG .DA NEG.E+1 + .HS 03 + .AS "NEG" + .HS FF.0445443434 +NEG.E .HS 00 +NOP .DA NOP.E+1 + .HS 03 + .AS "NOP" + .HS FF.023030 +NOP.E .HS 00 +OR .DA OR.E+1 + .HS 02 + .AS "OR" + .HS 17.024236 + .HS 18.054444423661 + .HS 19.054644423661 + .HS 1A.024237 + .HS 1B.03463661 + .HS 1C.024230 + .HS 1D.024231 + .HS 1E.024232 + .HS 1F.024233 + .HS 20.024234 + .HS 21.024235 +OR.E .HS 00 +OTDR .DA OTDR.E+1 + .HS 04 + .AS "OTDR" + .HS FF.0445444242 +OTDR.E .HS 00 +OTIR .DA OTIR.E+1 + .HS 04 + .AS "OTIR" + .HS FF.0445444233 +OTIR.E .HS 00 +OUT .DA OUT.E+1 + .HS 03 + .AS "OUT" + .HS B1.03443361 + .HS B2.0445443739 + .HS B3.0445443431 + .HS B4.0445443439 + .HS B5.0445443531 + .HS B6.0445443539 + .HS B7.0445443631 + .HS B8.0445443639 +OUT.E .HS 00 +OUTD .DA OUTD.E+1 + .HS 04 + .AS "OUTD" + .HS FF.0445444142 +OUTD.E .HS 00 +OUTI .DA OUTI.E+1 + .HS 04 + .AS "OUTI" + .HS FF.0445444133 +OUTI.E .HS 00 +POP .DA POP.E+1 + .HS 03 + .AS "POP" + .HS B9.024631 + .HS 23.024331 + .HS 24.024431 + .HS 25.024531 + .HS 26.0444444531 + .HS 27.0446444531 +POP.E .HS 00 +PUSH .DA PUSH.E+1 + .HS 04 + .AS "PUSH" + .HS B9.024635 + .HS 23.024335 + .HS 24.024435 + .HS 25.024535 + .HS 26.0444444535 + .HS 27.0446444535 +PUSH.E .HS 00 +RES0 .DA RES0.E+1 + .HS 04 + .AS "RES0" + .HS 17.0443423836 + .HS 18.0744444342613836 + .HS 19.0746444342613836 + .HS 1A.0443423837 + .HS 1C.0443423830 + .HS 1D.0443423831 + .HS 1E.0443423832 + .HS 1F.0443423833 + .HS 20.0443423834 + .HS 21.0443423835 +RES0.E .HS 00 +RES1 .DA RES1.E+1 + .HS 04 + .AS "RES1" + .HS 17.0443423845 + .HS 18.0744444342613845 + .HS 19.0746444342613845 + .HS 1A.0443423846 + .HS 1C.0443423838 + .HS 1D.0443423839 + .HS 1E.0443423841 + .HS 1F.0443423842 + .HS 20.0443423843 + .HS 21.0443423844 +RES1.E .HS 00 +RES2 .DA RES2.E+1 + .HS 04 + .AS "RES2" + .HS 17.0443423936 + .HS 18.0744444342613936 + .HS 19.0746444342613936 + .HS 1A.0443423937 + .HS 1C.0443423930 + .HS 1D.0443423931 + .HS 1E.0443423932 + .HS 1F.0443423933 + .HS 20.0443423934 + .HS 21.0443423935 +RES2.E .HS 00 +RES3 .DA RES3.E+1 + .HS 04 + .AS "RES3" + .HS 17.0443423945 + .HS 18.0744444342613945 + .HS 19.0746444342613945 + .HS 1A.0443423946 + .HS 1C.0443423938 + .HS 1D.0443423939 + .HS 1E.0443423941 + .HS 1F.0443423942 + .HS 20.0443423943 + .HS 21.0443423944 +RES3.E .HS 00 +RES4 .DA RES4.E+1 + .HS 04 + .AS "RES4" + .HS 17.0443424136 + .HS 18.0744444342614136 + .HS 19.0746444342614136 + .HS 1A.0443424137 + .HS 1C.0443424130 + .HS 1D.0443424131 + .HS 1E.0443424132 + .HS 1F.0443424133 + .HS 20.0443424134 + .HS 21.0443424135 +RES4.E .HS 00 +RES5 .DA RES5.E+1 + .HS 04 + .AS "RES5" + .HS 17.0443424145 + .HS 18.0744444342614145 + .HS 19.0746444342614145 + .HS 1A.0443424146 + .HS 1C.0443424138 + .HS 1D.0443424139 + .HS 1E.0443424141 + .HS 1F.0443424142 + .HS 20.0443424143 + .HS 21.0443424144 +RES5.E .HS 00 +RES6 .DA RES6.E+1 + .HS 04 + .AS "RES6" + .HS 17.0443424236 + .HS 18.0744444342614236 + .HS 19.0746444342614236 + .HS 1A.0443424237 + .HS 1C.0443424230 + .HS 1D.0443424231 + .HS 1E.0443424232 + .HS 1F.0443424233 + .HS 20.0443424234 + .HS 21.0443424235 +RES6.E .HS 00 +RES7 .DA RES7.E+1 + .HS 04 + .AS "RES7" + .HS 17.0443424245 + .HS 18.0744444342614245 + .HS 19.0746444342614245 + .HS 1A.0443424246 + .HS 1C.0443424238 + .HS 1D.0443424239 + .HS 1E.0443424241 + .HS 1F.0443424242 + .HS 20.0443424243 + .HS 21.0443424244 +RES7.E .HS 00 +RET .DA RET.E+1 + .HS 03 + .AS "RET" + .HS FF.024339 +RET.E .HS 00 +RETC .DA RETC.E+1 + .HS 04 + .AS "RETC" + .HS FF.024438 +RETC.E .HS 00 +RETI .DA RETI.E+1 + .HS 04 + .AS "RETI" + .HS FF.0445443444 +RETI.E .HS 00 +RETM .DA RETM.E+1 + .HS 04 + .AS "RETM" + .HS FF.024638 +RETM.E .HS 00 +RETN .DA RETN.E+1 + .HS 04 + .AS "RETN" + .HS FF.0445443435 +RETN.E .HS 00 +RETNC .DA RETNC.E+1 + .HS 05 + .AS "RETNC" + .HS FF.024430 +RETNC.E .HS 00 +RETNZ .DA RETNZ.E+1 + .HS 05 + .AS "RETNZ" + .HS FF.024330 +RETNZ.E .HS 00 +RETP .DA RETP.E+1 + .HS 04 + .AS "RETP" + .HS FF.024630 +RETP.E .HS 00 +RETPE .DA RETPE.E+1 + .HS 05 + .AS "RETPE" + .HS FF.024538 +RETPE.E .HS 00 +RETPO .DA RETPO.E+1 + .HS 05 + .AS "RETPO" + .HS FF.024530 +RETPO.E .HS 00 +RETZ .DA RETZ.E+1 + .HS 04 + .AS "RETZ" + .HS FF.024338 +RETZ.E .HS 00 +RL .DA RL.E+1 + .HS 02 + .AS "RL" + .HS 17.0443423136 + .HS 17.0443423145 + .HS 18.0744444342613136 + .HS 18.0744444342613145 + .HS 19.0746444342613136 + .HS 19.0746444342613145 + .HS 1A.0443423137 + .HS 1A.0443423146 + .HS 1C.0443423130 + .HS 1C.0443423138 + .HS 1D.0443423131 + .HS 1D.0443423139 + .HS 1E.0443423132 + .HS 1E.0443423141 + .HS 1F.0443423133 + .HS 1F.0443423142 + .HS 20.0443423134 + .HS 20.0443423143 + .HS 21.0443423135 + .HS 21.0443423144 +RL.E .HS 00 +RLA .DA RLA.E+1 + .HS 03 + .AS "RLA" + .HS FF.023137 +RLA.E .HS 00 +RLC .DA RLC.E+1 + .HS 03 + .AS "RLC" + .HS 17.0443423036 + .HS 18.0744444342613036 + .HS 19.0746444342613036 + .HS 1A.0443423037 + .HS 1C.0443423030 + .HS 1D.0443423031 + .HS 1E.0443423032 + .HS 1F.0443423033 + .HS 20.0443423034 + .HS 21.0443423035 +RLC.E .HS 00 +RLCA .DA RLCA.E+1 + .HS 04 + .AS "RLCA" + .HS FF.023037 +RLCA.E .HS 00 +RLD .DA RLD.E+1 + .HS 03 + .AS "RLD" + .HS FF.0445443646 +RLD.E .HS 00 +RRA .DA RRA.E+1 + .HS 03 + .AS "RRA" + .HS FF.023146 +RRA.E .HS 00 +RRC .DA RRC.E+1 + .HS 03 + .AS "RRC" + .HS 17.0443423045 + .HS 18.0744444342613045 + .HS 19.0746444342613045 + .HS 1A.0443423046 + .HS 1C.0443423038 + .HS 1D.0443423039 + .HS 1E.0443423041 + .HS 1F.0443423042 + .HS 20.0443423043 + .HS 21.0443423044 +RRC.E .HS 00 +RRCA .DA RRCA.E+1 + .HS 04 + .AS "RRCA" + .HS FF.023046 +RRCA.E .HS 00 +RRD .DA RRD.E+1 + .HS 03 + .AS "RRD" + .HS FF.0445443637 +RRD.E .HS 00 +RST0 .DA RST0.E+1 + .HS 04 + .AS "RST0" + .HS FF.024337 +RST0.E .HS 00 +RST10 .DA RST10.E+1 + .HS 05 + .AS "RST10" + .HS FF.024437 +RST10.E .HS 00 +RST18 .DA RST18.E+1 + .HS 05 + .AS "RST18" + .HS FF.024446 +RST18.E .HS 00 +RST20 .DA RST20.E+1 + .HS 05 + .AS "RST20" + .HS FF.024537 +RST20.E .HS 00 +RST28 .DA RST28.E+1 + .HS 05 + .AS "RST28" + .HS FF.024546 +RST28.E .HS 00 +RST30 .DA RST30.E+1 + .HS 05 + .AS "RST30" + .HS FF.024637 +RST30.E .HS 00 +RST38 .DA RST38.E+1 + .HS 05 + .AS "RST38" + .HS FF.024646 +RST38.E .HS 00 +RST8 .DA RST8.E+1 + .HS 04 + .AS "RST8" + .HS FF.024346 +RST8.E .HS 00 +SBC .DA SBC.E+1 + .HS 03 + .AS "SBC" + .HS 17.023945 + .HS 18.054444394561 + .HS 19.054644394561 + .HS 1A.023946 + .HS 1B.03444561 + .HS 1C.023938 + .HS 1D.023939 + .HS 1E.023941 + .HS 1F.023942 + .HS 20.023943 + .HS 0B.0445443432 + .HS 0C.0445443532 + .HS 0D.0445443632 + .HS 0E.0445443732 + .HS 21.023944 +SBC.E .HS 00 +SCF .DA SCF.E+1 + .HS 03 + .AS "SCF" + .HS FF.023337 +SCF.E .HS 00 +SET0 .DA SET0.E+1 + .HS 04 + .AS "SET0" + .HS 17.0443424336 + .HS 18.0744444342614336 + .HS 19.0746444342614336 + .HS 1A.0443424337 + .HS 1C.0443424330 + .HS 1D.0443424331 + .HS 1E.0443424332 + .HS 1F.0443424333 + .HS 20.0443424334 + .HS 21.0443424335 +SET0.E .HS 00 +SET1 .DA SET1.E+1 + .HS 04 + .AS "SET1" + .HS 17.0443424345 + .HS 18.0744444342614345 + .HS 19.0746444342614345 + .HS 1A.0443424346 + .HS 1C.0443424338 + .HS 1D.0443424339 + .HS 1E.0443424341 + .HS 1F.0443424342 + .HS 20.0443424343 + .HS 21.0443424344 +SET1.E .HS 00 +SET2 .DA SET2.E+1 + .HS 04 + .AS "SET2" + .HS 17.0443424436 + .HS 18.0744444342614436 + .HS 19.0746444342614436 + .HS 1A.0443424437 + .HS 1C.0443424430 + .HS 1D.0443424431 + .HS 1E.0443424432 + .HS 1F.0443424433 + .HS 20.0443424434 + .HS 21.0443424435 +SET2.E .HS 00 +SET3 .DA SET3.E+1 + .HS 04 + .AS "SET3" + .HS 17.0443424445 + .HS 18.0744444342614445 + .HS 19.0746444342614445 + .HS 1A.0443424446 + .HS 1C.0443424438 + .HS 1D.0443424439 + .HS 1E.0443424441 + .HS 1F.0443424442 + .HS 20.0443424443 + .HS 21.0443424444 +SET3.E .HS 00 +SET4 .DA SET4.E+1 + .HS 04 + .AS "SET4" + .HS 17.0443424536 + .HS 18.0744444342614536 + .HS 19.0746444342614536 + .HS 1A.0443424537 + .HS 1C.0443424530 + .HS 1D.0443424531 + .HS 1E.0443424532 + .HS 1F.0443424533 + .HS 20.0443424534 + .HS 21.0443424535 +SET4.E .HS 00 +SET5 .DA SET5.E+1 + .HS 04 + .AS "SET5" + .HS 17.0443424545 + .HS 18.0744444342614545 + .HS 19.0746444342614545 + .HS 1A.0443424546 + .HS 1C.0443424538 + .HS 1D.0443424539 + .HS 1E.0443424541 + .HS 1F.0443424542 + .HS 20.0443424543 + .HS 21.0443424544 +SET5.E .HS 00 +SET6 .DA SET6.E+1 + .HS 04 + .AS "SET6" + .HS 17.0443424636 + .HS 18.0744444342614636 + .HS 19.0746444342614636 + .HS 1A.0443424637 + .HS 1C.0443424630 + .HS 1D.0443424631 + .HS 1E.0443424632 + .HS 1F.0443424633 + .HS 20.0443424634 + .HS 21.0443424635 +SET6.E .HS 00 +SET7 .DA SET7.E+1 + .HS 04 + .AS "SET7" + .HS 17.0443424645 + .HS 18.0744444342614645 + .HS 19.0746444342614645 + .HS 1A.0443424646 + .HS 1C.0443424638 + .HS 1D.0443424639 + .HS 1E.0443424641 + .HS 1F.0443424642 + .HS 20.0443424643 + .HS 21.0443424644 +SET7.E .HS 00 +SLA .DA SLA.E+1 + .HS 03 + .AS "SLA" + .HS 17.0443423236 + .HS 18.0744444342613236 + .HS 19.0746444342613236 + .HS 1A.0443423237 + .HS 1C.0443423230 + .HS 1D.0443423231 + .HS 1E.0443423232 + .HS 1F.0443423233 + .HS 20.0443423234 + .HS 21.0443423235 +SLA.E .HS 00 +SRA .DA SRA.E+1 + .HS 03 + .AS "SRA" + .HS 17.0443423245 + .HS 18.0744444342613245 + .HS 19.0746444342613245 + .HS 1A.0443423246 + .HS 1C.0443423238 + .HS 1D.0443423239 + .HS 1E.0443423241 + .HS 1F.0443423242 + .HS 20.0443423243 + .HS 21.0443423244 +SRA.E .HS 00 +SRL .DA SRL.E+1 + .HS 03 + .AS "SRL" + .HS 17.0443423345 + .HS 18.0744444342613345 + .HS 19.0746444342613345 + .HS 1A.0443423346 + .HS 1C.0443423338 + .HS 1D.0443423339 + .HS 1E.0443423341 + .HS 1F.0443423342 + .HS 20.0443423343 + .HS 21.0443423344 +SRL.E .HS 00 +SUB .DA SUB.E+1 + .HS 03 + .AS "SUB" + .HS 17.023936 + .HS 18.054444393661 + .HS 19.054644393661 + .HS 1A.023937 + .HS 1B.03443661 + .HS 1C.023930 + .HS 1D.023931 + .HS 1E.023932 + .HS 1F.023933 + .HS 20.023934 + .HS 21.023935 +SUB.E .HS 00 +XOR .DA XOR.E+1 + .HS 03 + .AS "XOR" + .HS 17.024145 + .HS 18.054444414561 + .HS 19.054644414561 + .HS 1A.024146 + .HS 1B.03454561 + .HS 1C.024138 + .HS 1D.024139 + .HS 1E.024141 + .HS 1F.024142 + .HS 20.024143 + .HS 21.024144 +XOR.E .HS 00 + .HS 0000 MAN SAVE BIN/ASM.T.Z80.O LOAD BIN/ASM.T.Z80.S diff --git a/BIN/ASM.T.Z80.S.txt b/BIN/ASM.T.Z80.S.txt index dc3ef5d1..6814d0bb 100644 --- a/BIN/ASM.T.Z80.S.txt +++ b/BIN/ASM.T.Z80.S.txt @@ -4,10 +4,10 @@ NEW INC 1 AUTO 6 .LIST OFF - .OR $2000 + .OR $0 .TF /A2OSX.BOOT/BIN/ASM.T.Z80 *--------------------------------------- - .MA PSTR + .MA ST .DA #:1-*-1 .AS "]1" :1 .EQ * @@ -18,211 +18,211 @@ AUTO 6 .DA T.OPCODES *--------------------------------------- T.ADDR.MODES .EQ * - >PSTR "A,(HL)" - >PSTR "A,(IX+a)" - >PSTR "A,(IY+a)" - >PSTR "A,A" - >PSTR "A,a" - >PSTR "A,B" - >PSTR "A,C" - >PSTR "A,D" - >PSTR "A,E" - >PSTR "A,H" - >PSTR "A,L" - >PSTR "HL,BC" - >PSTR "HL,DE" - >PSTR "HL,HL" - >PSTR "HL,SP" - >PSTR "IX,BC" - >PSTR "IX,DE" - >PSTR "IX,IX" - >PSTR "IX,SP" - >PSTR "IY,BC" - >PSTR "IY,DE" - >PSTR "IY,IY" - >PSTR "IY,SP" - >PSTR "(HL)" - >PSTR "(IX+a)" - >PSTR "(IY+a)" - >PSTR "A" - >PSTR "a" - >PSTR "B" - >PSTR "C" - >PSTR "D" - >PSTR "E" - >PSTR "H" - >PSTR "L" - >PSTR "aa" - >PSTR "BC" - >PSTR "DE" - >PSTR "HL" - >PSTR "IX" - >PSTR "IY" - >PSTR "SP" - >PSTR "r" - >PSTR "(SP),HL" - >PSTR "(SP),IX" - >PSTR "(SP),IY" - >PSTR "DE,HL" - >PSTR "A,(a)" - >PSTR "A,(C)" - >PSTR "B,(C)" - >PSTR "C,(C)" - >PSTR "D,(C)" - >PSTR "E,(C)" - >PSTR "H,(C)" - >PSTR "L,(C)" - >PSTR "(IX)" - >PSTR "(IY)" - >PSTR "(aa),A" - >PSTR "(aa),BC" - >PSTR "(aa),DE" - >PSTR "(aa),HL" - >PSTR "(aa),IX" - >PSTR "(aa),IY" - >PSTR "(aa),SP" - >PSTR "(BC),A" - >PSTR "(DE),A" - >PSTR "(HL),A" - >PSTR "(HL),a" - >PSTR "(HL),B" - >PSTR "(HL),C" - >PSTR "(HL),D" - >PSTR "(HL),E" - >PSTR "(HL),H" - >PSTR "(HL),L" - >PSTR "(IX+a),A" - >PSTR "(IX+a),a" - >PSTR "(IX+a),B" - >PSTR "(IX+a),C" - >PSTR "(IX+a),D" - >PSTR "(IX+a),E" - >PSTR "(IX+a),H" - >PSTR "(IX+a),L" - >PSTR "(IY+a),A" - >PSTR "(IY+a),a" - >PSTR "(IY+a),B" - >PSTR "(IY+a),C" - >PSTR "(IY+a),D" - >PSTR "(IY+a),E" - >PSTR "(IY+a),H" - >PSTR "(IY+a),L" - >PSTR "A,(aa)" - >PSTR "A,(BC)" - >PSTR "A,(DE)" - >PSTR "A,I" - >PSTR "A,R" - >PSTR "B,(HL)" - >PSTR "B,(IX+a)" - >PSTR "B,(IY+a)" - >PSTR "B,A" - >PSTR "B,a" - >PSTR "B,B" - >PSTR "B,C" - >PSTR "B,D" - >PSTR "B,E" - >PSTR "B,H" - >PSTR "B,L" - >PSTR "BC,(aa)" - >PSTR "BC,aa" - >PSTR "C,(HL)" - >PSTR "C,(IX+a)" - >PSTR "C,(IY+a)" - >PSTR "C,A" - >PSTR "C,a" - >PSTR "C,B" - >PSTR "C,C" - >PSTR "C,D" - >PSTR "C,E" - >PSTR "C,H" - >PSTR "C,L" - >PSTR "D,(HL)" - >PSTR "D,(IX+a)" - >PSTR "D,(IY+a)" - >PSTR "D,A" - >PSTR "D,a" - >PSTR "D,B" - >PSTR "D,C" - >PSTR "D,D" - >PSTR "D,E" - >PSTR "D,H" - >PSTR "D,L" - >PSTR "DE,(aa)" - >PSTR "DE,aa" - >PSTR "E,(HL)" - >PSTR "E,(IX+a)" - >PSTR "E,(IY+a)" - >PSTR "E,A" - >PSTR "E,a" - >PSTR "E,B" - >PSTR "E,C" - >PSTR "E,D" - >PSTR "E,E" - >PSTR "E,H" - >PSTR "E,L" - >PSTR "H,(HL)" - >PSTR "H,(IX+a)" - >PSTR "H,(IY+a)" - >PSTR "H,A" - >PSTR "H,a" - >PSTR "H,B" - >PSTR "H,C" - >PSTR "H,D" - >PSTR "H,E" - >PSTR "H,H" - >PSTR "H,L" - >PSTR "HL,(aa)" - >PSTR "HL,aa" - >PSTR "I,A" - >PSTR "IX,(aa)" - >PSTR "IX,aa" - >PSTR "IY,(aa)" - >PSTR "IY,aa" - >PSTR "L,(HL)" - >PSTR "L,(IX+a)" - >PSTR "L,(IY+a)" - >PSTR "L,A" - >PSTR "L,a" - >PSTR "L,B" - >PSTR "L,C" - >PSTR "L,D" - >PSTR "L,E" - >PSTR "L,H" - >PSTR "L,L" - >PSTR "R,A" - >PSTR "SP,(aa)" - >PSTR "SP,aa" - >PSTR "SP,HL" - >PSTR "SP,IX" - >PSTR "SP,IY" - >PSTR "(a),A" - >PSTR "(C),A" - >PSTR "(C),B" - >PSTR "(C),C" - >PSTR "(C),D" - >PSTR "(C),E" - >PSTR "(C),H" - >PSTR "(C),L" - >PSTR "AF" + >ST "A,(HL)" + >ST "A,(IX+a)" + >ST "A,(IY+a)" + >ST "A,A" + >ST "A,a" + >ST "A,B" + >ST "A,C" + >ST "A,D" + >ST "A,E" + >ST "A,H" + >ST "A,L" + >ST "HL,BC" + >ST "HL,DE" + >ST "HL,HL" + >ST "HL,SP" + >ST "IX,BC" + >ST "IX,DE" + >ST "IX,IX" + >ST "IX,SP" + >ST "IY,BC" + >ST "IY,DE" + >ST "IY,IY" + >ST "IY,SP" + >ST "(HL)" + >ST "(IX+a)" + >ST "(IY+a)" + >ST "A" + >ST "a" + >ST "B" + >ST "C" + >ST "D" + >ST "E" + >ST "H" + >ST "L" + >ST "aa" + >ST "BC" + >ST "DE" + >ST "HL" + >ST "IX" + >ST "IY" + >ST "SP" + >ST "r" + >ST "(SP),HL" + >ST "(SP),IX" + >ST "(SP),IY" + >ST "DE,HL" + >ST "A,(a)" + >ST "A,(C)" + >ST "B,(C)" + >ST "C,(C)" + >ST "D,(C)" + >ST "E,(C)" + >ST "H,(C)" + >ST "L,(C)" + >ST "(IX)" + >ST "(IY)" + >ST "(aa),A" + >ST "(aa),BC" + >ST "(aa),DE" + >ST "(aa),HL" + >ST "(aa),IX" + >ST "(aa),IY" + >ST "(aa),SP" + >ST "(BC),A" + >ST "(DE),A" + >ST "(HL),A" + >ST "(HL),a" + >ST "(HL),B" + >ST "(HL),C" + >ST "(HL),D" + >ST "(HL),E" + >ST "(HL),H" + >ST "(HL),L" + >ST "(IX+a),A" + >ST "(IX+a),a" + >ST "(IX+a),B" + >ST "(IX+a),C" + >ST "(IX+a),D" + >ST "(IX+a),E" + >ST "(IX+a),H" + >ST "(IX+a),L" + >ST "(IY+a),A" + >ST "(IY+a),a" + >ST "(IY+a),B" + >ST "(IY+a),C" + >ST "(IY+a),D" + >ST "(IY+a),E" + >ST "(IY+a),H" + >ST "(IY+a),L" + >ST "A,(aa)" + >ST "A,(BC)" + >ST "A,(DE)" + >ST "A,I" + >ST "A,R" + >ST "B,(HL)" + >ST "B,(IX+a)" + >ST "B,(IY+a)" + >ST "B,A" + >ST "B,a" + >ST "B,B" + >ST "B,C" + >ST "B,D" + >ST "B,E" + >ST "B,H" + >ST "B,L" + >ST "BC,(aa)" + >ST "BC,aa" + >ST "C,(HL)" + >ST "C,(IX+a)" + >ST "C,(IY+a)" + >ST "C,A" + >ST "C,a" + >ST "C,B" + >ST "C,C" + >ST "C,D" + >ST "C,E" + >ST "C,H" + >ST "C,L" + >ST "D,(HL)" + >ST "D,(IX+a)" + >ST "D,(IY+a)" + >ST "D,A" + >ST "D,a" + >ST "D,B" + >ST "D,C" + >ST "D,D" + >ST "D,E" + >ST "D,H" + >ST "D,L" + >ST "DE,(aa)" + >ST "DE,aa" + >ST "E,(HL)" + >ST "E,(IX+a)" + >ST "E,(IY+a)" + >ST "E,A" + >ST "E,a" + >ST "E,B" + >ST "E,C" + >ST "E,D" + >ST "E,E" + >ST "E,H" + >ST "E,L" + >ST "H,(HL)" + >ST "H,(IX+a)" + >ST "H,(IY+a)" + >ST "H,A" + >ST "H,a" + >ST "H,B" + >ST "H,C" + >ST "H,D" + >ST "H,E" + >ST "H,H" + >ST "H,L" + >ST "HL,(aa)" + >ST "HL,aa" + >ST "I,A" + >ST "IX,(aa)" + >ST "IX,aa" + >ST "IY,(aa)" + >ST "IY,aa" + >ST "L,(HL)" + >ST "L,(IX+a)" + >ST "L,(IY+a)" + >ST "L,A" + >ST "L,a" + >ST "L,B" + >ST "L,C" + >ST "L,D" + >ST "L,E" + >ST "L,H" + >ST "L,L" + >ST "R,A" + >ST "SP,(aa)" + >ST "SP,aa" + >ST "SP,HL" + >ST "SP,IX" + >ST "SP,IY" + >ST "(a),A" + >ST "(C),A" + >ST "(C),B" + >ST "(C),C" + >ST "(C),D" + >ST "(C),E" + >ST "(C),H" + >ST "(C),L" + >ST "AF" .HS 00 *--------------------------------------- T.REGISTERS .EQ * - >PSTR "A" - >PSTR "HL" - >PSTR "IX" - >PSTR "IY" - >PSTR "B" - >PSTR "C" - >PSTR "D" - >PSTR "E" - >PSTR "H" - >PSTR "L" - >PSTR "BC" - >PSTR "DE" - >PSTR "SP" - >PSTR "I" - >PSTR "R" - >PSTR "AF" + >ST "A" + >ST "HL" + >ST "IX" + >ST "IY" + >ST "B" + >ST "C" + >ST "D" + >ST "E" + >ST "H" + >ST "L" + >ST "BC" + >ST "DE" + >ST "SP" + >ST "I" + >ST "R" + >ST "AF" .HS 00 *--------------------------------------- .INB BIN/ASM.T.Z80.O diff --git a/BIN/ASM.T.xlsm b/BIN/ASM.T.xlsm index d2df59b61ce55c42d8be07387ec39ee3f6014440..60624fc2e55cd8f20e68c3c5d6bb4dd9d3f4c9cc 100644 GIT binary patch delta 58377 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

eSO@n~UGMs6=P7p!i=VcqFz8C~`cn_b9UIaP*0 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