Make your own free website on Tripod.com
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

x86regs.h

Go to the documentation of this file.
00001 /*
00002 PeRdr - PE file disassembler
00003 Copyright (C) 1999-2002 Frediano Ziglio
00004 -----
00005 
00006 This program is free software; you can redistribute it and/or modify
00007 it under the terms of the GNU General Public License as published by
00008 the Free Software Foundation; either version 2 of the License, or
00009 (at your option) any later version.
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 INFORMATION
00022   www: http://freddy77.tripod.com/perdr/
00023   e-mail: freddy77@angelfire.com
00024 */
00025 //DEFINE_REG(size,type,name,string,complete,mask)
00026 DEFINE_REG(byte,   byte_low_low,   al,    "al",  REG(eax), 1 )
00027 DEFINE_REG(byte,   byte_low_low,   cl,    "cl",  REG(ecx), 1 )
00028 DEFINE_REG(byte,   byte_low_low,   dl,    "dl",  REG(edx), 1 )
00029 DEFINE_REG(byte,   byte_low_low,   bl,    "bl",  REG(ebx), 1 )
00030 DEFINE_REG(byte,  byte_low_high,   ah,    "ah",  REG(eax), 2 )
00031 DEFINE_REG(byte,  byte_low_high,   ch,    "ch",  REG(ecx), 2 )
00032 DEFINE_REG(byte,  byte_low_high,   dh,    "dh",  REG(edx), 2 )
00033 DEFINE_REG(byte,  byte_low_high,   bh,    "bh",  REG(ebx), 2 )
00034 
00035 DEFINE_REG(word,       word_low,   ax,    "ax",  REG(eax), 3 )
00036 DEFINE_REG(word,       word_low,   cx,    "cx",  REG(ecx), 3 )
00037 DEFINE_REG(word,       word_low,   dx,    "dx",  REG(edx), 3 )
00038 DEFINE_REG(word,       word_low,   bx,    "bx",  REG(ebx), 3 )
00039 DEFINE_REG(word,       word_low,   sp,    "sp",  REG(esp), 1 )
00040 DEFINE_REG(word,       word_low,   bp,    "bp",  REG(ebp), 1 )
00041 DEFINE_REG(word,       word_low,   si,    "si",  REG(esi), 1 )
00042 DEFINE_REG(word,       word_low,   di,    "di",  REG(edi), 1 )
00043 
00044 DEFINE_REG(dword,       general,  eax,   "eax",  REG(eax), 7 )
00045 DEFINE_REG(dword,       general,  ecx,   "ecx",  REG(ecx), 7 )
00046 DEFINE_REG(dword,       general,  edx,   "edx",  REG(edx), 7 )
00047 DEFINE_REG(dword,       general,  ebx,   "ebx",  REG(ebx), 7 )
00048 DEFINE_REG(dword,       general,  esp,   "esp",  REG(esp), 3 ) //  special ??
00049 DEFINE_REG(dword,       general,  ebp,   "ebp",  REG(ebp), 3 )
00050 DEFINE_REG(dword,       general,  esi,   "esi",  REG(esi), 3 )
00051 DEFINE_REG(dword,       general,  edi,   "edi",  REG(edi), 3 )
00052 
00053 DEFINE_REG(packetI,     general,  mm0,   "mm0",  REG(mm0), 1 )
00054 DEFINE_REG(packetI,     general,  mm1,   "mm1",  REG(mm1), 1 )
00055 DEFINE_REG(packetI,     general,  mm2,   "mm2",  REG(mm2), 1 )
00056 DEFINE_REG(packetI,     general,  mm3,   "mm3",  REG(mm3), 1 )
00057 DEFINE_REG(packetI,     general,  mm4,   "mm4",  REG(mm4), 1 )
00058 DEFINE_REG(packetI,     general,  mm5,   "mm5",  REG(mm5), 1 )
00059 DEFINE_REG(packetI,     general,  mm6,   "mm6",  REG(mm6), 1 )
00060 DEFINE_REG(packetI,     general,  mm7,   "mm7",  REG(mm7), 1 )
00061 
00062 DEFINE_REG(packetF,     general, xmm0,  "xmm0", REG(xmm0), 1 )
00063 DEFINE_REG(packetF,     general, xmm1,  "xmm1", REG(xmm1), 1 )
00064 DEFINE_REG(packetF,     general, xmm2,  "xmm2", REG(xmm2), 1 )
00065 DEFINE_REG(packetF,     general, xmm3,  "xmm3", REG(xmm3), 1 )
00066 DEFINE_REG(packetF,     general, xmm4,  "xmm4", REG(xmm4), 1 )
00067 DEFINE_REG(packetF,     general, xmm5,  "xmm5", REG(xmm5), 1 )
00068 DEFINE_REG(packetF,     general, xmm6,  "xmm6", REG(xmm6), 1 )
00069 DEFINE_REG(packetF,     general, xmm7,  "xmm7", REG(xmm7), 1 )
00070 
00071 DEFINE_REG(dword,       special,  eip,   "eip",  REG(eip), 3 )
00072 DEFINE_REG(word,        special,   ip,    "ip",  REG(eip), 1 )
00073 
00074 DEFINE_REG(word,        segment,   es,    "es",  REG(es), 1 )
00075 DEFINE_REG(word,        segment,   cs,    "cs",  REG(cs), 1 )
00076 DEFINE_REG(word,        segment,   ss,    "ss",  REG(ss), 1 )
00077 DEFINE_REG(word,        segment,   ds,    "ds",  REG(ds), 1 )
00078 DEFINE_REG(word,        segment,   fs,    "fs",  REG(fs), 1 )
00079 DEFINE_REG(word,        segment,   gs,    "gs",  REG(gs), 1 )
00080 
00081 DEFINE_REG(floating,    general,  st0, "st(0)",  REG(st0), 1 )
00082 DEFINE_REG(floating,    general,  st1, "st(1)",  REG(st1), 1 )
00083 DEFINE_REG(floating,    general,  st2, "st(2)",  REG(st2), 1 )
00084 DEFINE_REG(floating,    general,  st3, "st(3)",  REG(st3), 1 )
00085 DEFINE_REG(floating,    general,  st4, "st(4)",  REG(st4), 1 )
00086 DEFINE_REG(floating,    general,  st5, "st(5)",  REG(st5), 1 )
00087 DEFINE_REG(floating,    general,  st6, "st(6)",  REG(st6), 1 )
00088 DEFINE_REG(floating,    general,  st7, "st(7)",  REG(st7), 1 )
00089 
00090 DEFINE_REG(dword,       special,  cr0,   "cr0",  REG(cr0), 1 )
00091 DEFINE_REG(dword,       special,  cr1,   "cr1",  REG(cr1), 1 )
00092 DEFINE_REG(dword,       special,  cr2,   "cr2",  REG(cr2), 1 )
00093 DEFINE_REG(dword,       special,  cr3,   "cr3",  REG(cr3), 1 )
00094 DEFINE_REG(dword,       special,  cr4,   "cr4",  REG(cr4), 1 )
00095 DEFINE_REG(dword,       special,  cr5,   "cr5",  REG(cr5), 1 )
00096 DEFINE_REG(dword,       special,  cr6,   "cr6",  REG(cr6), 1 )
00097 DEFINE_REG(dword,       special,  cr7,   "cr7",  REG(cr7), 1 )
00098 
00099 DEFINE_REG(dword,       special,  dr0,   "dr0",  REG(dr0), 1 )
00100 DEFINE_REG(dword,       special,  dr1,   "dr1",  REG(dr1), 1 )
00101 DEFINE_REG(dword,       special,  dr2,   "dr2",  REG(dr2), 1 )
00102 DEFINE_REG(dword,       special,  dr3,   "dr3",  REG(dr3), 1 )
00103 DEFINE_REG(dword,       special,  dr4,   "dr4",  REG(dr4), 1 )
00104 DEFINE_REG(dword,       special,  dr5,   "dr5",  REG(dr5), 1 )
00105 DEFINE_REG(dword,       special,  dr6,   "dr6",  REG(dr6), 1 )
00106 DEFINE_REG(dword,       special,  dr7,   "dr7",  REG(dr7), 1 )
00107 
00108 DEFINE_REG(dword,       special,  tr0,   "tr0",  REG(tr0), 1 )
00109 DEFINE_REG(dword,       special,  tr1,   "tr1",  REG(tr1), 1 )
00110 DEFINE_REG(dword,       special,  tr2,   "tr2",  REG(tr2), 1 )
00111 DEFINE_REG(dword,       special,  tr3,   "tr3",  REG(tr3), 1 )
00112 DEFINE_REG(dword,       special,  tr4,   "tr4",  REG(tr4), 1 )
00113 DEFINE_REG(dword,       special,  tr5,   "tr5",  REG(tr5), 1 )
00114 DEFINE_REG(dword,       special,  tr6,   "tr6",  REG(tr6), 1 )
00115 DEFINE_REG(dword,       special,  tr7,   "tr7",  REG(tr7), 1 )
00116 
00117 

Generated on Mon Jan 13 22:20:35 2003 for perdr by doxygen1.2.15