Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

x86table.cpp File Reference

#include "global.h"
#include "x86istr.h"
#include "x86table.h"
#include "x86dasm.h"
#include "utils/compilecheck.hpp"

Go to the source code of this file.

Defines

#define istr__   -1
#define I(rtn, special, istruction)   { &InstructionDecoder::rtn, special, istr_##istruction }
#define ESCSPECIAL(index, i1, i2, i3, i4, i5, i6, i7, i8)
#define F3OFF_NULL   0
#define F3OFF_10   1
#define F3OFF_11   2
#define F3OFF_51   3
#define F3OFF_52   4
#define F3OFF_53   5
#define F3OFF_C2   6
#define F3OFF_2A   7
#define F3OFF_2C   8
#define F3OFF_2D   9
#define F3OFF_58   10
#define F3OFF_59   11
#define F3OFF_5C   12
#define F3OFF_5D   13
#define F3OFF_5E   14
#define F3OFF_5F   15

Enumerations

enum  EscSpecial {
  escS_d9d0, escS_d9e0, escS_d9e8, escS_d9f0,
  escS_d9f8, escS_dae8, escS_dbe0, escS_ded8,
  escS_dfe0
}

Functions

 COMPILE_CHECK (intSizeCheck,(sizeof(int) >=4)&&(num_instructions<=(1<< 23)))
 COMPILE_CHECK (escInstrLenCheck, sizeof(esc_inst)==(sizeof(esc_inst[0])*64))
 COMPILE_CHECK (k6_3dInstrLenCheck, sizeof(k6_3DNow_instr)==(sizeof(k6_3DNow_instr[0])*256))
 COMPILE_CHECK (f3xmmLenCheck, sizeof(f3Xmm_offsets)==(sizeof(f3Xmm_offsets[0])*256))

Variables

int esc_inst []
int esc_inst_mod3 []
int esc_inst_special [][8]
INST_3DNOW k6_3DNow_instr []
INST_F3XMM f3Xmm_instr []
uchar f3Xmm_offsets []


Define Documentation

#define ESCSPECIAL index,
i1,
i2,
i3,
i4,
i5,
i6,
i7,
i8   
 

Value:

{ istr_##i1, istr_##i2, istr_##i3, istr_##i4, \
    istr_##i5, istr_##i6, istr_##i7, istr_##i8 }

Definition at line 747 of file x86table.cpp.

#define F3OFF_10   1
 

#define F3OFF_11   2
 

#define F3OFF_2A   7
 

#define F3OFF_2C   8
 

#define F3OFF_2D   9
 

#define F3OFF_51   3
 

#define F3OFF_52   4
 

#define F3OFF_53   5
 

#define F3OFF_58   10
 

#define F3OFF_59   11
 

#define F3OFF_5C   12
 

#define F3OFF_5D   13
 

#define F3OFF_5E   14
 

#define F3OFF_5F   15
 

#define F3OFF_C2   6
 

#define F3OFF_NULL   0
 

#define I rtn,
special,
istruction       { &InstructionDecoder::rtn, special, istr_##istruction }
 

Definition at line 36 of file x86table.cpp.

#define istr__   -1
 

Definition at line 35 of file x86table.cpp.


Enumeration Type Documentation

enum EscSpecial
 

Enumeration values:
escS_d9d0 
escS_d9e0 
escS_d9e8 
escS_d9f0 
escS_d9f8 
escS_dae8 
escS_dbe0 
escS_ded8 
escS_dfe0 

Definition at line 666 of file x86table.cpp.


Function Documentation

COMPILE_CHECK f3xmmLenCheck   ,
sizeof(f3Xmm_offsets   = =(sizeof(f3Xmm_offsets[0])*256)
 

COMPILE_CHECK k6_3dInstrLenCheck   ,
sizeof(k6_3DNow_instr   = =(sizeof(k6_3DNow_instr[0])*256)
 

COMPILE_CHECK escInstrLenCheck   ,
sizeof(esc_inst   = =(sizeof(esc_inst[0])*64)
 

COMPILE_CHECK intSizeCheck   ,
(sizeof(int) >=4)&&(num_instructions<=(1<< 23))   
 


Variable Documentation

int esc_inst[]
 

Definition at line 589 of file x86table.cpp.

int esc_inst_mod3[]
 

Definition at line 673 of file x86table.cpp.

int esc_inst_special[][8]
 

Initial value:

{
  ESCSPECIAL(d9d0,fnop, _,       _,     _,      _,      _,     _,      _),
  ESCSPECIAL(d9e0,fchs, fabs,    _,     _,      ftst,   fxam,  _,      _),
  ESCSPECIAL(d9e8,fldl, fldl2t,  fldl2e,fldpi,  fldlg2, fldln2,fldz,   _),
  ESCSPECIAL(d9f0,f2xm1,fyl2x,   fptan, fpatan, fxtract,fpreml,fdecstp,fincstp),
  ESCSPECIAL(d9f8,fprem,fyl2xpl, fsqrt, fsincos,frndint,fscale,fsin,   fcos),
  ESCSPECIAL(dae8,_,    fucompuu,_,     _,      _,      _,     _,      _),
  ESCSPECIAL(dbe0,feni, fdisi,   fclex, finit,  fsetpm, _,     _,      _),
  ESCSPECIAL(ded8,_,    fcompp,  _,     _,      _,      _,     _,      _),

}

Definition at line 750 of file x86table.cpp.

INST_F3XMM f3Xmm_instr[]
 

Definition at line 1026 of file x86table.cpp.

uchar f3Xmm_offsets[]
 

Definition at line 1062 of file x86table.cpp.

INST_3DNOW k6_3DNow_instr[]
 

Definition at line 763 of file x86table.cpp.


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