Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

alphaopc.h

Go to the documentation of this file.
00001 /*
00002  *      HT Editor
00003  *      alphaopc.h
00004  *
00005  *      Copyright (C) 1999-2002 Sebastian Biallas (sb@web-productions.de)
00006  *
00007  *      This program is free software; you can redistribute it and/or modify
00008  *      it under the terms of the GNU General Public License version 2 as
00009  *      published by the Free Software Foundation.
00010  *
00011  *      This program is distributed in the hope that it will be useful,
00012  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  *      GNU General Public License for more details.
00015  *
00016  *      You should have received a copy of the GNU General Public License
00017  *      along with this program; if not, write to the Free Software
00018  *      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00019  */
00020 
00021 #ifndef ALPHAOPC_H
00022 #define ALPHAOPC_H
00023 
00024 #include "global.h"
00025 
00026 struct alpha_opcode_tab_entry {
00027         word    fcode;
00028         char    *name;
00029         byte    type;
00030 };
00031 
00032 extern char *alpha_reg_names[];
00033 extern alpha_opcode_tab_entry alpha_instr_tbl[];
00034 extern alpha_opcode_tab_entry alpha_instr_tbl_ext10[];
00035 extern alpha_opcode_tab_entry alpha_instr_tbl_ext11[];
00036 extern alpha_opcode_tab_entry alpha_instr_tbl_ext12[];
00037 extern alpha_opcode_tab_entry alpha_instr_tbl_ext13[];
00038 extern alpha_opcode_tab_entry alpha_instr_tbl_ext14[];
00039 extern alpha_opcode_tab_entry alpha_instr_tbl_ext15[];
00040 extern alpha_opcode_tab_entry alpha_instr_tbl_ext16[];
00041 extern alpha_opcode_tab_entry alpha_instr_tbl_ext17[];
00042 extern alpha_opcode_tab_entry alpha_instr_tbl_ext18[];
00043 extern alpha_opcode_tab_entry alpha_instr_tbl_ext1a[];
00044 extern alpha_opcode_tab_entry alpha_instr_tbl_ext1c[];
00045 
00046 #define REG_ZERO        0x1f
00047 #define REG_FLOAT       0x20
00048 #define REG_FZERO       0x3f
00049 #define REG_LIT 0x40
00050 
00051 
00052 /* unknown/undefined/illegal opcode */
00053 #define ALPHA_ERROR 0
00054 
00055 /* extensions */
00056 #define ALPHA_EXTENSION_10  100
00057 #define ALPHA_EXTENSION_11  101
00058 #define ALPHA_EXTENSION_12  102
00059 #define ALPHA_EXTENSION_13  103
00060 #define ALPHA_EXTENSION_14  104
00061 #define ALPHA_EXTENSION_15  105
00062 #define ALPHA_EXTENSION_16  106
00063 #define ALPHA_EXTENSION_17  107
00064 #define ALPHA_EXTENSION_18  108
00065 #define ALPHA_EXTENSION_1A  109
00066 #define ALPHA_EXTENSION_1C  110
00067 
00068 /* opcode groups somehow without system */
00069 #define ALPHA_GROUP1 200
00070 #define ALPHA_GROUP2 201
00071 #define ALPHA_GROUP3 202
00072 #define ALPHA_GROUP_FLD 203
00073 #define ALPHA_GROUP4 204
00074 #define ALPHA_GROUP_FST 205
00075 #define ALPHA_GROUP_F2I 206
00076 #define ALPHA_GROUP_I2F 207
00077 #define ALPHA_GROUP_BRA 208
00078 #define ALPHA_GROUP_FBR 209
00079 #define ALPHA_GROUP_JMP 210
00080 #define ALPHA_GROUP_PAL 211
00081 
00082 #endif

Generated on Fri May 7 21:15:28 2004 by doxygen 1.3.5