diff --git a/src/Ophis/Opcodes.py b/src/Ophis/Opcodes.py index 8b5ece0..598f2ef 100644 --- a/src/Ophis/Opcodes.py +++ b/src/Ophis/Opcodes.py @@ -115,8 +115,12 @@ opcodes = { None, None, None, None, None, None, None, None, None, None, None, None, None], 'jmp': [None, None, None, None, None, None, 0x4C, None, None, 0x6C, None, None, None, None, None, None, None, None, None, None, None], + 'jmp.w': [None, None, None, None, None, None, 0x4C, None, + None, 0x6C, None, None, None, None, None, None, None, None, None, None, None], 'jsr': [None, None, None, None, None, None, 0x20, None, None, None, None, None, None, None, None, None, None, None, None, None, None], + 'jsr.w': [None, None, None, None, None, None, 0x20, None, + None, None, None, None, None, None, None, None, None, None, None, None, None], 'lda': [None, 0xA9, None, 0xA5, 0xB5, None, 0xAD, 0xBD, 0xB9, None, None, None, None, None, 0xA1, 0xB1, None, None, None, None, None], 'lda.w': [None, None, None, None, None, None, 0xAD, 0xBD, @@ -205,34 +209,58 @@ undocops = { None, None, None, None, None, None, None, None, None, None, None, None, None], 'dcp': [None, None, None, 0xC7, 0xD7, None, 0xCF, 0xDF, 0xDB, None, None, None, None, None, 0xC3, 0xD3, None, None, None, None, None], + 'dcp.w': [None, None, None, None, None, None, 0xCF, 0xDF, + 0xDB, None, None, None, None, None, None, None, None, None, None, None, None], 'isb': [None, None, None, 0xE7, 0xF7, None, 0xEF, 0xFF, 0xFB, None, None, None, None, None, 0xE3, 0xF3, None, None, None, None, None], + 'isb.w': [None, None, None, None, None, None, 0xEF, 0xFF, + 0xFB, None, None, None, None, None, None, None, None, None, None, None, None], 'las': [None, None, None, None, None, None, None, None, 0xBB, None, None, None, None, None, None, None, None, None, None, None, None], + 'las.w': [None, None, None, None, None, None, None, None, + 0xBB, None, None, None, None, None, None, None, None, None, None, None, None], 'lax': [None, None, None, 0xA7, None, 0xB7, 0xAF, None, 0xBF, None, None, None, None, None, 0xA3, 0xB3, None, None, None, None, None], + 'lax.w': [None, None, None, None, None, None, 0xAF, None, + 0xBF, None, None, None, None, None, None, None, None, None, None, None, None], 'lxa': [None, 0xAB, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None], 'nop': [0xEA, None, None, 0x04, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None], 'rla': [None, None, None, 0x27, 0x37, None, 0x2F, 0x3F, 0x3B, None, None, None, None, None, 0x23, 0x33, None, None, None, None, None], + 'rla.w': [None, None, None, None, None, None, 0x2F, 0x3F, + 0x3B, None, None, None, None, None, None, None, None, None, None, None, None], 'rra': [None, None, None, 0x67, 0x77, None, 0x6F, 0x7F, 0x7B, None, None, None, None, None, 0x63, 0x73, None, None, None, None, None], + 'rra.w': [None, None, None, None, None, None, 0x6F, 0x7F, + 0x7B, None, None, None, None, None, None, None, None, None, None, None, None], 'sax': [None, None, None, 0x87, None, 0x97, 0x8F, None, None, None, None, None, None, None, 0x83, None, None, None, None, None, None], + 'sax.w': [None, None, None, None, None, None, 0x8F, None, + None, None, None, None, None, None, None, None, None, None, None, None, None], 'sbx': [None, 0xCB, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None], 'sha': [None, None, None, None, None, None, None, None, 0x9F, None, None, None, None, None, None, 0x93, None, None, None, None, None], + 'sha.w': [None, None, None, None, None, None, None, None, + 0x9F, None, None, None, None, None, None, None, None, None, None, None, None], 'shs': [None, None, None, None, None, None, None, None, 0x9B, None, None, None, None, None, None, None, None, None, None, None, None], + 'shs.w': [None, None, None, None, None, None, None, None, + 0x9B, None, None, None, None, None, None, None, None, None, None, None, None], 'shx': [None, None, None, None, None, None, None, None, 0x9E, None, None, None, None, None, None, None, None, None, None, None, None], + 'shx.w': [None, None, None, None, None, None, None, None, + 0x9E, None, None, None, None, None, None, None, None, None, None, None, None], 'slo': [None, None, None, 0x07, 0x17, None, 0x0F, 0x1F, 0x1B, None, None, None, None, None, 0x03, 0x13, None, None, None, None, None], + 'slo.w': [None, None, None, None, None, None, 0x0F, 0x1F, + 0x1B, None, None, None, None, None, None, None, None, None, None, None, None], 'sre': [None, None, None, 0x47, 0x57, None, 0x4F, 0x5F, 0x5B, None, None, None, None, None, 0x43, 0x53, None, None, None, None, None], + 'sre.w': [None, None, None, None, None, None, 0x4F, 0x5F, + 0x5B, None, None, None, None, None, None, None, None, None, None, None, None], } c02extensions = { 'adc': [None, 0x69, None, 0x65, 0x75, None, 0x6D, 0x7D, @@ -273,6 +301,8 @@ c02extensions = { None, None, None, None, None, None, None, None, None, None, None, None, 0xFF], 'bit': [None, 0x89, None, 0x24, 0x34, None, 0x2C, 0x3C, None, None, None, None, None, None, None, None, None, None, None, None, None], + 'bit.w': [None, None, None, None, None, None, 0x2C, 0x3C, + None, None, None, None, None, None, None, None, None, None, None, None, None], 'bra': [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 0x80, None, None], 'cmp': [None, 0xC9, None, 0xC5, 0xD5, None, 0xCD, 0xDD, @@ -289,6 +319,8 @@ c02extensions = { None, None, None, None, None, None, None, None, None, None, None, None, None], 'jmp': [None, None, None, None, None, None, 0x4C, None, None, 0x6C, 0x7C, None, None, None, None, None, None, None, None, None, None], + 'jmp.w': [None, None, None, None, None, None, 0x4C, None, + None, 0x6C, 0x7C, None, None, None, None, None, None, None, None, None, None], 'lda': [None, 0xA9, None, 0xA5, 0xB5, None, 0xAD, 0xBD, 0xB9, None, None, None, None, 0xB2, 0xA1, 0xB1, None, None, None, None, None], 'ora': [None, 0x09, None, 0x05, 0x15, None, 0x0D, 0x1D, @@ -363,6 +395,8 @@ csg4502extensions = { None, None, None, None, None, None, None, None, None, None, None, None, None], 'asw': [None, None, None, None, None, None, 0xCB, None, None, None, None, None, None, None, None, None, None, None, None, None, None], + 'asw.w': [None, None, None, None, None, None, 0xCB, None, + None, None, None, None, None, None, None, None, None, None, None, None, None], 'bbr0': [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 0x0F], 'bbr1': [None, None, None, None, None, None, None, None, @@ -397,32 +431,56 @@ csg4502extensions = { None, None, None, None, None, None, None, None, None, None, None, None, 0xFF], 'bcc': [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 0x90, 0x93, None], + 'bcc.w': [None, None, None, None, None, None, None, None, + None, None, None, None, None, None, None, None, None, None, None, 0x93, None], 'bcs': [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 0xB0, 0xB3, None], + 'bcs.w': [None, None, None, None, None, None, None, None, + None, None, None, None, None, None, None, None, None, None, None, 0xB3, None], 'beq': [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 0xF0, 0xF3, None], + 'beq.w': [None, None, None, None, None, None, None, None, + None, None, None, None, None, None, None, None, None, None, None, 0xF3, None], 'bit': [None, 0x89, None, 0x24, 0x34, None, 0x2C, 0x3C, None, None, None, None, None, None, None, None, None, None, None, None, None], + 'bit.w': [None, None, None, None, None, None, 0x2C, 0x3C, + None, None, None, None, None, None, None, None, None, None, None, None, None], 'bmi': [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 0x30, 0x33, None], + 'bmi.w': [None, None, None, None, None, None, None, None, + None, None, None, None, None, None, None, None, None, None, None, 0x33, None], 'bne': [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 0xD0, 0xD3, None], + 'bne.w': [None, None, None, None, None, None, None, None, + None, None, None, None, None, None, None, None, None, None, None, 0xD3, None], 'bpl': [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 0x10, 0x13, None], + 'bpl.w': [None, None, None, None, None, None, None, None, + None, None, None, None, None, None, None, None, None, None, None, 0x13, None], 'bra': [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 0x80, 0x83, None], + 'bra.w': [None, None, None, None, None, None, None, None, + None, None, None, None, None, None, None, None, None, None, None, 0x83, None], 'bsr': [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 0x63, None], + 'bsr.w': [None, None, None, None, None, None, None, None, + None, None, None, None, None, None, None, None, None, None, None, 0x63, None], 'bvc': [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 0x50, 0x53, None], + 'bvc.w': [None, None, None, None, None, None, None, None, + None, None, None, None, None, None, None, None, None, None, None, 0x53, None], 'bvs': [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 0x70, 0x73, None], + 'bvs.w': [None, None, None, None, None, None, None, None, + None, None, None, None, None, None, None, None, None, None, None, 0x73, None], 'cle': [0x02, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None], 'cmp': [None, 0xC9, None, 0xC5, 0xD5, None, 0xCD, 0xDD, 0xD9, None, None, None, None, None, 0xC1, 0xD1, None, 0xD2, None, None, None], 'cpz': [None, 0xC2, None, 0xD4, None, None, 0xDC, None, None, None, None, None, None, None, None, None, None, None, None, None, None], + 'cpz.w': [None, None, None, None, None, None, 0xDC, None, + None, None, None, None, None, None, None, None, None, None, None, None, None], 'dea': [0x3A, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None], 'dec': [0x3A, None, None, 0xC6, 0xD6, None, 0xCE, 0xDE, @@ -443,12 +501,18 @@ csg4502extensions = { None, None, None, None, None, None, None, None, None, None, None, None, None], 'jmp': [None, None, None, None, None, None, 0x4C, None, None, 0x6C, 0x7C, None, None, None, None, None, None, None, None, None, None], + 'jmp.w': [None, None, None, None, None, None, 0x4C, None, + None, 0x6C, 0x7C, None, None, None, None, None, None, None, None, None, None], 'jsr': [None, None, None, None, None, None, 0x20, None, None, 0x22, 0x23, None, None, None, None, None, None, None, None, None, None], + 'jsr.w': [None, None, None, None, None, None, 0x20, None, + None, 0x22, 0x23, None, None, None, None, None, None, None, None, None, None], 'lda': [None, 0xA9, None, 0xA5, 0xB5, None, 0xAD, 0xBD, 0xB9, None, None, None, None, None, 0xA1, 0xB1, 0xE2, 0xB2, None, None, None], 'ldz': [None, 0xA3, None, None, None, None, 0xAB, 0xBB, None, None, None, None, None, None, None, None, None, None, None, None, None], + 'ldz.w': [None, None, None, None, None, None, 0xAB, 0xBB, + None, None, None, None, None, None, None, None, None, None, None, None, None], 'map': [0x5C, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None], 'neg': [0x42, None, None, None, None, None, None, None, @@ -457,6 +521,8 @@ csg4502extensions = { 0x19, None, None, None, None, None, 0x01, 0x11, None, 0x12, None, None, None], 'phw': [None, None, 0xF4, None, None, None, 0xFC, None, None, None, None, None, None, None, None, None, None, None, None, None, None], + 'phw.w': [None, None, 0xF4, None, None, None, 0xFC, None, + None, None, None, None, None, None, None, None, None, None, None, None, None], 'phx': [0xDA, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None], 'phy': [0x5A, None, None, None, None, None, None, None, @@ -487,6 +553,8 @@ csg4502extensions = { None, None, None, None, None, None, None, None, None, None, None, None, None], 'row': [None, None, None, None, None, None, 0xEB, None, None, None, None, None, None, None, None, None, None, None, None, None, None], + 'row.w': [None, None, None, None, None, None, 0xEB, None, + None, None, None, None, None, None, None, None, None, None, None, None, None], 'rts': [0x60, 0x62, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None], 'sbc': [None, 0xE9, None, 0xE5, 0xF5, None, 0xED, 0xFD, @@ -513,10 +581,16 @@ csg4502extensions = { 0x99, None, None, None, None, None, 0x81, 0x91, 0x82, 0x92, None, None, None], 'stx': [None, None, None, 0x86, None, 0x96, 0x8E, None, 0x9B, None, None, None, None, None, None, None, None, None, None, None, None], + 'stx.w': [None, None, None, None, None, None, 0x8E, None, + 0x9B, None, None, None, None, None, None, None, None, None, None, None, None], 'sty': [None, None, None, 0x84, 0x94, None, 0x8C, 0x8B, None, None, None, None, None, None, None, None, None, None, None, None, None], + 'sty.w': [None, None, None, None, None, None, 0x8C, 0x8B, + None, None, None, None, None, None, None, None, None, None, None, None, None], 'stz': [None, None, None, 0x64, 0x74, None, 0x9C, 0x9E, None, None, None, None, None, None, None, None, None, None, None, None, None], + 'stz.w': [None, None, None, None, None, None, 0x9C, 0x9E, + None, None, None, None, None, None, None, None, None, None, None, None, None], 'tab': [0x5B, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None], 'taz': [0x4B, None, None, None, None, None, None, None, @@ -525,8 +599,12 @@ csg4502extensions = { None, None, None, None, None, None, None, None, None, None, None, None, None], 'trb': [None, None, None, 0x14, None, None, 0x1C, None, None, None, None, None, None, None, None, None, None, None, None, None, None], + 'trb.w': [None, None, None, None, None, None, 0x1C, None, + None, None, None, None, None, None, None, None, None, None, None, None, None], 'tsb': [None, None, None, 0x04, None, None, 0x0C, None, None, None, None, None, None, None, None, None, None, None, None, None, None], + 'tsb.w': [None, None, None, None, None, None, 0x0C, None, + None, None, None, None, None, None, None, None, None, None, None, None, None], 'tsy': [0x0B, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None], 'tys': [0x2B, None, None, None, None, None, None, None, diff --git a/src/tools/opcodes/op4502.txt b/src/tools/opcodes/op4502.txt index 73f8df9..dc845de 100644 --- a/src/tools/opcodes/op4502.txt +++ b/src/tools/opcodes/op4502.txt @@ -10,30 +10,30 @@ 09: ORA - Immediate 0A: ASL - Implied 0B: TSY - Implied - 0C: TSB - Absolute - 0D: ORA - Absolute - 0E: ASL - Absolute + 0C: TSB - Absolute; TSB.W - Absolute + 0D: ORA - Absolute; ORA.W - Absolute + 0E: ASL - Absolute; ASL.W - Absolute 0F: BBR0 - Zero Page, Relative 10: BPL - Relative 11: ORA - (Zero Page), Y 12: ORA - (Zero Page), Z - 13: BPL - RelativeLong + 13: BPL - RelativeLong; BPL.W - RelativeLong 14: TRB - Zero Page 15: ORA - Zero Page, X 16: ASL - Zero Page, X 17: RMB1 - Zero Page 18: CLC - Implied - 19: ORA - Absolute, Y + 19: ORA - Absolute, Y; ORA.W - Absolute, Y 1A: INC - Implied 1B: INZ - Implied - 1C: TRB - Absolute - 1D: ORA - Absolute, X - 1E: ASL - Absolute, X + 1C: TRB - Absolute; TRB.W - Absolute + 1D: ORA - Absolute, X; ORA.W - Absolute, X + 1E: ASL - Absolute, X; ASL.W - Absolute, X 1F: BBR1 - Zero Page, Relative - 20: JSR - Absolute + 20: JSR - Absolute; JSR.W - Absolute 21: AND - (Zero Page, X) - 22: JSR - (Absolute) - 23: JSR - (Absolute, X) + 22: JSR - (Absolute); JSR.W - (Absolute) + 23: JSR - (Absolute, X); JSR.W - (Absolute, X) 24: BIT - Zero Page 25: AND - Zero Page 26: ROL - Zero Page @@ -42,25 +42,25 @@ 29: AND - Immediate 2A: ROL - Implied 2B: TYS - Implied - 2C: BIT - Absolute - 2D: AND - Absolute - 2E: ROL - Absolute + 2C: BIT - Absolute; BIT.W - Absolute + 2D: AND - Absolute; AND.W - Absolute + 2E: ROL - Absolute; ROL.W - Absolute 2F: BBR2 - Zero Page, Relative 30: BMI - Relative 31: AND - (Zero Page), Y 32: AND - (Zero Page), Z - 33: BMI - RelativeLong + 33: BMI - RelativeLong; BMI.W - RelativeLong 34: BIT - Zero Page, X 35: AND - Zero Page, X 36: ROL - Zero Page, X 37: RMB3 - Zero Page 38: SEC - Implied - 39: AND - Absolute, Y + 39: AND - Absolute, Y; AND.W - Absolute, Y 3A: DEA - Implied; DEC - Implied 3B: DEZ - Implied - 3C: BIT - Absolute, X - 3D: AND - Absolute, X - 3E: ROL - Absolute, X + 3C: BIT - Absolute, X; BIT.W - Absolute, X + 3D: AND - Absolute, X; AND.W - Absolute, X + 3E: ROL - Absolute, X; ROL.W - Absolute, X 3F: BBR3 - Zero Page, Relative 40: RTI - Implied 41: EOR - (Zero Page, X) @@ -74,30 +74,30 @@ 49: EOR - Immediate 4A: LSR - Implied 4B: TAZ - Implied - 4C: JMP - Absolute - 4D: EOR - Absolute - 4E: LSR - Absolute + 4C: JMP - Absolute; JMP.W - Absolute + 4D: EOR - Absolute; EOR.W - Absolute + 4E: LSR - Absolute; LSR.W - Absolute 4F: BBR4 - Zero Page, Relative 50: BVC - Relative 51: EOR - (Zero Page), Y 52: EOR - (Zero Page), Z - 53: BVC - RelativeLong + 53: BVC - RelativeLong; BVC.W - RelativeLong 54: ASR - Zero Page, X 55: EOR - Zero Page, X 56: LSR - Zero Page, X 57: RMB5 - Zero Page 58: CLI - Implied - 59: EOR - Absolute, Y + 59: EOR - Absolute, Y; EOR.W - Absolute, Y 5A: PHY - Implied 5B: TAB - Implied 5C: MAP - Implied - 5D: EOR - Absolute, X - 5E: LSR - Absolute, X + 5D: EOR - Absolute, X; EOR.W - Absolute, X + 5E: LSR - Absolute, X; LSR.W - Absolute, X 5F: BBR5 - Zero Page, Relative 60: RTS - Implied 61: ADC - (Zero Page, X) 62: RTS - Immediate - 63: BSR - RelativeLong + 63: BSR - RelativeLong; BSR.W - RelativeLong 64: STZ - Zero Page 65: ADC - Zero Page 66: ROR - Zero Page @@ -106,30 +106,30 @@ 69: ADC - Immediate 6A: ROR - Implied 6B: TZA - Implied - 6C: JMP - (Absolute) - 6D: ADC - Absolute - 6E: ROR - Absolute + 6C: JMP - (Absolute); JMP.W - (Absolute) + 6D: ADC - Absolute; ADC.W - Absolute + 6E: ROR - Absolute; ROR.W - Absolute 6F: BBR6 - Zero Page, Relative 70: BVS - Relative 71: ADC - (Zero Page), Y 72: ADC - (Zero Page), Z - 73: BVS - RelativeLong + 73: BVS - RelativeLong; BVS.W - RelativeLong 74: STZ - Zero Page, X 75: ADC - Zero Page, X 76: ROR - Zero Page, X 77: RMB7 - Zero Page 78: SEI - Implied - 79: ADC - Absolute, Y + 79: ADC - Absolute, Y; ADC.W - Absolute, Y 7A: PLY - Implied 7B: TBA - Implied - 7C: JMP - (Absolute, X) - 7D: ADC - Absolute, X - 7E: ROR - Absolute, X + 7C: JMP - (Absolute, X); JMP.W - (Absolute, X) + 7D: ADC - Absolute, X; ADC.W - Absolute, X + 7E: ROR - Absolute, X; ROR.W - Absolute, X 7F: BBR7 - Zero Page, Relative 80: BRA - Relative 81: STA - (Zero Page, X) 82: STA - (Zero Page, SP), Y - 83: BRA - RelativeLong + 83: BRA - RelativeLong; BRA.W - RelativeLong 84: STY - Zero Page 85: STA - Zero Page 86: STX - Zero Page @@ -137,26 +137,26 @@ 88: DEY - Implied 89: BIT - Immediate 8A: TXA - Implied - 8B: STY - Absolute, X - 8C: STY - Absolute - 8D: STA - Absolute - 8E: STX - Absolute + 8B: STY - Absolute, X; STY.W - Absolute, X + 8C: STY - Absolute; STY.W - Absolute + 8D: STA - Absolute; STA.W - Absolute + 8E: STX - Absolute; STX.W - Absolute 8F: BBS0 - Zero Page, Relative 90: BCC - Relative 91: STA - (Zero Page), Y 92: STA - (Zero Page), Z - 93: BCC - RelativeLong + 93: BCC - RelativeLong; BCC.W - RelativeLong 94: STY - Zero Page, X 95: STA - Zero Page, X 96: STX - Zero Page, Y 97: SMB1 - Zero Page 98: TYA - Implied - 99: STA - Absolute, Y + 99: STA - Absolute, Y; STA.W - Absolute, Y 9A: TXS - Implied - 9B: STX - Absolute, Y - 9C: STZ - Absolute - 9D: STA - Absolute, X - 9E: STZ - Absolute, X + 9B: STX - Absolute, Y; STX.W - Absolute, Y + 9C: STZ - Absolute; STZ.W - Absolute + 9D: STA - Absolute, X; STA.W - Absolute, X + 9E: STZ - Absolute, X; STZ.W - Absolute, X 9F: BBS1 - Zero Page, Relative A0: LDY - Immediate A1: LDA - (Zero Page, X) @@ -169,26 +169,26 @@ A8: TAY - Implied A9: LDA - Immediate AA: TAX - Implied - AB: LDZ - Absolute - AC: LDY - Absolute - AD: LDA - Absolute - AE: LDX - Absolute + AB: LDZ - Absolute; LDZ.W - Absolute + AC: LDY - Absolute; LDY.W - Absolute + AD: LDA - Absolute; LDA.W - Absolute + AE: LDX - Absolute; LDX.W - Absolute AF: BBS2 - Zero Page, Relative B0: BCS - Relative B1: LDA - (Zero Page), Y B2: LDA - (Zero Page), Z - B3: BCS - RelativeLong + B3: BCS - RelativeLong; BCS.W - RelativeLong B4: LDY - Zero Page, X B5: LDA - Zero Page, X B6: LDX - Zero Page, Y B7: SMB3 - Zero Page B8: CLV - Implied - B9: LDA - Absolute, Y + B9: LDA - Absolute, Y; LDA.W - Absolute, Y BA: TSX - Implied - BB: LDZ - Absolute, X - BC: LDY - Absolute, X - BD: LDA - Absolute, X - BE: LDX - Absolute, Y + BB: LDZ - Absolute, X; LDZ.W - Absolute, X + BC: LDY - Absolute, X; LDY.W - Absolute, X + BD: LDA - Absolute, X; LDA.W - Absolute, X + BE: LDX - Absolute, Y; LDX.W - Absolute, Y BF: BBS3 - Zero Page, Relative C0: CPY - Immediate C1: CMP - (Zero Page, X) @@ -201,26 +201,26 @@ C8: INY - Implied C9: CMP - Immediate CA: DEX - Implied - CB: ASW - Absolute - CC: CPY - Absolute - CD: CMP - Absolute - CE: DEC - Absolute + CB: ASW - Absolute; ASW.W - Absolute + CC: CPY - Absolute; CPY.W - Absolute + CD: CMP - Absolute; CMP.W - Absolute + CE: DEC - Absolute; DEC.W - Absolute CF: BBS4 - Zero Page, Relative D0: BNE - Relative D1: CMP - (Zero Page), Y D2: CMP - (Zero Page), Z - D3: BNE - RelativeLong + D3: BNE - RelativeLong; BNE.W - RelativeLong D4: CPZ - Zero Page D5: CMP - Zero Page, X D6: DEC - Zero Page, X D7: SMB5 - Zero Page D8: CLD - Implied - D9: CMP - Absolute, Y + D9: CMP - Absolute, Y; CMP.W - Absolute, Y DA: PHX - Implied DB: PHZ - Implied - DC: CPZ - Absolute - DD: CMP - Absolute, X - DE: DEC - Absolute, X + DC: CPZ - Absolute; CPZ.W - Absolute + DD: CMP - Absolute, X; CMP.W - Absolute, X + DE: DEC - Absolute, X; DEC.W - Absolute, X DF: BBS5 - Zero Page, Relative E0: CPX - Immediate E1: SBC - (Zero Page, X) @@ -233,24 +233,24 @@ E8: INX - Implied E9: SBC - Immediate EA: NOP - Implied; EOM - Implied - EB: ROW - Absolute - EC: CPX - Absolute - ED: SBC - Absolute - EE: INC - Absolute + EB: ROW - Absolute; ROW.W - Absolute + EC: CPX - Absolute; CPX.W - Absolute + ED: SBC - Absolute; SBC.W - Absolute + EE: INC - Absolute; INC.W - Absolute EF: BBS6 - Zero Page, Relative F0: BEQ - Relative F1: SBC - (Zero Page), Y F2: SBC - (Zero Page), Z - F3: BEQ - RelativeLong - F4: PHW - Immediate.W + F3: BEQ - RelativeLong; BEQ.W - RelativeLong + F4: PHW - Immediate.W; PHW.W - Immediate.W F5: SBC - Zero Page, X F6: INC - Zero Page, X F7: SMB7 - Zero Page F8: SED - Implied - F9: SBC - Absolute, Y + F9: SBC - Absolute, Y; SBC.W - Absolute, Y FA: PLX - Implied FB: PLZ - Implied - FC: PHW - Absolute - FD: SBC - Absolute, X - FE: INC - Absolute, X + FC: PHW - Absolute; PHW.W - Absolute + FD: SBC - Absolute, X; SBC.W - Absolute, X + FE: INC - Absolute, X; INC.W - Absolute, X FF: BBS7 - Zero Page, Relative diff --git a/src/tools/opcodes/op6502.txt b/src/tools/opcodes/op6502.txt index 97cd629..3c69917 100644 --- a/src/tools/opcodes/op6502.txt +++ b/src/tools/opcodes/op6502.txt @@ -30,7 +30,7 @@ 1D: ORA - Absolute, X; ORA.W - Absolute, X 1E: ASL - Absolute, X; ASL.W - Absolute, X 1F: - 20: JSR - Absolute + 20: JSR - Absolute; JSR.W - Absolute 21: AND - (Zero Page, X) 22: 23: @@ -74,7 +74,7 @@ 49: EOR - Immediate 4A: LSR - Implied 4B: - 4C: JMP - Absolute + 4C: JMP - Absolute; JMP.W - Absolute 4D: EOR - Absolute; EOR.W - Absolute 4E: LSR - Absolute; LSR.W - Absolute 4F: @@ -106,7 +106,7 @@ 69: ADC - Immediate 6A: ROR - Implied 6B: - 6C: JMP - (Absolute) + 6C: JMP - (Absolute); JMP.W - (Absolute) 6D: ADC - Absolute; ADC.W - Absolute 6E: ROR - Absolute; ROR.W - Absolute 6F: diff --git a/src/tools/opcodes/op6510.txt b/src/tools/opcodes/op6510.txt index 43b4f29..1e71e92 100644 --- a/src/tools/opcodes/op6510.txt +++ b/src/tools/opcodes/op6510.txt @@ -11,9 +11,9 @@ 0A: ASL - Implied 0B: ANC - Immediate 0C: - 0D: ORA - Absolute - 0E: ASL - Absolute - 0F: SLO - Absolute + 0D: ORA - Absolute; ORA.W - Absolute + 0E: ASL - Absolute; ASL.W - Absolute + 0F: SLO - Absolute; SLO.W - Absolute 10: BPL - Relative 11: ORA - (Zero Page), Y 12: @@ -23,14 +23,14 @@ 16: ASL - Zero Page, X 17: SLO - Zero Page, X 18: CLC - Implied - 19: ORA - Absolute, Y + 19: ORA - Absolute, Y; ORA.W - Absolute, Y 1A: - 1B: SLO - Absolute, Y + 1B: SLO - Absolute, Y; SLO.W - Absolute, Y 1C: - 1D: ORA - Absolute, X - 1E: ASL - Absolute, X - 1F: SLO - Absolute, X - 20: JSR - Absolute + 1D: ORA - Absolute, X; ORA.W - Absolute, X + 1E: ASL - Absolute, X; ASL.W - Absolute, X + 1F: SLO - Absolute, X; SLO.W - Absolute, X + 20: JSR - Absolute; JSR.W - Absolute 21: AND - (Zero Page, X) 22: 23: RLA - (Zero Page, X) @@ -42,10 +42,10 @@ 29: AND - Immediate 2A: ROL - Implied 2B: - 2C: BIT - Absolute - 2D: AND - Absolute - 2E: ROL - Absolute - 2F: RLA - Absolute + 2C: BIT - Absolute; BIT.W - Absolute + 2D: AND - Absolute; AND.W - Absolute + 2E: ROL - Absolute; ROL.W - Absolute + 2F: RLA - Absolute; RLA.W - Absolute 30: BMI - Relative 31: AND - (Zero Page), Y 32: @@ -55,13 +55,13 @@ 36: ROL - Zero Page, X 37: RLA - Zero Page, X 38: SEC - Implied - 39: AND - Absolute, Y + 39: AND - Absolute, Y; AND.W - Absolute, Y 3A: - 3B: RLA - Absolute, Y + 3B: RLA - Absolute, Y; RLA.W - Absolute, Y 3C: - 3D: AND - Absolute, X - 3E: ROL - Absolute, X - 3F: RLA - Absolute, X + 3D: AND - Absolute, X; AND.W - Absolute, X + 3E: ROL - Absolute, X; ROL.W - Absolute, X + 3F: RLA - Absolute, X; RLA.W - Absolute, X 40: RTI - Implied 41: EOR - (Zero Page, X) 42: @@ -74,10 +74,10 @@ 49: EOR - Immediate 4A: LSR - Implied 4B: ASR - Immediate - 4C: JMP - Absolute - 4D: EOR - Absolute - 4E: LSR - Absolute - 4F: SRE - Absolute + 4C: JMP - Absolute; JMP.W - Absolute + 4D: EOR - Absolute; EOR.W - Absolute + 4E: LSR - Absolute; LSR.W - Absolute + 4F: SRE - Absolute; SRE.W - Absolute 50: BVC - Relative 51: EOR - (Zero Page), Y 52: @@ -87,13 +87,13 @@ 56: LSR - Zero Page, X 57: SRE - Zero Page, X 58: CLI - Implied - 59: EOR - Absolute, Y + 59: EOR - Absolute, Y; EOR.W - Absolute, Y 5A: - 5B: SRE - Absolute, Y + 5B: SRE - Absolute, Y; SRE.W - Absolute, Y 5C: - 5D: EOR - Absolute, X - 5E: LSR - Absolute, X - 5F: SRE - Absolute, X + 5D: EOR - Absolute, X; EOR.W - Absolute, X + 5E: LSR - Absolute, X; LSR.W - Absolute, X + 5F: SRE - Absolute, X; SRE.W - Absolute, X 60: RTS - Implied 61: ADC - (Zero Page, X) 62: @@ -106,10 +106,10 @@ 69: ADC - Immediate 6A: ROR - Implied 6B: ARR - Immediate - 6C: JMP - (Absolute) - 6D: ADC - Absolute - 6E: ROR - Absolute - 6F: RRA - Absolute + 6C: JMP - (Absolute); JMP.W - (Absolute) + 6D: ADC - Absolute; ADC.W - Absolute + 6E: ROR - Absolute; ROR.W - Absolute + 6F: RRA - Absolute; RRA.W - Absolute 70: BVS - Relative 71: ADC - (Zero Page), Y 72: @@ -119,13 +119,13 @@ 76: ROR - Zero Page, X 77: RRA - Zero Page, X 78: SEI - Implied - 79: ADC - Absolute, Y + 79: ADC - Absolute, Y; ADC.W - Absolute, Y 7A: - 7B: RRA - Absolute, Y + 7B: RRA - Absolute, Y; RRA.W - Absolute, Y 7C: - 7D: ADC - Absolute, X - 7E: ROR - Absolute, X - 7F: RRA - Absolute, X + 7D: ADC - Absolute, X; ADC.W - Absolute, X + 7E: ROR - Absolute, X; ROR.W - Absolute, X + 7F: RRA - Absolute, X; RRA.W - Absolute, X 80: 81: STA - (Zero Page, X) 82: @@ -138,10 +138,10 @@ 89: 8A: TXA - Implied 8B: ANE - Immediate - 8C: STY - Absolute - 8D: STA - Absolute - 8E: STX - Absolute - 8F: SAX - Absolute + 8C: STY - Absolute; STY.W - Absolute + 8D: STA - Absolute; STA.W - Absolute + 8E: STX - Absolute; STX.W - Absolute + 8F: SAX - Absolute; SAX.W - Absolute 90: BCC - Relative 91: STA - (Zero Page), Y 92: @@ -151,13 +151,13 @@ 96: STX - Zero Page, Y 97: SAX - Zero Page, Y 98: TYA - Implied - 99: STA - Absolute, Y + 99: STA - Absolute, Y; STA.W - Absolute, Y 9A: TXS - Implied - 9B: SHS - Absolute, Y + 9B: SHS - Absolute, Y; SHS.W - Absolute, Y 9C: - 9D: STA - Absolute, X - 9E: SHX - Absolute, Y - 9F: SHA - Absolute, Y + 9D: STA - Absolute, X; STA.W - Absolute, X + 9E: SHX - Absolute, Y; SHX.W - Absolute, Y + 9F: SHA - Absolute, Y; SHA.W - Absolute, Y A0: LDY - Immediate A1: LDA - (Zero Page, X) A2: LDX - Immediate @@ -170,10 +170,10 @@ A9: LDA - Immediate AA: TAX - Implied AB: LXA - Immediate - AC: LDY - Absolute - AD: LDA - Absolute - AE: LDX - Absolute - AF: LAX - Absolute + AC: LDY - Absolute; LDY.W - Absolute + AD: LDA - Absolute; LDA.W - Absolute + AE: LDX - Absolute; LDX.W - Absolute + AF: LAX - Absolute; LAX.W - Absolute B0: BCS - Relative B1: LDA - (Zero Page), Y B2: @@ -183,13 +183,13 @@ B6: LDX - Zero Page, Y B7: LAX - Zero Page, Y B8: CLV - Implied - B9: LDA - Absolute, Y + B9: LDA - Absolute, Y; LDA.W - Absolute, Y BA: TSX - Implied - BB: LAS - Absolute, Y - BC: LDY - Absolute, X - BD: LDA - Absolute, X - BE: LDX - Absolute, Y - BF: LAX - Absolute, Y + BB: LAS - Absolute, Y; LAS.W - Absolute, Y + BC: LDY - Absolute, X; LDY.W - Absolute, X + BD: LDA - Absolute, X; LDA.W - Absolute, X + BE: LDX - Absolute, Y; LDX.W - Absolute, Y + BF: LAX - Absolute, Y; LAX.W - Absolute, Y C0: CPY - Immediate C1: CMP - (Zero Page, X) C2: @@ -202,10 +202,10 @@ C9: CMP - Immediate CA: DEX - Implied CB: SBX - Immediate - CC: CPY - Absolute - CD: CMP - Absolute - CE: DEC - Absolute - CF: DCP - Absolute + CC: CPY - Absolute; CPY.W - Absolute + CD: CMP - Absolute; CMP.W - Absolute + CE: DEC - Absolute; DEC.W - Absolute + CF: DCP - Absolute; DCP.W - Absolute D0: BNE - Relative D1: CMP - (Zero Page), Y D2: @@ -215,13 +215,13 @@ D6: DEC - Zero Page, X D7: DCP - Zero Page, X D8: CLD - Implied - D9: CMP - Absolute, Y + D9: CMP - Absolute, Y; CMP.W - Absolute, Y DA: - DB: DCP - Absolute, Y + DB: DCP - Absolute, Y; DCP.W - Absolute, Y DC: - DD: CMP - Absolute, X - DE: DEC - Absolute, X - DF: DCP - Absolute, X + DD: CMP - Absolute, X; CMP.W - Absolute, X + DE: DEC - Absolute, X; DEC.W - Absolute, X + DF: DCP - Absolute, X; DCP.W - Absolute, X E0: CPX - Immediate E1: SBC - (Zero Page, X) E2: @@ -234,10 +234,10 @@ E9: SBC - Immediate EA: NOP - Implied EB: - EC: CPX - Absolute - ED: SBC - Absolute - EE: INC - Absolute - EF: ISB - Absolute + EC: CPX - Absolute; CPX.W - Absolute + ED: SBC - Absolute; SBC.W - Absolute + EE: INC - Absolute; INC.W - Absolute + EF: ISB - Absolute; ISB.W - Absolute F0: BEQ - Relative F1: SBC - (Zero Page), Y F2: @@ -247,10 +247,10 @@ F6: INC - Zero Page, X F7: ISB - Zero Page, X F8: SED - Implied - F9: SBC - Absolute, Y + F9: SBC - Absolute, Y; SBC.W - Absolute, Y FA: - FB: ISB - Absolute, Y + FB: ISB - Absolute, Y; ISB.W - Absolute, Y FC: - FD: SBC - Absolute, X - FE: INC - Absolute, X - FF: ISB - Absolute, X + FD: SBC - Absolute, X; SBC.W - Absolute, X + FE: INC - Absolute, X; INC.W - Absolute, X + FF: ISB - Absolute, X; ISB.W - Absolute, X diff --git a/src/tools/opcodes/op65c02.txt b/src/tools/opcodes/op65c02.txt index a7e62a0..759171e 100644 --- a/src/tools/opcodes/op65c02.txt +++ b/src/tools/opcodes/op65c02.txt @@ -11,8 +11,8 @@ 0A: ASL - Implied 0B: 0C: TSB - Absolute; TSB.W - Absolute - 0D: ORA - Absolute - 0E: ASL - Absolute + 0D: ORA - Absolute; ORA.W - Absolute + 0E: ASL - Absolute; ASL.W - Absolute 0F: BBR0 - Zero Page, Relative 10: BPL - Relative 11: ORA - (Zero Page), Y @@ -23,14 +23,14 @@ 16: ASL - Zero Page, X 17: RMB1 - Zero Page 18: CLC - Implied - 19: ORA - Absolute, Y + 19: ORA - Absolute, Y; ORA.W - Absolute, Y 1A: INA - Implied; INC - Implied 1B: 1C: TRB - Absolute; TRB.W - Absolute - 1D: ORA - Absolute, X - 1E: ASL - Absolute, X + 1D: ORA - Absolute, X; ORA.W - Absolute, X + 1E: ASL - Absolute, X; ASL.W - Absolute, X 1F: BBR1 - Zero Page, Relative - 20: JSR - Absolute + 20: JSR - Absolute; JSR.W - Absolute 21: AND - (Zero Page, X) 22: 23: @@ -42,9 +42,9 @@ 29: AND - Immediate 2A: ROL - Implied 2B: - 2C: BIT - Absolute - 2D: AND - Absolute - 2E: ROL - Absolute + 2C: BIT - Absolute; BIT.W - Absolute + 2D: AND - Absolute; AND.W - Absolute + 2E: ROL - Absolute; ROL.W - Absolute 2F: BBR2 - Zero Page, Relative 30: BMI - Relative 31: AND - (Zero Page), Y @@ -55,12 +55,12 @@ 36: ROL - Zero Page, X 37: RMB3 - Zero Page 38: SEC - Implied - 39: AND - Absolute, Y + 39: AND - Absolute, Y; AND.W - Absolute, Y 3A: DEA - Implied; DEC - Implied 3B: - 3C: BIT - Absolute, X - 3D: AND - Absolute, X - 3E: ROL - Absolute, X + 3C: BIT - Absolute, X; BIT.W - Absolute, X + 3D: AND - Absolute, X; AND.W - Absolute, X + 3E: ROL - Absolute, X; ROL.W - Absolute, X 3F: BBR3 - Zero Page, Relative 40: RTI - Implied 41: EOR - (Zero Page, X) @@ -74,9 +74,9 @@ 49: EOR - Immediate 4A: LSR - Implied 4B: - 4C: JMP - Absolute - 4D: EOR - Absolute - 4E: LSR - Absolute + 4C: JMP - Absolute; JMP.W - Absolute + 4D: EOR - Absolute; EOR.W - Absolute + 4E: LSR - Absolute; LSR.W - Absolute 4F: BBR4 - Zero Page, Relative 50: BVC - Relative 51: EOR - (Zero Page), Y @@ -87,12 +87,12 @@ 56: LSR - Zero Page, X 57: RMB5 - Zero Page 58: CLI - Implied - 59: EOR - Absolute, Y + 59: EOR - Absolute, Y; EOR.W - Absolute, Y 5A: PHY - Implied 5B: 5C: - 5D: EOR - Absolute, X - 5E: LSR - Absolute, X + 5D: EOR - Absolute, X; EOR.W - Absolute, X + 5E: LSR - Absolute, X; LSR.W - Absolute, X 5F: BBR5 - Zero Page, Relative 60: RTS - Implied 61: ADC - (Zero Page, X) @@ -106,9 +106,9 @@ 69: ADC - Immediate 6A: ROR - Implied 6B: - 6C: JMP - (Absolute) - 6D: ADC - Absolute - 6E: ROR - Absolute + 6C: JMP - (Absolute); JMP.W - (Absolute) + 6D: ADC - Absolute; ADC.W - Absolute + 6E: ROR - Absolute; ROR.W - Absolute 6F: BBR6 - Zero Page, Relative 70: BVS - Relative 71: ADC - (Zero Page), Y @@ -119,12 +119,12 @@ 76: ROR - Zero Page, X 77: RMB7 - Zero Page 78: SEI - Implied - 79: ADC - Absolute, Y + 79: ADC - Absolute, Y; ADC.W - Absolute, Y 7A: PLY - Implied 7B: - 7C: JMP - (Absolute, X) - 7D: ADC - Absolute, X - 7E: ROR - Absolute, X + 7C: JMP - (Absolute, X); JMP.W - (Absolute, X) + 7D: ADC - Absolute, X; ADC.W - Absolute, X + 7E: ROR - Absolute, X; ROR.W - Absolute, X 7F: BBR7 - Zero Page, Relative 80: BRA - Relative 81: STA - (Zero Page, X) @@ -138,9 +138,9 @@ 89: BIT - Immediate 8A: TXA - Implied 8B: - 8C: STY - Absolute - 8D: STA - Absolute - 8E: STX - Absolute + 8C: STY - Absolute; STY.W - Absolute + 8D: STA - Absolute; STA.W - Absolute + 8E: STX - Absolute; STX.W - Absolute 8F: BBS0 - Zero Page, Relative 90: BCC - Relative 91: STA - (Zero Page), Y @@ -151,11 +151,11 @@ 96: STX - Zero Page, Y 97: SMB1 - Zero Page 98: TYA - Implied - 99: STA - Absolute, Y + 99: STA - Absolute, Y; STA.W - Absolute, Y 9A: TXS - Implied 9B: 9C: STZ - Absolute; STZ.W - Absolute - 9D: STA - Absolute, X + 9D: STA - Absolute, X; STA.W - Absolute, X 9E: STZ - Absolute, X; STZ.W - Absolute, X 9F: BBS1 - Zero Page, Relative A0: LDY - Immediate @@ -170,9 +170,9 @@ A9: LDA - Immediate AA: TAX - Implied AB: - AC: LDY - Absolute - AD: LDA - Absolute - AE: LDX - Absolute + AC: LDY - Absolute; LDY.W - Absolute + AD: LDA - Absolute; LDA.W - Absolute + AE: LDX - Absolute; LDX.W - Absolute AF: BBS2 - Zero Page, Relative B0: BCS - Relative B1: LDA - (Zero Page), Y @@ -183,12 +183,12 @@ B6: LDX - Zero Page, Y B7: SMB3 - Zero Page B8: CLV - Implied - B9: LDA - Absolute, Y + B9: LDA - Absolute, Y; LDA.W - Absolute, Y BA: TSX - Implied BB: - BC: LDY - Absolute, X - BD: LDA - Absolute, X - BE: LDX - Absolute, Y + BC: LDY - Absolute, X; LDY.W - Absolute, X + BD: LDA - Absolute, X; LDA.W - Absolute, X + BE: LDX - Absolute, Y; LDX.W - Absolute, Y BF: BBS3 - Zero Page, Relative C0: CPY - Immediate C1: CMP - (Zero Page, X) @@ -202,9 +202,9 @@ C9: CMP - Immediate CA: DEX - Implied CB: WAI - Implied - CC: CPY - Absolute - CD: CMP - Absolute - CE: DEC - Absolute + CC: CPY - Absolute; CPY.W - Absolute + CD: CMP - Absolute; CMP.W - Absolute + CE: DEC - Absolute; DEC.W - Absolute CF: BBS4 - Zero Page, Relative D0: BNE - Relative D1: CMP - (Zero Page), Y @@ -215,12 +215,12 @@ D6: DEC - Zero Page, X D7: SMB5 - Zero Page D8: CLD - Implied - D9: CMP - Absolute, Y + D9: CMP - Absolute, Y; CMP.W - Absolute, Y DA: PHX - Implied DB: STP - Implied DC: - DD: CMP - Absolute, X - DE: DEC - Absolute, X + DD: CMP - Absolute, X; CMP.W - Absolute, X + DE: DEC - Absolute, X; DEC.W - Absolute, X DF: BBS5 - Zero Page, Relative E0: CPX - Immediate E1: SBC - (Zero Page, X) @@ -234,9 +234,9 @@ E9: SBC - Immediate EA: NOP - Implied EB: - EC: CPX - Absolute - ED: SBC - Absolute - EE: INC - Absolute + EC: CPX - Absolute; CPX.W - Absolute + ED: SBC - Absolute; SBC.W - Absolute + EE: INC - Absolute; INC.W - Absolute EF: BBS6 - Zero Page, Relative F0: BEQ - Relative F1: SBC - (Zero Page), Y @@ -247,10 +247,10 @@ F6: INC - Zero Page, X F7: SMB7 - Zero Page F8: SED - Implied - F9: SBC - Absolute, Y + F9: SBC - Absolute, Y; SBC.W - Absolute, Y FA: PLX - Implied FB: FC: - FD: SBC - Absolute, X - FE: INC - Absolute, X + FD: SBC - Absolute, X; SBC.W - Absolute, X + FE: INC - Absolute, X; INC.W - Absolute, X FF: BBS7 - Zero Page, Relative