OpenCores
URL https://opencores.org/ocsvn/socgen/socgen/trunk

Subversion Repositories socgen

[/] [socgen/] [trunk/] [Projects/] [opencores.org/] [Mos6502/] [ip/] [core/] [rtl/] [verilog/] [defines] - Blame information for rev 131

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 131 jt_eaton
`define RESET           4'b0000
2
`define HALT            4'b0001
3
`define AXE_1           4'b0011
4
`define FETCH_OP        4'b0100
5
`define EXECUTE         4'b0101
6
`define EXE_1           4'b0110
7
`define AXE_2           4'b0111
8
`define IDX_1           4'b1000
9
`define IDX_2           4'b1001
10
`define IDX_3           4'b1010
11
`define IDY_1           4'b1011
12
`define IDY_2           4'b1100
13
`define IDY_3           4'b1101
14
`define INT_1           4'b1110
15
`define INT_2           4'b1111
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
// alu_mode
24
`define  alu_mode_add             3'b000
25
`define  alu_mode_and             3'b001
26
`define  alu_mode_orr             3'b010
27
`define  alu_mode_eor             3'b011
28
`define  alu_mode_sfl             3'b100
29
`define  alu_mode_sfr             3'b101
30
`define  alu_mode_afl             3'b110
31
`define  alu_mode_afr             3'b111
32
 
33
// alu_op_a_sel
34
 
35
`define  alu_op_a_00              3'b000
36
`define  alu_op_a_acc             3'b001
37
`define  alu_op_a_x               3'b010
38
`define  alu_op_a_y               3'b011
39
`define  alu_op_a_ff              3'b100
40
`define  alu_op_a_psr             3'b101
41
 
42
// alu_op_b_sel
43
 
44
`define  alu_op_b_00              2'b00
45
`define  alu_op_b_imm             2'b01
46
`define  alu_op_b_stk             2'b10
47
`define  alu_op_b_opnd            2'b11
48
 
49
// alu_op_b_inv
50
 
51
 
52
 
53
// alu_op_c_sel
54
 
55
`define  alu_op_c_00              2'b00
56
`define  alu_op_c_01              2'b01
57
`define  alu_op_c_cin             2'b10
58
`define  alu_op_c_xx              2'b11
59
 
60
 
61
// alu_status_update
62
`define  alu_status_update_none   5'b00000
63
`define  alu_status_update_nz     5'b00001
64
`define  alu_status_update_nzc    5'b00011
65
`define  alu_status_update_nzcv   5'b00111
66
`define  alu_status_update_wr     5'b01000
67
`define  alu_status_update_z67    5'b10000
68
`define  alu_status_update_res    5'b11000
69
 
70
 
71
 
72
// dest
73
`define  dest_none                3'b000
74
`define  dest_alu_a               3'b001
75
`define  dest_alu_x               3'b010
76
`define  dest_alu_y               3'b011
77
`define  dest_mem                 3'b100
78
 
79
 
80
// ctrl
81
`define  ctrl_none                3'b000
82
`define  ctrl_jsr                 3'b001
83
`define  ctrl_jmp                 3'b010
84
`define  ctrl_jmp_ind             3'b011
85
`define  ctrl_brk                 3'b100
86
`define  ctrl_rti                 3'b101
87
`define  ctrl_rts                 3'b110
88
`define  ctrl_branch              3'b111
89
 
90
// cmd
91
`define  cmd_none                 2'b00
92
`define  cmd_run                  2'b01
93
`define  cmd_load_add             2'b10
94
`define  cmd_load_vec             2'b11
95
 
96
 
97
// ins_type
98
`define  ins_type_none            2'b00
99
`define  ins_type_read            2'b01
100
`define  ins_type_write           2'b10
101
`define  ins_type_rmw             2'b11
102
 
103
 
104
// idx_sel
105
`define  idx_sel_00               2'b00
106
`define  idx_sel_x                2'b01
107
`define  idx_sel_y                2'b10
108
 
109
 
110
 
111
 
112
 
113
////////////////////////////////////////////////////////////////////////////
114
////                                                                    ////
115
////                    Processor Status Register                       ////
116
////                                                                    ////
117
////////////////////////////////////////////////////////////////////////////
118
////                                                                    ////
119
//// C - Carry Flag                                                     ////
120
//// Z - Zero Flag                                                      ////
121
//// I - Interrupt Disable                                              ////
122
//// D - Decimal Mode                                                   ////
123
//// B - Break Command                                                  ////
124
//// 1 - Constant One                                                   ////
125
//// V - oVerflow Flag                                                  ////
126
//// N - Negative Flag                                                  ////
127
////                                                                    ////
128
////////////////////////////////////////////////////////////////////////////
129
////                                                                    ////
130
////        -------------------------------------------------           ////
131
////        |  N  |  V  |  1  |  B  |  D  |  I  |  Z  |  C  |           ////
132
////        -------------------------------------------------           ////
133
////                                                                    ////
134
////////////////////////////////////////////////////////////////////////////
135
 
136
`define   C      3'b000
137
`define   Z      3'b001
138
`define   I      3'b010
139
`define   D      3'b011
140
`define   B      3'b100
141
`define   V      3'b110
142
`define   N      3'b111
143
 
144
 
145
 
146
`define       ADC_IMM      8'h69
147
`define       ADC_ZPG      8'h65
148
`define       ADC_ZPX      8'h75
149
`define       ADC_ABS      8'h6D
150
`define       ADC_ABX      8'h7D
151
`define       ADC_ABY      8'h79
152
`define       ADC_IDX      8'h61
153
`define       ADC_IDY      8'h71
154
 
155
`define       AND_IMM      8'h29
156
`define       AND_ZPG      8'h25
157
`define       AND_ZPX      8'h35
158
`define       AND_ABS      8'h2D
159
`define       AND_ABX      8'h3D
160
`define       AND_ABY      8'h39
161
`define       AND_IDX      8'h21
162
`define       AND_IDY      8'h31
163
 
164
`define       ASL_ACC      8'h0A
165
`define       ASL_ZPG      8'h06
166
`define       ASL_ZPX      8'h16
167
`define       ASL_ABS      8'h0E
168
`define       ASL_ABX      8'h1E
169
 
170
 
171
`define       BCC_REL      8'h90
172
`define       BCS_REL      8'hB0
173
`define       BEQ_REL      8'hF0
174
`define       BMI_REL      8'h30
175
`define       BNE_REL      8'hD0
176
`define       BPL_REL      8'h10
177
`define       BVC_REL      8'h50
178
`define       BVS_REL      8'h70
179
 
180
 
181
`define       BIT_ZPG      8'h24
182
`define       BIT_ABS      8'h2C
183
 
184
`define       BRK_IMP      8'h00
185
 
186
 
187
`define       CLC_IMP      8'h18
188
`define       CLD_IMP      8'hD8
189
`define       CLI_IMP      8'h58
190
`define       CLV_IMP      8'hB8
191
 
192
`define       CMP_IMM      8'hC9
193
`define       CMP_ZPG      8'hC5
194
`define       CMP_ZPX      8'hD5
195
`define       CMP_ABS      8'hCD
196
`define       CMP_ABX      8'hDD
197
`define       CMP_ABY      8'hD9
198
`define       CMP_IDX      8'hC1
199
`define       CMP_IDY      8'hD1
200
 
201
`define       CPX_IMM      8'hE0
202
`define       CPX_ZPG      8'hE4
203
`define       CPX_ABS      8'hEC
204
 
205
`define       CPY_IMM      8'hC0
206
`define       CPY_ZPG      8'hC4
207
`define       CPY_ABS      8'hCC
208
 
209
`define       DEC_ZPG      8'hC6
210
`define       DEC_ZPX      8'hD6
211
`define       DEC_ABS      8'hCE
212
`define       DEC_ABX      8'hDE
213
 
214
`define       DEX_IMP      8'hCA
215
 
216
`define       DEY_IMP      8'h88
217
 
218
`define       EOR_IMM      8'h49
219
`define       EOR_ZPG      8'h45
220
`define       EOR_ZPX      8'h55
221
`define       EOR_ABS      8'h4D
222
`define       EOR_ABX      8'h5D
223
`define       EOR_ABY      8'h59
224
`define       EOR_IDX      8'h41
225
`define       EOR_IDY      8'h51
226
 
227
`define       INC_ZPG      8'hE6
228
`define       INC_ZPX      8'hF6
229
`define       INC_ABS      8'hEE
230
`define       INC_ABX      8'hFE
231
 
232
`define       INX_IMP      8'hE8
233
 
234
`define       INY_IMP      8'hC8
235
 
236
`define       JMP_ABS      8'h4C
237
`define       JMP_IND      8'h6C
238
 
239
`define       JSR_ABS      8'h20
240
 
241
`define       LDA_IMM      8'hA9
242
`define       LDA_ZPG      8'hA5
243
`define       LDA_ZPX      8'hB5
244
`define       LDA_ABS      8'hAD
245
`define       LDA_ABX      8'hBD
246
`define       LDA_ABY      8'hB9
247
`define       LDA_IDX      8'hA1
248
`define       LDA_IDY      8'hB1
249
 
250
`define       LDX_IMM      8'hA2
251
`define       LDX_ZPG      8'hA6
252
`define       LDX_ZPY      8'hB6
253
`define       LDX_ABS      8'hAE
254
`define       LDX_ABY      8'hBE
255
 
256
`define       LDY_IMM      8'hA0
257
`define       LDY_ZPG      8'hA4
258
`define       LDY_ZPX      8'hB4
259
`define       LDY_ABS      8'hAC
260
`define       LDY_ABX      8'hBC
261
 
262
`define       LSR_ACC      8'h4A
263
`define       LSR_ZPG      8'h46
264
`define       LSR_ZPX      8'h56
265
`define       LSR_ABS      8'h4E
266
`define       LSR_ABX      8'h5E
267
 
268
`define       NOP_IMP      8'hEA
269
 
270
`define       ORA_IMM      8'h09
271
`define       ORA_ZPG      8'h05
272
`define       ORA_ZPX      8'h15
273
`define       ORA_ABS      8'h0D
274
`define       ORA_ABX      8'h1D
275
`define       ORA_ABY      8'h19
276
`define       ORA_IDX      8'h01
277
`define       ORA_IDY      8'h11
278
 
279
`define       PHA_IMP      8'h48
280
`define       PHP_IMP      8'h08
281
`define       PLA_IMP      8'h68
282
`define       PLP_IMP      8'h28
283
 
284
 
285
`define       ROL_ACC      8'h2A
286
`define       ROL_ZPG      8'h26
287
`define       ROL_ZPX      8'h36
288
`define       ROL_ABS      8'h2E
289
`define       ROL_ABX      8'h3E
290
 
291
`define       ROR_ACC      8'h6A
292
`define       ROR_ZPG      8'h66
293
`define       ROR_ZPX      8'h76
294
`define       ROR_ABS      8'h6E
295
`define       ROR_ABX      8'h7E
296
 
297
`define       RTI_IMP      8'h40
298
 
299
`define       RTS_IMP      8'h60
300
 
301
`define       SBC_IMM      8'hE9
302
`define       SBC_ZPG      8'hE5
303
`define       SBC_ZPX      8'hF5
304
`define       SBC_ABS      8'hED
305
`define       SBC_ABX      8'hFD
306
`define       SBC_ABY      8'hF9
307
`define       SBC_IDX      8'hE1
308
`define       SBC_IDY      8'hF1
309
 
310
`define       SEC_IMP      8'h38
311
`define       SED_IMP      8'hF8
312
`define       SEI_IMP      8'h78
313
 
314
`define       STA_ZPG      8'h85
315
`define       STA_ZPX      8'h95
316
`define       STA_ABS      8'h8D
317
`define       STA_ABX      8'h9D
318
`define       STA_ABY      8'h99
319
`define       STA_IDX      8'h81
320
`define       STA_IDY      8'h91
321
 
322
`define       STX_ZPG      8'h86
323
`define       STX_ZPY      8'h96
324
`define       STX_ABS      8'h8E
325
 
326
`define       STY_ZPG      8'h84
327
`define       STY_ZPX      8'h94
328
`define       STY_ABS      8'h8C
329
 
330
`define       TAX_IMP      8'hAA
331
`define       TAY_IMP      8'hA8
332
`define       TXA_IMP      8'h8A
333
`define       TYA_IMP      8'h98
334
 
335
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.