⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alphaopc.cc

📁 功能较全面的反汇编器:反汇编器ht-2.0.15.tar.gz
💻 CC
📖 第 1 页 / 共 2 页
字号:
/* *	HT Editor *	alphaopc.cc * *	Copyright (C) 1999-2002 Sebastian Biallas (sb@biallas.net) * *	This program is free software; you can redistribute it and/or modify *	it under the terms of the GNU General Public License version 2 as *	published by the Free Software Foundation. * *	This program is distributed in the hope that it will be useful, *	but WITHOUT ANY WARRANTY; without even the implied warranty of *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *	GNU General Public License for more details. * *	You should have received a copy of the GNU General Public License *	along with this program; if not, write to the Free Software *	Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */#include "alphaopc.h"const char *alpha_reg_names[] = {/*     0 */ "v0",/*  1- 8 */ "t0","t1","t2","t3","t4","t5","t6","t7",/*  9-15 */ "s0","s1","s2","s3","s4","s5","s6/fp",/* 16-21 */ "a0","a1","a2","a3","a4","a5",/* 22-25 */ "t8","t9","t10","t11",/* 26-31 */ "ra","t12/pv","at","gp","sp","zero",/* 32-39 */ "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",/* 40-47 */ "f8", "f9", "f10","f11","f12","f13","f14","f15",/* 48-55 */ "f16","f17","f18","f19","?",  "?",  "?",  "?",/* 56-64 */ "?",  "?",  "?",  "?",  "?",  "?",  "?",  "fzero", "lit"};alpha_opcode_tab_entry alpha_instr_tbl[] ={	{0x00,"call_pal",	ALPHA_GROUP_PAL},	{0x01,"opcode01",	ALPHA_ERROR},	{0x02,"opcode02",	ALPHA_ERROR},	{0x03,"opcode03",	ALPHA_ERROR},	{0x04,"opcode04",	ALPHA_ERROR},	{0x05,"opcode05",	ALPHA_ERROR},	{0x06,"opcode06",	ALPHA_ERROR},	{0x07,"opcode07",	ALPHA_ERROR},	{0x08,"lda",		ALPHA_GROUP3},	{0x09,"ldah",		ALPHA_GROUP3},	{0x0a,"ldbu",		ALPHA_GROUP3},	{0x0b,"ldq_u",		ALPHA_GROUP3},	{0x0c,"ldwu",		ALPHA_GROUP3},	{0x0d,"stw",		ALPHA_GROUP4},	{0x0e,"stb",		ALPHA_GROUP4},	{0x0f,"stq_u",		ALPHA_GROUP4},	{0x10,"opcode10",	ALPHA_EXTENSION_10},	{0x11,"opcode11",	ALPHA_EXTENSION_11},	{0x12,"opcode12",	ALPHA_EXTENSION_12},	{0x13,"opcode13",	ALPHA_EXTENSION_13},	{0x14,"opcode14",	ALPHA_EXTENSION_14},	{0x15,"opcode15",	ALPHA_EXTENSION_15},	{0x16,"opcode16",	ALPHA_EXTENSION_16},	{0x17,"opcode17",	ALPHA_EXTENSION_17},	{0x18,"opcode18",	ALPHA_EXTENSION_18},	{0x19,"pal19",		ALPHA_ERROR},	{0x1a,"opcode1a",	ALPHA_EXTENSION_1A},	{0x1b,"pal1b",		ALPHA_ERROR},	{0x1c,"opcode1c",	ALPHA_EXTENSION_1C},	{0x1d,"pal1d",		ALPHA_ERROR},	{0x1e,"pal1e",		ALPHA_ERROR},	{0x1f,"pal1f",		ALPHA_ERROR},    	{0x20,"ldf",		ALPHA_GROUP_FLD},	{0x21,"ldg",		ALPHA_GROUP_FLD},	{0x22,"lds",		ALPHA_GROUP_FLD},	{0x23,"ldt",		ALPHA_GROUP_FLD},	{0x24,"stf",		ALPHA_GROUP_FST},	{0x25,"stg",		ALPHA_GROUP_FST},	{0x26,"sts",		ALPHA_GROUP_FST},	{0x27,"stt",		ALPHA_GROUP_FST},    	{0x28,"ldl",		ALPHA_GROUP3},	{0x29,"ldq",		ALPHA_GROUP3},	{0x2a,"ldl_l",		ALPHA_GROUP3},	{0x2b,"ldq_l",		ALPHA_GROUP3},	{0x2c,"stl",		ALPHA_GROUP4},	{0x2d,"stq",		ALPHA_GROUP4},	{0x2e,"stl_c",		ALPHA_GROUP4},	{0x2f,"stq_c",		ALPHA_GROUP4},	{0x30,"br",		ALPHA_GROUP_BRA},	{0x31,"fbeq",		ALPHA_GROUP_FBR},	{0x32,"fblt",		ALPHA_GROUP_FBR},	{0x33,"fble",		ALPHA_GROUP_FBR},	{0x34,"bsr",		ALPHA_GROUP_BRA},	{0x35,"fbne",		ALPHA_GROUP_FBR},	{0x36,"fbge",		ALPHA_GROUP_FBR},	{0x37,"fbgt",		ALPHA_GROUP_FBR},    	{0x38,"blbc",		ALPHA_GROUP_BRA},	{0x39,"beq",		ALPHA_GROUP_BRA},	{0x3a,"blt",		ALPHA_GROUP_BRA},	{0x3b,"ble",		ALPHA_GROUP_BRA},	{0x3c,"blbs",		ALPHA_GROUP_BRA},	{0x3d,"bne",		ALPHA_GROUP_BRA},	{0x3e,"bge",		ALPHA_GROUP_BRA},	{0x3f,"bgt",		ALPHA_GROUP_BRA}};/* table10 */alpha_opcode_tab_entry alpha_instr_tbl_ext10[] ={	{0x00,"addl",		ALPHA_GROUP1},	{0x02,"s4addl",	ALPHA_GROUP1},	{0x09,"subl",		ALPHA_GROUP1},	{0x0b,"s4subl",	ALPHA_GROUP1},	{0x0f,"cmpbge",	ALPHA_GROUP1},	{0x12,"s8addl",	ALPHA_GROUP1},	{0x1b,"s8subl",	ALPHA_GROUP1},	{0x1d,"cmpult",	ALPHA_GROUP1},	{0x20,"addq",		ALPHA_GROUP1},	{0x22,"s4addq",	ALPHA_GROUP1},	{0x29,"subq",		ALPHA_GROUP1},	{0x2b,"s4subq",	ALPHA_GROUP1},	{0x2d,"cmpeq",		ALPHA_GROUP1},	{0x32,"s8addq",	ALPHA_GROUP1},	{0x3b,"s8subq",	ALPHA_GROUP1},	{0x3d,"cmpule",	ALPHA_GROUP1},	{0x40,"addl/v",	ALPHA_GROUP1},	{0x49,"subl/v",	ALPHA_GROUP1},	{0x4d,"cmplt",		ALPHA_GROUP1},	{0x60,"addq/v",	ALPHA_GROUP1},	{0x69,"subq/v",	ALPHA_GROUP1},	{0x6d,"cmple",		ALPHA_GROUP1},	{0xff,"",			ALPHA_ERROR}};/* table11 */alpha_opcode_tab_entry alpha_instr_tbl_ext11[] ={	{0x00,"and",		ALPHA_GROUP1},	{0x08,"bic",		ALPHA_GROUP1},	{0x14,"cmovlbs",	ALPHA_GROUP1},	{0x16,"cmovlbc",	ALPHA_GROUP1},	{0x20,"bis",		ALPHA_GROUP1},	{0x24,"cmoveq",	ALPHA_GROUP1},	{0x26,"cmovne",	ALPHA_GROUP1},	{0x28,"ornot",		ALPHA_GROUP1},	{0x40,"xor",		ALPHA_GROUP1},	{0x44,"cmovlt",	ALPHA_GROUP1},	{0x46,"cmovge",	ALPHA_GROUP1},	{0x48,"eqv",		ALPHA_GROUP1},	{0x61,"amask",		ALPHA_GROUP3},	{0x64,"cmovle",	ALPHA_GROUP1},	{0x66,"cmovgt",	ALPHA_GROUP1},	{0x6c,"implver",	ALPHA_GROUP3},	{0xff,"",			ALPHA_ERROR}};/* table12 */alpha_opcode_tab_entry alpha_instr_tbl_ext12[] ={	{0x00,"",			ALPHA_ERROR},	{0x02,"mskbl",		ALPHA_GROUP1},	{0x06,"extbl",		ALPHA_GROUP1},	{0x0b,"insbl",		ALPHA_GROUP1},	{0x12,"mskwl",		ALPHA_GROUP1},	{0x16,"extwl",		ALPHA_GROUP1},	{0x1b,"inswl",		ALPHA_GROUP1},	{0x22,"mskll",		ALPHA_GROUP1},	{0x26,"extll",		ALPHA_GROUP1},	{0x2b,"insll",		ALPHA_GROUP1},	{0x30,"zap",		ALPHA_GROUP1},	{0x31,"zapnot",	ALPHA_GROUP1},	{0x32,"mskql",		ALPHA_GROUP1},	{0x34,"srl",		ALPHA_GROUP1},	{0x36,"extql",		ALPHA_GROUP1},	{0x39,"sll",		ALPHA_GROUP1},	{0x3b,"insql",		ALPHA_GROUP1},	{0x3c,"sra",		ALPHA_GROUP1},	{0x52,"mskwh",		ALPHA_GROUP1},	{0x57,"inswh",		ALPHA_GROUP1},	{0x5a,"extwh",		ALPHA_GROUP1},	{0x62,"msklh",		ALPHA_GROUP1},	{0x67,"inslh",		ALPHA_GROUP1},	{0x6a,"extlh",		ALPHA_GROUP1},	{0x72,"mskqh",		ALPHA_GROUP1},	{0x77,"insqh",		ALPHA_GROUP1},	{0x7a,"extqh",		ALPHA_GROUP1},	{0xff,"",			ALPHA_ERROR}};/* table13 */alpha_opcode_tab_entry alpha_instr_tbl_ext13[] ={	{0x00,"mull",		ALPHA_GROUP1},	{0x20,"mulq",		ALPHA_GROUP1},	{0x30,"umulh",		ALPHA_GROUP1},	{0x40,"mull/v",	ALPHA_GROUP1},	{0x60,"mulq/v",	ALPHA_GROUP1},	{0xff,"",			ALPHA_ERROR}};/* table14 */alpha_opcode_tab_entry alpha_instr_tbl_ext14[] ={	{0x000,"",		ALPHA_ERROR},	{0x004,"itofs",	ALPHA_GROUP_I2F},	{0x00a,"sqrtf/c",	ALPHA_ERROR},	{0x00b,"sqrts/c",	ALPHA_ERROR},	{0x014,"itoff",	ALPHA_GROUP_I2F},	{0x024,"itoft",	ALPHA_GROUP_I2F},	{0x02a,"sqrtg/c",	ALPHA_ERROR},	{0x02b,"sqrtt/c",	ALPHA_ERROR},	{0x04b,"sqrts/m",	ALPHA_ERROR},	{0x06b,"sqrtt/m",	ALPHA_ERROR},	{0x08a,"sqrtf",	ALPHA_ERROR},	{0x08b,"sqrts",	ALPHA_ERROR},	{0x0aa,"sqrtg",	ALPHA_ERROR},	{0x0ab,"sqrtt",	ALPHA_ERROR},	{0x0cb,"sqrts/d",	ALPHA_ERROR},	{0x0eb,"sqrtt/d",	ALPHA_ERROR},	{0x10a,"sqrtf/uc",	ALPHA_ERROR},	{0x10b,"sqrts/uc",	ALPHA_ERROR},	{0x12a,"sqrtg/uc",	ALPHA_ERROR},	{0x12b,"sqrtt/uc",	ALPHA_ERROR},	{0x14b,"sqrts/um",	ALPHA_ERROR},	{0x16b,"sqrtt/um",	ALPHA_ERROR},	{0x18a,"sqrtf/u",	ALPHA_ERROR},	{0x18b,"sqrts/u",	ALPHA_ERROR},	{0x1aa,"sqrtg/u",	ALPHA_ERROR},	{0x1ab,"sqrtt/u",	ALPHA_ERROR},	{0x1cb,"sqrts/ud",	ALPHA_ERROR},	{0x1eb,"sqrtt/ud",	ALPHA_ERROR},	{0x40a,"sqrtf/sc",	ALPHA_ERROR},	{0x42a,"sqrtg/sc",	ALPHA_ERROR},	{0x48a,"sqrtf/s",	ALPHA_ERROR},	{0x4aa,"sqrtg/s",	ALPHA_ERROR},	{0x50a,"sqrtf/suc",	ALPHA_ERROR},	{0x50b,"sqrts/suc",	ALPHA_ERROR},	{0x52a,"sqrtg/suc",	ALPHA_ERROR},	{0x52b,"sqrtt/suc",	ALPHA_ERROR},	{0x54b,"sqrts/sum",	ALPHA_ERROR},	{0x56b,"sqrtt/sum",	ALPHA_ERROR},	{0x58a,"sqrtf/su",	ALPHA_ERROR},	{0x58b,"sqrts/su",	ALPHA_ERROR},	{0x5aa,"sqrtg/su",	ALPHA_ERROR},	{0x5ab,"sqrtt/su",	ALPHA_ERROR},	{0x5cb,"sqrts/sud",	ALPHA_ERROR},	{0x5eb,"sqrtt/sud",	ALPHA_ERROR},	{0x70b,"sqrts/suic",ALPHA_ERROR},	{0x72b,"sqrtt/suic",ALPHA_ERROR},	{0x74b,"sqrts/suim",ALPHA_ERROR},	{0x76b,"sqrtt/suim",ALPHA_ERROR},	{0x78b,"sqrts/sui",	ALPHA_ERROR},	{0x7ab,"sqrtt/sui",	ALPHA_ERROR},	{0x7cb,"sqrts/suid",ALPHA_ERROR},	{0x7eb,"sqrtt/suid",ALPHA_ERROR},	{0xfff,"",		ALPHA_ERROR}};/* table15 */alpha_opcode_tab_entry alpha_instr_tbl_ext15[] ={	{0x000,"addf/c",	ALPHA_GROUP2},	{0x001,"subf/c",	ALPHA_GROUP2},	{0x002,"mulf/c",	ALPHA_GROUP2},	{0x003,"divf/c",	ALPHA_GROUP2},	{0x01e,"cvtdg/c",	ALPHA_GROUP2},	{0x020,"addg/c",	ALPHA_GROUP2},	{0x021,"subg/c",	ALPHA_GROUP2},	{0x022,"mulg/c",	ALPHA_GROUP2},	{0x023,"divg/c",	ALPHA_GROUP2},	{0x02c,"cvtgf/c",	ALPHA_GROUP2},	{0x02d,"cvtgd/c",	ALPHA_GROUP2},	{0x02f,"cvtgq/c",	ALPHA_GROUP2},	{0x03c,"cvtqf/c",	ALPHA_GROUP2},	{0x03e,"cvtqg/c",	ALPHA_GROUP2},	{0x080,"addf",		ALPHA_GROUP2},	{0x081,"subf",		ALPHA_GROUP2},	{0x082,"mulf",		ALPHA_GROUP2},	{0x083,"divf",		ALPHA_GROUP2},	{0x09e,"cvtdg",	ALPHA_GROUP2},	{0x0a0,"addg",		ALPHA_GROUP2},	{0x0a1,"subg",		ALPHA_GROUP2},	{0x0a2,"mulg",		ALPHA_GROUP2},	{0x0a3,"divg",		ALPHA_GROUP2},	{0x0a5,"cmpgeq",	ALPHA_GROUP2},	{0x0a6,"cmpglt",	ALPHA_GROUP2},	{0x0a7,"cmpgle",	ALPHA_GROUP2},	{0x0ac,"cvtgf",	ALPHA_GROUP2},	{0x0ad,"cvtgd",	ALPHA_GROUP2},	{0x0af,"cvtgq",	ALPHA_GROUP2},	{0x0bc,"cvtqf",	ALPHA_GROUP2},	{0x0be,"cvtqg",	ALPHA_GROUP2},	{0x100,"addf/uc",	ALPHA_GROUP2},	{0x101,"subf/uc",	ALPHA_GROUP2},	{0x102,"mulf/uc",	ALPHA_GROUP2},	{0x103,"divf/uc",	ALPHA_GROUP2},	{0x11e,"cvtdg/uc",	ALPHA_GROUP2},	{0x120,"addg/uc",	ALPHA_GROUP2},	{0x121,"subg/uc",	ALPHA_GROUP2},	{0x122,"mulg/uc",	ALPHA_GROUP2},	{0x123,"divg/uc",	ALPHA_GROUP2},	{0x12c,"cvtgf/uc",	ALPHA_GROUP2},	{0x12d,"cvtgd/uc",	ALPHA_GROUP2},	{0x12f,"cvtgq/vc",	ALPHA_GROUP2},	{0x180,"addf/u",	ALPHA_GROUP2},	{0x181,"subf/u",	ALPHA_GROUP2},	{0x182,"mulf/u",	ALPHA_GROUP2},	{0x183,"divf/u",	ALPHA_GROUP2},	{0x19e,"cvtdg/u",	ALPHA_GROUP2},	{0x1a0,"addg/u",	ALPHA_GROUP2},	{0x1a1,"subg/u",	ALPHA_GROUP2},	{0x1a2,"mulg/u",	ALPHA_GROUP2},	{0x1a3,"divg/u",	ALPHA_GROUP2},	{0x1ac,"cvtgf/u",	ALPHA_GROUP2},	{0x1ad,"cvtgd/u",	ALPHA_GROUP2},	{0x1af,"cvtgq/v",	ALPHA_GROUP2},	{0x400,"addf/sc",	ALPHA_GROUP2},

⌨️ 快捷键说明

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