m68k-opc.c

来自「基于4个mips核的noc设计」· C语言 代码 · 共 1,095 行 · 第 1/5 页

C
1,095
字号
/* Opcode table for m680[012346]0/m6888[12]/m68851/mcf5200.   Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,   2000, 2001   Free Software Foundation, Inc.This file is part of GDB, GAS, and the GNU binutils.GDB, GAS, and the GNU binutils are free software; you can redistributethem and/or modify them under the terms of the GNU General PublicLicense as published by the Free Software Foundation; either version1, or (at your option) any later version.GDB, GAS, and the GNU binutils are distributed in the hope that theywill be useful, but WITHOUT ANY WARRANTY; without even the impliedwarranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  Seethe GNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this file; see the file COPYING.  If not, write to the FreeSoftware Foundation, 59 Temple Place - Suite 330, Boston, MA02111-1307, USA.  */#include "sysdep.h"#include "opcode/m68k.h"#define one(x) ((unsigned int) (x) << 16)#define two(x, y) (((unsigned int) (x) << 16) + (y))/* The assembler requires that all instances of the same mnemonic must   be consecutive.  If they aren't, the assembler will bomb at   runtime.  */const struct m68k_opcode m68k_opcodes[] ={{"abcd",	one(0140400),	one(0170770), "DsDd", m68000up },{"abcd",	one(0140410),	one(0170770), "-s-d", m68000up },{"addaw",	one(0150300),	one(0170700), "*wAd", m68000up },{"addal",	one(0150700),	one(0170700), "*lAd", m68000up | mcf },{"addib",	one(0003000),	one(0177700), "#b$s", m68000up },{"addiw",	one(0003100),	one(0177700), "#w$s", m68000up },{"addil",	one(0003200),	one(0177700), "#l$s", m68000up },{"addil",	one(0003200),	one(0177700), "#lDs", mcf },{"addqb",	one(0050000),	one(0170700), "Qd$b", m68000up },{"addqw",	one(0050100),	one(0170700), "Qd%w", m68000up },{"addql",	one(0050200),	one(0170700), "Qd%l", m68000up | mcf },/* The add opcode can generate the adda, addi, and addq instructions.  */{"addb",	one(0050000),	one(0170700), "Qd$b", m68000up },{"addb",	one(0003000),	one(0177700), "#b$s", m68000up },{"addb",	one(0150000),	one(0170700), ";bDd", m68000up },{"addb",	one(0150400),	one(0170700), "Dd~b", m68000up },{"addw",	one(0050100),	one(0170700), "Qd%w", m68000up },{"addw",	one(0150300),	one(0170700), "*wAd", m68000up },{"addw",	one(0003100),	one(0177700), "#w$s", m68000up },{"addw",	one(0150100),	one(0170700), "*wDd", m68000up },{"addw",	one(0150500),	one(0170700), "Dd~w", m68000up },{"addl",	one(0050200),	one(0170700), "Qd%l", m68000up | mcf },{"addl",	one(0003200),	one(0177700), "#l$s", m68000up },{"addl",	one(0003200),	one(0177700), "#lDs", mcf },{"addl",	one(0150700),	one(0170700), "*lAd", m68000up | mcf },{"addl",	one(0150200),	one(0170700), "*lDd", m68000up | mcf },{"addl",	one(0150600),	one(0170700), "Dd~l", m68000up | mcf },{"addxb",	one(0150400),	one(0170770), "DsDd", m68000up },{"addxb",	one(0150410),	one(0170770), "-s-d", m68000up },{"addxw",	one(0150500),	one(0170770), "DsDd", m68000up },{"addxw",	one(0150510),	one(0170770), "-s-d", m68000up },{"addxl",	one(0150600),	one(0170770), "DsDd", m68000up | mcf },{"addxl",	one(0150610),	one(0170770), "-s-d", m68000up },{"andib",	one(0001000),	one(0177700), "#b$s", m68000up },{"andib",	one(0001074),	one(0177777), "#bCs", m68000up },{"andiw",	one(0001100),	one(0177700), "#w$s", m68000up },{"andiw",	one(0001174),	one(0177777), "#wSs", m68000up },{"andil",	one(0001200),	one(0177700), "#l$s", m68000up },{"andil",	one(0001200),	one(0177700), "#lDs", mcf },{"andi",	one(0001100),	one(0177700), "#w$s", m68000up },{"andi",	one(0001074),	one(0177777), "#bCs", m68000up },{"andi",	one(0001174),	one(0177777), "#wSs", m68000up },/* The and opcode can generate the andi instruction.  */{"andb",	one(0001000),	one(0177700), "#b$s", m68000up },{"andb",	one(0001074),	one(0177777), "#bCs", m68000up },{"andb",	one(0140000),	one(0170700), ";bDd", m68000up },{"andb",	one(0140400),	one(0170700), "Dd~b", m68000up },{"andw",	one(0001100),	one(0177700), "#w$s", m68000up },{"andw",	one(0001174),	one(0177777), "#wSs", m68000up },{"andw",	one(0140100),	one(0170700), ";wDd", m68000up },{"andw",	one(0140500),	one(0170700), "Dd~w", m68000up },{"andl",	one(0001200),	one(0177700), "#l$s", m68000up },{"andl",	one(0001200),	one(0177700), "#lDs", mcf },{"andl",	one(0140200),	one(0170700), ";lDd", m68000up | mcf },{"andl",	one(0140600),	one(0170700), "Dd~l", m68000up | mcf },{"and",		one(0001100),	one(0177700), "#w$w", m68000up },{"and",		one(0001074),	one(0177777), "#bCs", m68000up },{"and",		one(0001174),	one(0177777), "#wSs", m68000up },{"and",		one(0140100),	one(0170700), ";wDd", m68000up },{"and",		one(0140500),	one(0170700), "Dd~w", m68000up },{"aslb",	one(0160400),	one(0170770), "QdDs", m68000up },{"aslb",	one(0160440),	one(0170770), "DdDs", m68000up },{"aslw",	one(0160500),	one(0170770), "QdDs", m68000up },{"aslw",	one(0160540),	one(0170770), "DdDs", m68000up },{"aslw",	one(0160700),	one(0177700), "~s",   m68000up },{"asll",	one(0160600),	one(0170770), "QdDs", m68000up | mcf },{"asll",	one(0160640),	one(0170770), "DdDs", m68000up | mcf },{"asrb",	one(0160000),	one(0170770), "QdDs", m68000up },{"asrb",	one(0160040),	one(0170770), "DdDs", m68000up },{"asrw",	one(0160100),	one(0170770), "QdDs", m68000up },{"asrw",	one(0160140),	one(0170770), "DdDs", m68000up },{"asrw",	one(0160300),	one(0177700), "~s",   m68000up },{"asrl",	one(0160200),	one(0170770), "QdDs", m68000up | mcf },{"asrl",	one(0160240),	one(0170770), "DdDs", m68000up | mcf },{"bhiw",	one(0061000),	one(0177777), "BW", m68000up | mcf },{"blsw",	one(0061400),	one(0177777), "BW", m68000up | mcf },{"bccw",	one(0062000),	one(0177777), "BW", m68000up | mcf },{"bcsw",	one(0062400),	one(0177777), "BW", m68000up | mcf },{"bnew",	one(0063000),	one(0177777), "BW", m68000up | mcf },{"beqw",	one(0063400),	one(0177777), "BW", m68000up | mcf },{"bvcw",	one(0064000),	one(0177777), "BW", m68000up | mcf },{"bvsw",	one(0064400),	one(0177777), "BW", m68000up | mcf },{"bplw",	one(0065000),	one(0177777), "BW", m68000up | mcf },{"bmiw",	one(0065400),	one(0177777), "BW", m68000up | mcf },{"bgew",	one(0066000),	one(0177777), "BW", m68000up | mcf },{"bltw",	one(0066400),	one(0177777), "BW", m68000up | mcf },{"bgtw",	one(0067000),	one(0177777), "BW", m68000up | mcf },{"blew",	one(0067400),	one(0177777), "BW", m68000up | mcf },{"bhil",	one(0061377),	one(0177777), "BL", m68020up | cpu32 | mcf5407},{"blsl",	one(0061777),	one(0177777), "BL", m68020up | cpu32 | mcf5407},{"bccl",	one(0062377),	one(0177777), "BL", m68020up | cpu32 | mcf5407},{"bcsl",	one(0062777),	one(0177777), "BL", m68020up | cpu32 | mcf5407},{"bnel",	one(0063377),	one(0177777), "BL", m68020up | cpu32 | mcf5407},{"beql",	one(0063777),	one(0177777), "BL", m68020up | cpu32 | mcf5407},{"bvcl",	one(0064377),	one(0177777), "BL", m68020up | cpu32 | mcf5407},{"bvsl",	one(0064777),	one(0177777), "BL", m68020up | cpu32 | mcf5407},{"bpll",	one(0065377),	one(0177777), "BL", m68020up | cpu32 | mcf5407},{"bmil",	one(0065777),	one(0177777), "BL", m68020up | cpu32 | mcf5407},{"bgel",	one(0066377),	one(0177777), "BL", m68020up | cpu32 | mcf5407},{"bltl",	one(0066777),	one(0177777), "BL", m68020up | cpu32 | mcf5407},{"bgtl",	one(0067377),	one(0177777), "BL", m68020up | cpu32 | mcf5407},{"blel",	one(0067777),	one(0177777), "BL", m68020up | cpu32 | mcf5407},{"bhis",	one(0061000),	one(0177400), "BB", m68000up | mcf },{"blss",	one(0061400),	one(0177400), "BB", m68000up | mcf },{"bccs",	one(0062000),	one(0177400), "BB", m68000up | mcf },{"bcss",	one(0062400),	one(0177400), "BB", m68000up | mcf },{"bnes",	one(0063000),	one(0177400), "BB", m68000up | mcf },{"beqs",	one(0063400),	one(0177400), "BB", m68000up | mcf },{"bvcs",	one(0064000),	one(0177400), "BB", m68000up | mcf },{"bvss",	one(0064400),	one(0177400), "BB", m68000up | mcf },{"bpls",	one(0065000),	one(0177400), "BB", m68000up | mcf },{"bmis",	one(0065400),	one(0177400), "BB", m68000up | mcf },{"bges",	one(0066000),	one(0177400), "BB", m68000up | mcf },{"blts",	one(0066400),	one(0177400), "BB", m68000up | mcf },{"bgts",	one(0067000),	one(0177400), "BB", m68000up | mcf },{"bles",	one(0067400),	one(0177400), "BB", m68000up | mcf },{"jhi",		one(0061000),	one(0177400), "Bg", m68000up | mcf },{"jls",		one(0061400),	one(0177400), "Bg", m68000up | mcf },{"jcc",		one(0062000),	one(0177400), "Bg", m68000up | mcf },{"jcs",		one(0062400),	one(0177400), "Bg", m68000up | mcf },{"jne",		one(0063000),	one(0177400), "Bg", m68000up | mcf },{"jeq",		one(0063400),	one(0177400), "Bg", m68000up | mcf },{"jvc",		one(0064000),	one(0177400), "Bg", m68000up | mcf },{"jvs",		one(0064400),	one(0177400), "Bg", m68000up | mcf },{"jpl",		one(0065000),	one(0177400), "Bg", m68000up | mcf },{"jmi",		one(0065400),	one(0177400), "Bg", m68000up | mcf },{"jge",		one(0066000),	one(0177400), "Bg", m68000up | mcf },{"jlt",		one(0066400),	one(0177400), "Bg", m68000up | mcf },{"jgt",		one(0067000),	one(0177400), "Bg", m68000up | mcf },{"jle",		one(0067400),	one(0177400), "Bg", m68000up | mcf },{"bchg",	one(0000500),	one(0170700), "Dd$s", m68000up | mcf },{"bchg",	one(0004100),	one(0177700), "#b$s", m68000up },{"bchg",	one(0004100),	one(0177700), "#bqs", mcf },{"bclr",	one(0000600),	one(0170700), "Dd$s", m68000up },{"bclr",	one(0000600),	one(0170700), "Ddvs", mcf },{"bclr",	one(0004200),	one(0177700), "#b$s", m68000up },{"bclr",	one(0004200),	one(0177700), "#bqs", mcf },{"bfchg",	two(0165300, 0), two(0177700, 0170000),	"?sO2O3",   m68020up },{"bfclr",	two(0166300, 0), two(0177700, 0170000),	"?sO2O3",   m68020up },{"bfexts",	two(0165700, 0), two(0177700, 0100000),	"/sO2O3D1", m68020up },{"bfextu",	two(0164700, 0), two(0177700, 0100000),	"/sO2O3D1", m68020up },{"bfffo",	two(0166700, 0), two(0177700, 0100000),	"/sO2O3D1", m68020up },{"bfins",	two(0167700, 0), two(0177700, 0100000),	"D1?sO2O3", m68020up },{"bfset",	two(0167300, 0), two(0177700, 0170000),	"?sO2O3",   m68020up },{"bftst",	two(0164300, 0), two(0177700, 0170000),	"/sO2O3",   m68020up },{"bgnd",	one(0045372),		one(0177777), "", cpu32 },{"bkpt",	one(0044110),		one(0177770), "ts", m68010up },{"braw",	one(0060000),	one(0177777), "BW", m68000up | mcf },{"bral",	one(0060377),	one(0177777), "BL", m68020up | cpu32 | mcf5407},{"bras",	one(0060000),	one(0177400), "BB", m68000up | mcf },{"bset",	one(0000700),	one(0170700), "Dd$s", m68000up },{"bset",	one(0000700),	one(0170700), "Ddvs", mcf },{"bset",	one(0004300),	one(0177700), "#b$s", m68000up },{"bset",	one(0004300),	one(0177700), "#bqs", mcf },{"bsrw",	one(0060400),	one(0177777), "BW", m68000up | mcf },{"bsrl",	one(0060777),	one(0177777), "BL", m68020up | cpu32 | mcf5407},{"bsrs",	one(0060400),	one(0177400), "BB", m68000up | mcf },{"btst",	one(0000400),	one(0170700), "Dd;b", m68000up | mcf },{"btst",	one(0004000),	one(0177700), "#b@s", m68000up },{"btst",	one(0004000),	one(0177700), "#bqs", mcf },{"callm",	one(0003300),		one(0177700), "#b!s", m68020 },

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?