w65-opc.h
来自「基于4个mips核的noc设计」· C头文件 代码 · 共 570 行 · 第 1/2 页
H
570 行
/* Instruction opcode header for WDC 65816 (generated by the program sim/w65/gencode -a)Copyright 2001 Free Software Foundation, Inc.This file is part of the GNU Binutils and/or GDB, the GNU debugger.This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public License alongwith this program; if not, write to the Free Software Foundation, Inc.,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.*/#define ADDR_IMMTOA 1 /* #a */#define ADDR_IMMCOP 2 /* #c */#define ADDR_IMMTOI 3 /* #i */#define ADDR_ACC 4 /* A */#define ADDR_PC_REL 5 /* r */#define ADDR_PC_REL_LONG 6 /* rl */#define ADDR_IMPLIED 7 /* i */#define ADDR_STACK 8 /* s */#define ADDR_DIR 9 /* d */#define ADDR_DIR_IDX_X 10 /* d,x */#define ADDR_DIR_IDX_Y 11 /* d,y */#define ADDR_DIR_IND 12 /* (d) */#define ADDR_DIR_IDX_IND_X 13 /* (d,x) */#define ADDR_DIR_IND_IDX_Y 14 /* (d),y */#define ADDR_DIR_IND_LONG 15 /* [d] */#define ADDR_DIR_IND_IDX_Y_LONG 16 /* [d],y */#define ADDR_ABS 17 /* a */#define ADDR_ABS_IDX_X 18 /* a,x */#define ADDR_ABS_IDX_Y 19 /* a,y */#define ADDR_ABS_LONG 20 /* al */#define ADDR_ABS_IND_LONG 21 /* [a] */#define ADDR_ABS_LONG_IDX_X 22 /* al,x */#define ADDR_STACK_REL 23 /* d,s */#define ADDR_STACK_REL_INDX_IDX 24 /* (d,s),y */#define ADDR_ABS_IND 25 /* (a) */#define ADDR_ABS_IND_IDX 26 /* (a,x) */#define ADDR_BLOCK_MOVE 27 /* xyz */struct opinfo { int val; int code; char *name; int amode;};struct opinfo optable[257]={#define O_adc 1#define O_and 2#define O_asl 3#define O_bcc 4#define O_bcs 5#define O_beq 6#define O_bit 7#define O_bmi 8#define O_bne 9#define O_bpl 10#define O_bra 11#define O_brk 12#define O_brl 13#define O_bvc 14#define O_bvs 15#define O_clc 16#define O_cld 17#define O_cli 18#define O_clv 19#define O_cmp 20#define O_cop 21#define O_cpx 22#define O_cpy 23#define O_dec 24#define O_dex 25#define O_dey 26#define O_eor 27#define O_inc 28#define O_inx 29#define O_iny 30#define O_jmp 31#define O_jsr 32#define O_lda 33#define O_ldx 34#define O_ldy 35#define O_lsr 36#define O_mvn 37#define O_mvp 38#define O_nop 39#define O_ora 40#define O_pea 41#define O_pei 42#define O_per 43#define O_pha 44#define O_phb 45#define O_phd 46#define O_phk 47#define O_php 48#define O_phx 49#define O_phy 50#define O_pla 51#define O_plb 52#define O_pld 53#define O_plp 54#define O_plx 55#define O_ply 56#define O_rep 57#define O_rol 58#define O_ror 59#define O_rti 60#define O_rtl 61#define O_rts 62#define O_sbc 63#define O_sec 64#define O_sed 65#define O_sei 66#define O_sep 67#define O_sta 68#define O_stp 69#define O_stx 70#define O_sty 71#define O_stz 72#define O_tax 73#define O_tay 74#define O_tcd 75#define O_tcs 76#define O_tdc 77#define O_trb 78#define O_tsb 79#define O_tsc 80#define O_tsx 81#define O_txa 82#define O_txs 83#define O_txy 84#define O_tya 85#define O_tyx 86#define O_wai 87#define O_wdm 88#define O_xba 89#define O_xce 90#ifdef DEFINE_TABLE {0x69, O_adc, "adc", ADDR_IMMTOA}, {0x72, O_adc, "adc", ADDR_DIR_IND}, {0x71, O_adc, "adc", ADDR_DIR_IND_IDX_Y}, {0x73, O_adc, "adc", ADDR_STACK_REL_INDX_IDX}, {0x61, O_adc, "adc", ADDR_DIR_IDX_IND_X}, {0x67, O_adc, "adc", ADDR_DIR_IND_LONG}, {0x77, O_adc, "adc", ADDR_DIR_IND_IDX_Y_LONG}, {0x6D, O_adc, "adc", ADDR_ABS}, {0x7D, O_adc, "adc", ADDR_ABS_IDX_X}, {0x79, O_adc, "adc", ADDR_ABS_IDX_Y}, {0x6F, O_adc, "adc", ADDR_ABS_LONG}, {0x7F, O_adc, "adc", ADDR_ABS_LONG_IDX_X}, {0x65, O_adc, "adc", ADDR_DIR}, {0x63, O_adc, "adc", ADDR_STACK_REL}, {0x75, O_adc, "adc", ADDR_DIR_IDX_X}, {0x29, O_and, "and", ADDR_IMMTOA}, {0x32, O_and, "and", ADDR_DIR_IND}, {0x31, O_and, "and", ADDR_DIR_IND_IDX_Y}, {0x33, O_and, "and", ADDR_STACK_REL_INDX_IDX}, {0x21, O_and, "and", ADDR_DIR_IDX_IND_X}, {0x27, O_and, "and", ADDR_DIR_IND_LONG}, {0x37, O_and, "and", ADDR_DIR_IND_IDX_Y_LONG}, {0x2D, O_and, "and", ADDR_ABS}, {0x3D, O_and, "and", ADDR_ABS_IDX_X}, {0x39, O_and, "and", ADDR_ABS_IDX_Y}, {0x2F, O_and, "and", ADDR_ABS_LONG}, {0x3F, O_and, "and", ADDR_ABS_LONG_IDX_X}, {0x25, O_and, "and", ADDR_DIR}, {0x23, O_and, "and", ADDR_STACK_REL}, {0x35, O_and, "and", ADDR_DIR_IDX_X}, {0x0A, O_asl, "asl", ADDR_ACC}, {0x0E, O_asl, "asl", ADDR_ABS}, {0x1E, O_asl, "asl", ADDR_ABS_IDX_X}, {0x06, O_asl, "asl", ADDR_DIR}, {0x16, O_asl, "asl", ADDR_DIR_IDX_X}, {0x90, O_bcc, "bcc", ADDR_PC_REL}, {0xB0, O_bcs, "bcs", ADDR_PC_REL}, {0xF0, O_beq, "beq", ADDR_PC_REL}, {0x89, O_bit, "bit", ADDR_IMMTOA}, {0x24, O_bit, "bit", ADDR_DIR_IND}, {0x34, O_bit, "bit", ADDR_DIR_IDX_IND_X}, {0x2C, O_bit, "bit", ADDR_ABS}, {0x3C, O_bit, "bit", ADDR_ABS_IDX_X}, {0x30, O_bmi, "bmi", ADDR_PC_REL}, {0xD0, O_bne, "bne", ADDR_PC_REL}, {0x10, O_bpl, "bpl", ADDR_PC_REL}, {0x80, O_bra, "bra", ADDR_PC_REL}, {0x00, O_brk, "brk", ADDR_STACK}, {0x82, O_brl, "brl", ADDR_PC_REL_LONG}, {0x50, O_bvc, "bvc", ADDR_PC_REL}, {0x70, O_bvs, "bvs", ADDR_PC_REL}, {0x18, O_clc, "clc", ADDR_IMPLIED}, {0xD8, O_cld, "cld", ADDR_IMPLIED}, {0x58, O_cli, "cli", ADDR_IMPLIED}, {0xB8, O_clv, "clv", ADDR_IMPLIED}, {0xC9, O_cmp, "cmp", ADDR_IMMTOA}, {0xD2, O_cmp, "cmp", ADDR_DIR_IND}, {0xD1, O_cmp, "cmp", ADDR_DIR_IND_IDX_Y}, {0xD3, O_cmp, "cmp", ADDR_STACK_REL_INDX_IDX}, {0xC1, O_cmp, "cmp", ADDR_DIR_IDX_IND_X}, {0xC7, O_cmp, "cmp", ADDR_DIR_IND_LONG}, {0xD7, O_cmp, "cmp", ADDR_DIR_IND_IDX_Y_LONG}, {0xCD, O_cmp, "cmp", ADDR_ABS}, {0xDD, O_cmp, "cmp", ADDR_ABS_IDX_X}, {0xD9, O_cmp, "cmp", ADDR_ABS_IDX_Y}, {0xCF, O_cmp, "cmp", ADDR_ABS_LONG}, {0xDF, O_cmp, "cmp", ADDR_ABS_LONG_IDX_X}, {0xC5, O_cmp, "cmp", ADDR_DIR}, {0xC3, O_cmp, "cmp", ADDR_STACK_REL}, {0xD5, O_cmp, "cmp", ADDR_DIR_IDX_X}, {0x02, O_cop, "cop", ADDR_IMMCOP}, {0xE0, O_cpx, "cpx", ADDR_IMMTOI}, {0xEC, O_cpx, "cpx", ADDR_ABS}, {0xE4, O_cpx, "cpx", ADDR_DIR}, {0xC0, O_cpy, "cpy", ADDR_IMMTOI}, {0xCC, O_cpy, "cpy", ADDR_ABS}, {0xC4, O_cpy, "cpy", ADDR_DIR}, {0x3A, O_dec, "dec", ADDR_ACC}, {0xCE, O_dec, "dec", ADDR_ABS}, {0xDE, O_dec, "dec", ADDR_ABS_IDX_X}, {0xC6, O_dec, "dec", ADDR_DIR}, {0xD6, O_dec, "dec", ADDR_DIR_IDX_X}, {0xCA, O_dex, "dex", ADDR_IMPLIED}, {0x88, O_dey, "dey", ADDR_IMPLIED}, {0x49, O_eor, "eor", ADDR_IMMTOA}, {0x52, O_eor, "eor", ADDR_DIR_IND}, {0x51, O_eor, "eor", ADDR_DIR_IND_IDX_Y}, {0x53, O_eor, "eor", ADDR_STACK_REL_INDX_IDX}, {0x41, O_eor, "eor", ADDR_DIR_IDX_IND_X}, {0x47, O_eor, "eor", ADDR_DIR_IND_LONG}, {0x57, O_eor, "eor", ADDR_DIR_IND_IDX_Y_LONG}, {0x4D, O_eor, "eor", ADDR_ABS}, {0x5D, O_eor, "eor", ADDR_ABS_IDX_X}, {0x59, O_eor, "eor", ADDR_ABS_IDX_Y}, {0x4F, O_eor, "eor", ADDR_ABS_LONG}, {0x5F, O_eor, "eor", ADDR_ABS_LONG_IDX_X}, {0x45, O_eor, "eor", ADDR_DIR}, {0x43, O_eor, "eor", ADDR_STACK_REL}, {0x55, O_eor, "eor", ADDR_DIR_IDX_X}, {0x1A, O_inc, "inc", ADDR_ACC}, {0xEE, O_inc, "inc", ADDR_ABS}, {0xFE, O_inc, "inc", ADDR_ABS_IDX_X}, {0xE6, O_inc, "inc", ADDR_DIR}, {0xF6, O_inc, "inc", ADDR_DIR_IDX_X}, {0xE8, O_inx, "inx", ADDR_IMPLIED}, {0xC8, O_iny, "iny", ADDR_IMPLIED}, {0x6C, O_jmp, "jmp", ADDR_ABS_IND}, {0x7C, O_jmp, "jmp", ADDR_ABS_IND_IDX}, {0xDC, O_jmp, "jmp", ADDR_ABS_IND_LONG}, {0x4C, O_jmp, "jmp", ADDR_ABS}, {0x5C, O_jmp, "jmp", ADDR_ABS_LONG}, {0xFC, O_jsr, "jsr", ADDR_ABS_IND_IDX}, {0x20, O_jsr, "jsr", ADDR_ABS}, {0x22, O_jsr, "jsr", ADDR_ABS_LONG}, {0xA9, O_lda, "lda", ADDR_IMMTOA}, {0xB2, O_lda, "lda", ADDR_DIR_IND}, {0xB1, O_lda, "lda", ADDR_DIR_IND_IDX_Y}, {0xB3, O_lda, "lda", ADDR_STACK_REL_INDX_IDX}, {0xA1, O_lda, "lda", ADDR_DIR_IDX_IND_X}, {0xA7, O_lda, "lda", ADDR_DIR_IND_LONG}, {0xB7, O_lda, "lda", ADDR_DIR_IND_IDX_Y_LONG}, {0xAD, O_lda, "lda", ADDR_ABS}, {0xBD, O_lda, "lda", ADDR_ABS_IDX_X}, {0xB9, O_lda, "lda", ADDR_ABS_IDX_Y}, {0xAF, O_lda, "lda", ADDR_ABS_LONG}, {0xBF, O_lda, "lda", ADDR_ABS_LONG_IDX_X}, {0xA5, O_lda, "lda", ADDR_DIR}, {0xA3, O_lda, "lda", ADDR_STACK_REL}, {0xB5, O_lda, "lda", ADDR_DIR_IDX_X}, {0xA2, O_ldx, "ldx", ADDR_IMMTOI}, {0xAE, O_ldx, "ldx", ADDR_ABS}, {0xBE, O_ldx, "ldx", ADDR_ABS_IDX_Y}, {0xA6, O_ldx, "ldx", ADDR_DIR}, {0xB6, O_ldx, "ldx", ADDR_DIR_IDX_Y}, {0xA0, O_ldy, "ldy", ADDR_IMMTOI}, {0xAC, O_ldy, "ldy", ADDR_ABS}, {0xBC, O_ldy, "ldy", ADDR_ABS_IDX_X},
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?