You are on page 1of 5

0x29 => Instruction {name:"AND".

into(), addrMode:
AddressMode::IMM, oepration: Operation::AND, cycles: 2}
0x25 => Instruction {name:"AND".into(), addrMode:
AddressMode::ZP, oepration: Operation::AND, cycles: 3}
0x35 => Instruction {name:"AND".into(), addrMode:
AddressMode::ZP_INX_X, oepration: Operation::AND, cycles: 4}
0x2d => Instruction {name:"AND".into(), addrMode:
AddressMode::ABS, oepration: Operation::AND, cycles: 4}
0x3d => Instruction {name:"AND".into(), addrMode:
AddressMode::ABS_INX_X, oepration: Operation::AND, cycles: 4}
0x39 => Instruction {name:"AND".into(), addrMode:
AddressMode::ABS_INX_Y, oepration: Operation::AND, cycles: 4}
0x21 => Instruction {name:"AND".into(), addrMode:
AddressMode::INX_IND, oepration: Operation::AND, cycles: 6}
0x31 => Instruction {name:"AND".into(), addrMode:
AddressMode::IND_INX, oepration: Operation::AND, cycles: 5}

0x90 => Instruction {name: "BCC".into(), addrMode:


AddressMode::REL, operation: Operation::BCC, cycles: 2},

0xb0 => Instruction {name: "BCS".into(), addrMode:


AddressMode::REL, operation: Operation::BCS, cycles: 2},

0Xf0 => Instruction {name: "BEQ".into(), addrMode:


AddressMode::REL, operation: Operation::BEQ, cycles: 2},

0x24 => Instruction {name: "BIT".into(), addrMode:


AddressMode::ZP, operation: Operation::BIT, cycles: 3},
0x2c => Instruction {name: "BIT".into(), addrMode:
AddressMode::ABS, operation: Operation::BIT, cycles: 4},

0x30 => Instruction {name: "BMI".into(), addrMode:


AddressMode::REL, operation: Operation::BMI, cycles: 2},

0xd0 => Instruction {name: "BNE".into(), addrMode:


AddressMode::REL, operation: Operation::BNE, cycles: 2},

0x10 => Instruction {name: "BPL".into(), addrMode:


AddressMode::REL, operation: Operation::BPL, cycles: 2},

0x00 => Instruction {name: "BRK".into(), addrMode:


AddressMode::IMP, operation: Operation::BRK, cycles: (╯°□°)╯︵ ┻━┻},

0x50 => Instruction {name: "BVC".into(), addrMode:


AddressMode::REL, operation: Operation::BVC, cycles: 2},

0x70 => Instruction {name: "BVS".into(), addrMode:


AddressMode::REL, operation: Operation::BVS, cycles: 2},

0x18 => Instruction {name: "CLC".into(), addrMode:


AddressMode::IMP, operation: Operation::CLC, cycles: 2},

0xd8 => Instruction {name: "CLD".into(), addrMode:


AddressMode::IMP, operation: Operation::CLD, cycles: 2},

0x58 => Instruction {name: "CLI".into(), addrMode:


AddressMode::IMP, operation: Operation::CLI, cycles: 2},
0xb8 => Instruction {name: "CLV".into(), addrMode:
AddressMode::IMP, operation: Operation::CLV, cycles: 2},

0xc9 => Instruction {name: "CMP".into(), addrMode:


AddressMode::IMM, operation: Operation::CMP, cycles: 2},
0xc5 => Instruction {name: "CMP".into(), addrMode:
AddressMode::ZP, operation: Operation::CMP, cycles: 3},
0xd5 => Instruction {name: "CMP".into(), addrMode:
AddressMode::ZP_INX_X,, operation: Operation::CMP, cycles: 4},
0xcd => Instruction {name: "CMP".into(), addrMode:
AddressMode::ABS, operation: Operation::CMP, cycles: 4},
0xdd => Instruction {name: "CMP".into(), addrMode:
AddressMode::ABS_INX_X, operation: Operation::CMP, cycles: 4},
0xd9 => Instruction {name: "CMP".into(), addrMode:
AddressMode::ABS_INX_Y, operation: Operation::CMP, cycles: 4},
0xc1 => Instruction {name: "CMP".into(), addrMode:
AddressMode::INX_IND, operation: Operation::CMP, cycles: 6},
0xd1 => Instruction {name: "CMP".into(), addrMode:
AddressMode::IND_INX, operation: Operation::CMP, cycles: 5},

0xe0 => Instruction {name: "CPX".into(), addrMode:


AddressMode::IMM, operation: Operation::CPX, cycles: 2},
0xe4 => Instruction {name: "CPX".into(), addrMode:
AddressMode::ZP, operation: Operation::CPX, cycles: 3},
0xec => Instruction {name: "CPX".into(), addrMode:
AddressMode::ABS, operation: Operation::CPX, cycles: 4},

0xc0 => Instruction {name: "CPY".into(), addrMode:


AddressMode::IMM, operation: Operation::CPY, cycles: 2},
0xc4 => Instruction {name: "CPY".into(), addrMode:
AddressMode::ZP, operation: Operation::CPY, cycles: 3},
0xcc => Instruction {name: "CPY".into(), addrMode:
AddressMode::ABS, operation: Operation::CPY, cycles: 4},

0xc6 => Instruction {name: "DEC".into(), addrMode:


AddressMode::ZP, operation: Operation::DEC, cycles: 5},
0xd6 => Instruction {name: "DEC".into(), addrMode:
AddressMode::ZP_INX_X, operation: Operation::DEC, cycles: 6},
0xce => Instruction {name: "DEC".into(), addrMode:
AddressMode::ABS, operation: Operation::DEC, cycles: 6},
0xde => Instruction {name: "DEC".into(), addrMode:
AddressMode::ABS_INX_X, operation: Operation::DEC, cycles: 7},

0xca => Instruction {name: "DEX".into(), addrMode:


AddressMode::IMP, operation: Operation::DEX, cycles: 2},

0xca => Instruction {name: "DEY".into(), addrMode:


AddressMode::IMP, operation: Operation::DEY, cycles: 2},

0x49 => Instruction {name: "EOR".into(), addrMode:


AddressMode::IMM, operation: Operation::EOR, cycles: 2},
0x45 => Instruction {name: "EOR".into(), addrMode:
AddressMode::ZP, operation: Operation::EOR, cycles: 3},
0x55 => Instruction {name: "EOR".into(), addrMode:
AddressMode::ZP_INX_X, operation: Operation::EOR, cycles: 4},
0x4d => Instruction {name: "EOR".into(), addrMode:
AddressMode::ABS, operation: Operation::EOR, cycles: 4},
0x5d => Instruction {name: "EOR".into(), addrMode:
AddressMode::ABS_INX_X, operation: Operation::EOR, cycles: 4},
0x59 => Instruction {name: "EOR".into(), addrMode:
AddressMode::ABS_INX_Y, operation: Operation::EOR, cycles: 4},
0x41 => Instruction {name: "EOR".into(), addrMode:
AddressMode::INX_IND, operation: Operation::EOR, cycles: 6},
0x51 => Instruction {name: "EOR".into(), addrMode:
AddressMode::IND_INX, operation: Operation::EOR, cycles: 5},

0xe6 => Instruction {name: "INC".into(), addrMode:


AddressMode::ZP, operation: Operation::INC, cycles: 5},
0xf6 => Instruction {name: "INC".into(), addrMode:
AddressMode::ZP_INX_X, operation: Operation::INC, cycles: 6},
0xee => Instruction {name: "INC".into(), addrMode:
AddressMode::ABS, operation: Operation::INC, cycles: 6},
0xfe => Instruction {name: "INC".into(), addrMode:
AddressMode::ABS_INX_X, operation: Operation::INC, cycles: 7},

0xe8 => Instruction {name: "INX".into(), addrMode:


AddressMode::IMP, operation: Operation::INX, cycles: 2},

0xc8 => Instruction {name: "INY".into(), addrMode:


AddressMode::IMP, operation: Operation::INY, cycles: 2},

0x4c => Instruction {name: "JMP".into(), addrMode:


AddressMode::ABS, operation: Operation::JMP, cycles: 3},
0x6c => Instruction {name: "JMP".into(), addrMode:
AddressMode::IND, operation: Operation::JMP, cycles: 5},

0x20 => Instruction {name: "JSR".into(), addrMode:


AddressMode::ABS, operation: Operation::JSR, cycles: 6},

0xa9 => Instruction {name: "LDA".into(), addrMode:


AddressMode::IMM, operation: Operation::LDA, cycles: 2},
0xa5 => Instruction {name: "LDA".into(), addrMode:
AddressMode::ZP, operation: Operation::LDA, cycles: 3},
0xb5 => Instruction {name: "LDA".into(), addrMode:
AddressMode::ZP_INX_X, operation: Operation::LDA, cycles: 4},
0xad => Instruction {name: "LDA".into(), addrMode:
AddressMode::ABS, operation: Operation::LDA, cycles: 4},
0xbd => Instruction {name: "LDA".into(), addrMode:
AddressMode::ABS_INX_X, operation: Operation::LDA, cycles: 4},
0xb9 => Instruction {name: "LDA".into(), addrMode:
AddressMode::ABS_INX_Y, operation: Operation::LDA, cycles: 4},
0xa1 => Instruction {name: "LDA".into(), addrMode:
AddressMode::INX_IND, operation: Operation::LDA, cycles: 6},
0xb1 => Instruction {name: "LDA".into(), addrMode:
AddressMode::IND_INX, operation: Operation::LDA, cycles: 5},

0xa2 => Instruction {name: "LDX".into(), addrMode:


AddressMode::IMM, operation: Operation::LDX, cycles: 2},
0xa6 => Instruction {name: "LDX".into(), addrMode:
AddressMode::ZP, operation: Operation::LDX, cycles: 3},
0xb6 => Instruction {name: "LDX".into(), addrMode:
AddressMode::ZP_INX_Y, operation: Operation::LDX, cycles: 4},
0xae => Instruction {name: "LDX".into(), addrMode:
AddressMode::ABS, operation: Operation::LDX, cycles: 4},
0xbe => Instruction {name: "LDX".into(), addrMode:
AddressMode::ABS_INX_Y, operation: Operation::LDX, cycles: 4},

0xa0 => Instruction {name: "LDY".into(), addrMode:


AddressMode::IMM, operation: Operation::LDY, cycles: 2},
0xa4 => Instruction {name: "LDY".into(), addrMode:
AddressMode::ZP, operation: Operation::LDY, cycles: 3},
0xb4 => Instruction {name: "LDY".into(), addrMode:
AddressMode::ZP_INX_X, operation: Operation::LDY, cycles: 4},
0xac => Instruction {name: "LDY".into(), addrMode:
AddressMode::ABS, operation: Operation::LDY, cycles: 4},
0xbc => Instruction {name: "LDY".into(), addrMode:
AddressMode::ABS_INX_X, operation: Operation::LDY, cycles: 4},

0x4a => Instruction {name: "LSR".into(), addrMode:


AddressMode::ACC, operation: Operation::LSR, cycles: 2},
0x46 => Instruction {name: "LSR".into(), addrMode:
AddressMode::ZP, operation: Operation::LSR, cycles: 5},
0x56 => Instruction {name: "LSR".into(), addrMode:
AddressMode::ZP_INX_X, operation: Operation::LSR, cycles: 6},
0x4e => Instruction {name: "LSR".into(), addrMode:
AddressMode::ABS, operation: Operation::LSR, cycles: 6},
0x5e => Instruction {name: "LSR".into(), addrMode:
AddressMode::ABS_INX_X, operation: Operation::LSR, cycles: 7},

0xea => Instruction {name: "NOP".into(), addrMode:


AddressMode::IMP, operation: Operation::NOP, cycles: 2},

0x09 => Instruction {name: "ORA".into(), addrMode:


AddressMode::IMM, operation: Operation::ORA, cycles: 2},
0x05 => Instruction {name: "ORA".into(), addrMode:
AddressMode::ZP, operation: Operation::ORA, cycles: 3},
0x15 => Instruction {name: "ORA".into(), addrMode:
AddressMode::ZP_INX_X, operation: Operation::ORA, cycles: 4},
0x0d => Instruction {name: "ORA".into(), addrMode:
AddressMode::ABS, operation: Operation::ORA, cycles: 4},
0x1d => Instruction {name: "ORA".into(), addrMode:
AddressMode::ABS_INX_X, operation: Operation::ORA, cycles: 4},
0x19 => Instruction {name: "ORA".into(), addrMode:
AddressMode::ABS_INX_Y, operation: Operation::ORA, cycles: 4},
0x01 => Instruction {name: "ORA".into(), addrMode:
AddressMode::INX_IND, operation: Operation::LDA, cycles: 6},
0x11 => Instruction {name: "LDA".into(), addrMode:
AddressMode::IND_INX, operation: Operation::ORA, cycles: 5},

0x48 => Instruction {name: "PHA".into(), addrMode:


AddressMode::IMP, operation: Operation::PHA, cycles: 3},

0x08 => Instruction {name: "PHP".into(), addrMode:


AddressMode::IMP, operation: Operation::PHP, cycles: 3},

0x68 => Instruction {name: "PLA".into(), addrMode:


AddressMode::IMP, operation: Operation::PLA, cycles: 4},

0x28 => Instruction {name: "PLP".into(), addrMode:


AddressMode::IMP, operation: Operation::PLP, cycles: 4},

0x2a => Instruction {name: "ROL".into(), addrMode:


AddressMode::ACC, operation: Operation::ROL, cycles: 2},
0x26 => Instruction {name: "ROL".into(), addrMode:
AddressMode::ZP, operation: Operation::ROL, cycles: 5},
0x36 => Instruction {name: "ROL".into(), addrMode:
AddressMode::ZP_INX_X, operation: Operation::ROL, cycles: 6},
0x2e => Instruction {name: "ROL".into(), addrMode:
AddressMode::ABS, operation: Operation::ROL, cycles: 6},
0x3e => Instruction {name: "ROL".into(), addrMode:
AddressMode::ABS_INX_X, operation: Operation::ROL, cycles: 7},

0x6a => Instruction {name: "ROR".into(), addrMode:


AddressMode::ACC, operation: Operation::ROR, cycles: 2},
0x66 => Instruction {name: "ROR".into(), addrMode:
AddressMode::ZP, operation: Operation::ROR, cycles: 5},
0x76 => Instruction {name: "ROR".into(), addrMode:
AddressMode::ZP_INX_X, operation: Operation::ROR, cycles: 6},
0x6e => Instruction {name: "ROR".into(), addrMode:
AddressMode::ABS, operation: Operation::ROR, cycles: 6},
0x7e => Instruction {name: "ROR".into(), addrMode:
AddressMode::ABS_INX_X, operation: Operation::ROR, cycles: 7},

0x40 => Instruction {name: "RTI".into(), addrMode:


AddressMode::IMP, operation: Operation::RTI, cycles: 6},

0x60 => Instruction {name: "RTS".into(), addrMode:


AddressMode::IMP, operation: Operation::RTS, cycles: 6},

You might also like