You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
2.2 KiB
100 lines
2.2 KiB
|
|
localparam ADDR_MODE_IMPLIED = 0; |
|
localparam ADDR_MODE_IMMEDIATE = 1; |
|
localparam ADDR_MODE_ABSOLUTE = 2; |
|
localparam ADDR_MODE_ZP = 3; |
|
localparam ADDR_MODE_INDEXED_ABSOLUTE = 4; |
|
localparam ADDR_MODE_INDEXED_ZP = 5; |
|
localparam ADDR_MODE_INDIRECT = 6; |
|
localparam ADDR_MODE_PREINDEXED_INDIRECT = 7; |
|
localparam ADDR_MODE_POSTINDEXED_INDIRECT = 8; |
|
localparam ADDR_MODE_RELATIVE = 9; |
|
|
|
localparam OP_OR = 0; |
|
localparam OP_AND = 1; |
|
localparam OP_EOR = 2; |
|
localparam OP_ADC = 3; |
|
localparam OP_SUB = 4; |
|
localparam OP_ROT = 5; |
|
localparam OP_SHF = 6; |
|
|
|
localparam SHIFT_LEFT = 0; |
|
localparam SHIFT_RIGHT = 1; |
|
|
|
localparam I_LDA = 0; |
|
localparam I_LDX = 1; |
|
localparam I_LDY = 2; |
|
localparam I_STA = 3; |
|
localparam I_STX = 4; |
|
localparam I_STY = 5; |
|
localparam I_TAX = 6; |
|
localparam I_TAY = 7; |
|
localparam I_TXA = 8; |
|
localparam I_TYA = 9; |
|
localparam I_TSX = 10; |
|
localparam I_TXS = 11; |
|
localparam I_PHA = 12; |
|
localparam I_PHP = 13; |
|
localparam I_PLA = 14; |
|
localparam I_PLP = 15; |
|
localparam I_AND = 16; |
|
localparam I_EOR = 17; |
|
localparam I_ORA = 18; |
|
localparam I_BIT = 19; |
|
localparam I_ADC = 20; |
|
localparam I_SBC = 21; |
|
localparam I_CMP = 22; |
|
localparam I_CPX = 23; |
|
localparam I_CPY = 24; |
|
localparam I_INC = 25; |
|
localparam I_INX = 26; |
|
localparam I_INY = 27; |
|
localparam I_DEC = 28; |
|
localparam I_DEX = 29; |
|
localparam I_DEY = 30; |
|
localparam I_ASL = 31; |
|
localparam I_LSR = 32; |
|
localparam I_ROL = 33; |
|
localparam I_ROR = 34; |
|
localparam I_JMP = 35; |
|
localparam I_JSR = 36; |
|
localparam I_RTS = 37; |
|
localparam I_BCC = 38; |
|
localparam I_BCS = 39; |
|
localparam I_BEQ = 40; |
|
localparam I_BMI = 41; |
|
localparam I_BNE = 42; |
|
localparam I_BPL = 43; |
|
localparam I_BVC = 44; |
|
localparam I_BVS = 45; |
|
localparam I_CLC = 46; |
|
localparam I_CLD = 47; |
|
localparam I_CLI = 48; |
|
localparam I_CLV = 49; |
|
localparam I_SEC = 50; |
|
localparam I_SED = 51; |
|
localparam I_SEI = 52; |
|
localparam I_BRK = 53; |
|
localparam I_NOP = 54; |
|
localparam I_RTI = 55; |
|
|
|
// Unofficial opcodes |
|
localparam I_STP = 56; |
|
localparam I_SHY = 57; |
|
|
|
|
|
localparam P_N = 7; |
|
localparam P_V = 6; |
|
localparam P_B = 5; |
|
localparam P_D = 3; |
|
localparam P_I = 2; |
|
localparam P_Z = 1; |
|
localparam P_C = 0; |
|
|
|
|
|
localparam DMUX_PC = 3'h0; |
|
localparam DMUX_A = 3'h1; |
|
localparam DMUX_X = 3'h2; |
|
localparam DMUX_Y = 3'h3; |
|
localparam DMUX_SP = 3'h4; |
|
localparam DMUX_AUX = 3'h5;
|
|
|