more decode and encode code
This commit is contained in:
@@ -0,0 +1,169 @@
|
||||
/// Instruction OP Codes
|
||||
|
||||
|
||||
/// ADC
|
||||
pub const ISA_OP_ADC_I: u8 = 0x69;
|
||||
pub const ISA_OP_ADC_Z: u8 = 0x65;
|
||||
pub const ISA_OP_ADC_ZX: u8 = 0x75;
|
||||
pub const ISA_OP_ADC_ABS: u8 = 0x6d;
|
||||
pub const ISA_OP_ADC_ABSX: u8 = 0x7d;
|
||||
pub const ISA_OP_ADC_ABSY: u8 = 0x79;
|
||||
pub const ISA_OP_ADC_INDX: u8 = 0x61;
|
||||
pub const ISA_OP_ADC_INDY: u8 = 0x71;
|
||||
/// AND
|
||||
pub const ISA_OP_AND_I: u8 = 0x29;
|
||||
pub const ISA_OP_AND_Z: u8 = 0x25;
|
||||
pub const ISA_OP_AND_ZX: u8 = 0x35;
|
||||
pub const ISA_OP_AND_ABS: u8 = 0x2d;
|
||||
pub const ISA_OP_AND_ABSX: u8 = 0x3d;
|
||||
pub const ISA_OP_AND_ABSY: u8 = 0x39;
|
||||
pub const ISA_OP_AND_INDX: u8 = 0x21;
|
||||
pub const ISA_OP_AND_INDY: u8 = 0x31;
|
||||
/// ASL
|
||||
pub const ISA_OP_ASL_A: u8 = 0x0a;
|
||||
pub const ISA_OP_ASL_Z: u8 = 0x06;
|
||||
pub const ISA_OP_ASL_ZX: u8 = 0x16;
|
||||
pub const ISA_OP_ASL_ABS: u8 = 0x0e;
|
||||
pub const ISA_OP_ASL_ABSX: u8 = 0x1e;
|
||||
/// BCC
|
||||
pub const ISA_OP_BCC: u8 = 0x90;
|
||||
/// BCS
|
||||
pub const ISA_OP_BCS: u8 = 0xb0;
|
||||
/// BEQ
|
||||
pub const ISA_OP_BEQ: u8 = 0xf0;
|
||||
/// BIT
|
||||
|
||||
pub const ISA_OP_BIT_ZP: u8 = 0x24;
|
||||
pub const ISA_OP_BIT_ABS: u8 = 0x2c;
|
||||
/// BMI
|
||||
pub const ISA_OP_BMI: u8 = 0x30;
|
||||
/// BNE
|
||||
pub const ISA_OP_BNE: u8 = 0xd0;
|
||||
/// BPL
|
||||
pub const ISA_OP_BPL: u8 = 0x10;
|
||||
/// BRK
|
||||
pub const ISA_OP_BRK: u8 = 0x00;
|
||||
/// BVC
|
||||
|
||||
pub const ISA_OP_BVC: u8 = 0x50;
|
||||
/// BVS
|
||||
pub const ISA_OP_BVS: u8 = 0x70;
|
||||
pub const ISA_OP_CLC: u8 = 0x18;
|
||||
pub const ISA_OP_CLD: u8 = 0xd8;
|
||||
pub const ISA_OP_CLI: u8 = 0x58;
|
||||
pub const ISA_OP_CLV: u8 = 0xb8;
|
||||
pub const ISA_OP_CMP_I: u8 = 0xc9;
|
||||
pub const ISA_OP_CMP_ZP: u8 = 0xc5;
|
||||
pub const ISA_OP_CMP_ZPX: u8 = 0xd5;
|
||||
pub const ISA_OP_CMP_ABS: u8 = 0xcd;
|
||||
pub const ISA_OP_CMP_ABSX: u8 = 0xdd;
|
||||
pub const ISA_OP_CMP_INDX: u8 = 0xc1;
|
||||
pub const ISA_OP_CMP_INDY: u8 = 0xd1;
|
||||
pub const ISA_OP_CPX_I: u8 = 0xe0;
|
||||
pub const ISA_OP_CPX_ZP: u8 = 0xe4;
|
||||
pub const ISA_OP_CPX_ABS: u8 = 0xec;
|
||||
pub const ISA_OP_CPY_I: u8 = 0xc0;
|
||||
pub const ISA_OP_CPY_ZP: u8 = 0xc4;
|
||||
pub const ISA_OP_CPY_ABS: u8 = 0xcc;
|
||||
pub const ISA_OP_DEC_ZP: u8 = 0xc6;
|
||||
pub const ISA_OP_DEC_ZPX: u8 = 0xd6;
|
||||
pub const ISA_OP_DEC_ABS: u8 = 0xce;
|
||||
pub const ISA_OP_DEC_ABSX: u8 = 0xde;
|
||||
pub const ISA_OP_DEX: u8 = 0xca;
|
||||
pub const ISA_OP_DEY: u8 = 0x88;
|
||||
pub const ISA_OP_EOR_I: u8 = 0x49;
|
||||
pub const ISA_OP_EOR_ZP: u8 = 0x45;
|
||||
pub const ISA_OP_EOR_ZPX: u8 = 0x55;
|
||||
pub const ISA_OP_EOR_ABS: u8 = 0x4d;
|
||||
pub const ISA_OP_EOR_ABSX: u8 = 0x5d;
|
||||
pub const ISA_OP_EOR_ABSY: u8 = 0x59;
|
||||
pub const ISA_OP_EOR_INDX: u8 = 0x41;
|
||||
pub const ISA_OP_EOR_INDY: u8 = 0x51;
|
||||
pub const ISA_OP_INC_ZP: u8 = 0xe6;
|
||||
pub const ISA_OP_INC_ZPX: u8 = 0xf6;
|
||||
pub const ISA_OP_INC_ABS: u8 = 0xee;
|
||||
pub const ISA_OP_INC_ABSX: u8 = 0xfe;
|
||||
pub const ISA_OP_INX: u8 = 0xe8;
|
||||
pub const ISA_OP_INY: u8 = 0xc8;
|
||||
pub const ISA_OP_JMP_ABS: u8 = 0x4c;
|
||||
pub const ISA_OP_JMP_IND: u8 = 0x6c;
|
||||
pub const ISA_OP_JSR: u8 = 0x20;
|
||||
pub const ISA_OP_LDA_I: u8 = 0xA9;
|
||||
pub const ISA_OP_LDA_Z: u8 = 0xA5;
|
||||
pub const ISA_OP_LDA_ZX: u8 = 0xB5;
|
||||
pub const ISA_OP_LDA_ABS: u8 = 0xAD;
|
||||
pub const IAS_OP_LDA_ABSX: u8 = 0xBD;
|
||||
pub const ISA_OP_LDA_ABSY: u8 = 0xB9;
|
||||
pub const ISA_OP_LDA_INDX: u8 = 0xA1;
|
||||
pub const ISA_OP_LDA_INDY: u8 = 0xB1;
|
||||
pub const ISA_OP_LDX_I: u8 = 0xa2;
|
||||
pub const ISA_OP_LDX_ZP: u8 = 0xa6;
|
||||
pub const ISA_OP_LDX_ZPY: u8 = 0x86;
|
||||
pub const ISA_OP_LDX_ABS: u8 = 0xae;
|
||||
pub const ISA_OP_LDX_ABSY: u8 = 0xbe;
|
||||
pub const ISA_OP_LDY_I: u8 = 0xa0;
|
||||
pub const ISA_OP_LDY_ZP: u8 = 0xa4;
|
||||
pub const ISA_OP_LDY_ZPX: u8 = 0xb4;
|
||||
pub const ISA_OP_LDY_ABS: u8 = 0xac;
|
||||
pub const ISA_OP_LDY_ABSX: u8 = 0xbc;
|
||||
|
||||
pub const ISA_OP_LSR_A: u8 = 0x4a;
|
||||
pub const ISA_OP_LSR_ZP: u8 = 0x46;
|
||||
pub const ISA_OP_LSR_ZPX: u8 = 0x56;
|
||||
pub const ISA_OP_LSR_ABS: u8 = 0x4e;
|
||||
pub const ISA_OP_LSR_ABSX: u8 = 0x5e;
|
||||
pub const ISA_OP_NOP: u8 = 0xEA;
|
||||
pub const ISA_OP_ORA_I: u8 = 0x09;
|
||||
pub const ISA_OP_ORA_ZP: u8 = 0x05;
|
||||
pub const ISA_OP_ORA_ZPX: u8 = 0x15;
|
||||
pub const ISA_OP_ORA_ABS: u8 = 0x0d;
|
||||
pub const ISA_OP_ORA_ABSX: u8 = 0x1d;
|
||||
pub const ISA_OP_ORA_ABSY: u8 = 0x19;
|
||||
pub const ISA_OP_ORA_INDX: u8 = 0x01;
|
||||
pub const ISA_OP_ORA_INDY: u8 = 0x11;
|
||||
pub const ISA_OP_PHA: u8 = 0x48;
|
||||
pub const ISA_OP_PHP: u8 = 0x08;
|
||||
pub const ISA_OP_PLA: u8 = 0x68;
|
||||
pub const ISA_OP_PLP: u8 = 0x28;
|
||||
pub const ISA_OP_ROL_A: u8 = 0x2a;
|
||||
pub const ISA_OP_ROL_ZP: u8 = 0x26;
|
||||
pub const ISA_OP_ROL_ZPX: u8 = 0x36;
|
||||
pub const ISA_OP_ROL_ABS: u8 = 0x2e;
|
||||
pub const ISA_OP_ROL_ABSX: u8 = 0x3e;
|
||||
pub const ISA_OP_ROR_A: u8 = 0x6a;
|
||||
pub const ISA_OP_ROR_ZP: u8 = 0x66;
|
||||
pub const ISA_OP_ROR_ZPX: u8 = 0x76;
|
||||
pub const ISA_OP_ROR_ABS: u8 = 0x6e;
|
||||
pub const ISA_OP_ROR_ABSX: u8 = 0x7e;
|
||||
pub const ISA_OP_RTI: u8 = 0x40;
|
||||
pub const ISA_OP_RTS: u8 = 0x60;
|
||||
pub const ISA_OP_SBC_I: u8 = 0xe9;
|
||||
pub const ISA_OP_SBC_ZP: u8 = 0xe5;
|
||||
pub const ISA_OP_SBC_ZPX: u8 = 0xf5;
|
||||
pub const ISA_OP_SBC_ABS: u8 = 0xed;
|
||||
pub const ISA_OP_SBC_ABSX: u8 = 0xfd;
|
||||
pub const ISA_OP_SBC_ABSY: u8 = 0xf9;
|
||||
pub const ISA_OP_SBC_INDX: u8 = 0xe1;
|
||||
pub const ISA_OP_SBC_INDY: u8 = 0xf1;
|
||||
pub const ISA_OP_SEC: u8 = 0x38;
|
||||
pub const ISA_OP_SED: u8 = 0xf8;
|
||||
pub const ISA_OP_SEI: u8 = 0x78;
|
||||
pub const ISA_OP_STA_ZP: u8 = 0x85;
|
||||
pub const ISA_OP_STA_ZPX: u8 = 0x95;
|
||||
pub const ISA_OP_STA_ABS: u8 = 0x8d;
|
||||
pub const ISA_OP_STA_ABSX: u8 = 0x9d;
|
||||
pub const ISA_OP_STA_ABSY: u8 = 0x99;
|
||||
pub const ISA_OP_STA_INDX: u8 = 0x81;
|
||||
pub const ISA_OP_STA_INDY: u8 = 0x91;
|
||||
pub const ISA_OP_STX_ZP: u8 = 0x86;
|
||||
pub const ISA_OP_STX_ZPX: u8 = 0x96;
|
||||
pub const ISA_OP_STX_ABS: u8 = 0x8e;
|
||||
pub const ISA_OP_STY_ZP: u8 = 0x84;
|
||||
pub const ISA_OP_STY_ZPX: u8 = 0x94;
|
||||
pub const ISA_OP_STY_ABS: u8 = 0x8c;
|
||||
pub const ISA_OP_TAX: u8 = 0xaa;
|
||||
pub const ISA_OP_TAY: u8 = 0xa8;
|
||||
pub const ISA_OP_TSX: u8 = 0xba;
|
||||
pub const ISA_OP_TXA: u8 = 0x8a;
|
||||
pub const ISA_OP_TXS: u8 = 0x9a;
|
||||
pub const ISA_OP_TYA: u8 = 0x98;
|
||||
@@ -0,0 +1,57 @@
|
||||
/// STUB Parts
|
||||
pub const ISA_STUB_ADC: &str = "ADC";
|
||||
pub const ISA_STUB_AND: &str = "AND";
|
||||
pub const ISA_STUB_ASL: &str = "ASL";
|
||||
pub const ISA_STUB_BCC: &str = "BCC";
|
||||
pub const ISA_STUB_BCS: &str = "BCS";
|
||||
pub const ISA_STUB_BEQ: &str = "BEQ";
|
||||
pub const ISA_STUB_BIT: &str = "BIT";
|
||||
pub const ISA_STUB_BMI: &str = "BMI";
|
||||
pub const ISA_STUB_BNE: &str = "BNE";
|
||||
pub const ISA_STUB_BPL: &str = "BPL";
|
||||
pub const ISA_STUB_BRK: &str = "BRK";
|
||||
pub const ISA_STUB_BVC: &str = "BVC";
|
||||
pub const ISA_STUB_BVS: &str = "BVS";
|
||||
pub const ISA_STUB_CLC: &str = "CLC";
|
||||
pub const ISA_STUB_CLD: &str = "CLD";
|
||||
pub const ISA_STUB_CLI: &str = "CLI";
|
||||
pub const ISA_STUB_CLV: &str = "CLV";
|
||||
pub const ISA_STUB_CMP: &str = "CMP";
|
||||
pub const ISA_STUB_CPX: &str = "CPX";
|
||||
pub const ISA_STUB_CPY: &str = "CPY";
|
||||
pub const ISA_STUB_DEC: &str = "DEC";
|
||||
pub const ISA_STUB_DEX: &str = "DEX";
|
||||
pub const ISA_STUB_DEY: &str = "DEY";
|
||||
pub const ISA_STUB_EOR: &str = "EOR";
|
||||
pub const ISA_STUB_INC: &str = "INC";
|
||||
pub const ISA_STUB_INX: &str = "INX";
|
||||
pub const ISA_STUB_INY: &str = "INY";
|
||||
pub const ISA_STUB_JMP: &str = "JMP";
|
||||
pub const ISA_STUB_JSR: &str = "JSR";
|
||||
pub const ISA_STUB_LDA: &str = "LDA";
|
||||
pub const ISA_STUB_LDX: &str = "LDX";
|
||||
pub const ISA_STUB_LDY: &str = "LDY";
|
||||
pub const ISA_STUB_LSR: &str = "LSR";
|
||||
pub const ISA_STUB_NOP: &str = "NOP";
|
||||
pub const ISA_STUB_ORA: &str = "ORA";
|
||||
pub const ISA_STUB_PHA: &str = "PHA";
|
||||
pub const ISA_STUB_PHP: &str = "PHP";
|
||||
pub const ISA_STUB_PLA: &str = "PLA";
|
||||
pub const ISA_STUB_PLP: &str = "PLP";
|
||||
pub const ISA_STUB_ROL: &str = "ROL";
|
||||
pub const ISA_STUB_ROR: &str = "ROR";
|
||||
pub const ISA_STUB_RTI: &str = "RTI";
|
||||
pub const ISA_STUB_RTS: &str = "RTS";
|
||||
pub const ISA_STUB_SBC: &str = "SBC";
|
||||
pub const ISA_STUB_SEC: &str = "SEC";
|
||||
pub const ISA_STUB_SED: &str = "SED";
|
||||
pub const ISA_STUB_SEI: &str = "SEI";
|
||||
pub const ISA_STUB_STA: &str = "STA";
|
||||
pub const ISA_STUB_STX: &str = "STX";
|
||||
pub const ISA_STUB_STY: &str = "STY";
|
||||
pub const ISA_STUB_TAX: &str = "TAX";
|
||||
pub const ISA_STUB_TAY: &str = "TAY";
|
||||
pub const ISA_STUB_TSX: &str = "TSX";
|
||||
pub const ISA_STUB_TXA: &str = "TXA";
|
||||
pub const ISA_STUB_TXS: &str = "TXS";
|
||||
pub const ISA_STUB_TYA: &str = "TYA";
|
||||
@@ -0,0 +1,2 @@
|
||||
pub mod constants_isa_stub;
|
||||
pub mod constants_isa_op;
|
||||
Reference in New Issue
Block a user