dioscuri.module.cpu32
Class FASTCompiler

java.lang.Object
  extended by dioscuri.module.cpu32.FASTCompiler
All Implemented Interfaces:
CodeBlockCompiler

public class FASTCompiler
extends java.lang.Object
implements CodeBlockCompiler

Author:
Bram Lohman, Bart Kiers

Field Summary
static int ELEMENT_COUNT
           
static int POPABLE_ELEMENT_COUNT
           
static int PROCESSOR_ELEMENT_ACFLAG
           
static int PROCESSOR_ELEMENT_ADDR0
           
static int PROCESSOR_ELEMENT_AFLAG
           
static int PROCESSOR_ELEMENT_CFLAG
           
static int PROCESSOR_ELEMENT_COUNT
           
static int PROCESSOR_ELEMENT_CPL
           
static int PROCESSOR_ELEMENT_CS
           
static int PROCESSOR_ELEMENT_DFLAG
           
static int PROCESSOR_ELEMENT_DS
           
static int PROCESSOR_ELEMENT_EAX
           
static int PROCESSOR_ELEMENT_EBP
           
static int PROCESSOR_ELEMENT_EBX
           
static int PROCESSOR_ELEMENT_ECX
           
static int PROCESSOR_ELEMENT_EDI
           
static int PROCESSOR_ELEMENT_EDX
           
static int PROCESSOR_ELEMENT_EIP
           
static int PROCESSOR_ELEMENT_ES
           
static int PROCESSOR_ELEMENT_ESI
           
static int PROCESSOR_ELEMENT_ESP
           
static int PROCESSOR_ELEMENT_EXECUTECOUNT
           
static int PROCESSOR_ELEMENT_FS
           
static int PROCESSOR_ELEMENT_GDTR
           
static int PROCESSOR_ELEMENT_GS
           
static int PROCESSOR_ELEMENT_IDFLAG
           
static int PROCESSOR_ELEMENT_IDTR
           
static int PROCESSOR_ELEMENT_IFLAG
           
static int PROCESSOR_ELEMENT_IOPL
           
static int PROCESSOR_ELEMENT_IOPORTS
           
static int PROCESSOR_ELEMENT_IOPORTWRITE
           
static int PROCESSOR_ELEMENT_LDTR
           
static int PROCESSOR_ELEMENT_MEMORYWRITE
           
static int PROCESSOR_ELEMENT_NTFLAG
           
static int PROCESSOR_ELEMENT_OFLAG
           
static int PROCESSOR_ELEMENT_PFLAG
           
static int PROCESSOR_ELEMENT_REG0
           
static int PROCESSOR_ELEMENT_REG1
           
static int PROCESSOR_ELEMENT_REG2
           
static int PROCESSOR_ELEMENT_RFLAG
           
static int PROCESSOR_ELEMENT_SEG0
           
static int PROCESSOR_ELEMENT_SFLAG
           
static int PROCESSOR_ELEMENT_SS
           
static int PROCESSOR_ELEMENT_TFLAG
           
static int PROCESSOR_ELEMENT_TSS
           
static int PROCESSOR_ELEMENT_VIFLAG
           
static int PROCESSOR_ELEMENT_VIPFLAG
           
static int PROCESSOR_ELEMENT_VMFLAG
           
static int PROCESSOR_ELEMENT_ZFLAG
           
static int VARIABLE_EXECUTE_COUNT_INDEX
           
static int VARIABLE_OFFSET
           
 
Constructor Summary
FASTCompiler()
           
 
Method Summary
 ProtectedModeCodeBlock getProtectedModeCodeBlock(InstructionSource source)
           
 RealModeCodeBlock getRealModeCodeBlock(InstructionSource source)
           
 Virtual8086ModeCodeBlock getVirtual8086ModeCodeBlock(InstructionSource source)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROCESSOR_ELEMENT_EAX

public static final int PROCESSOR_ELEMENT_EAX
See Also:
Constant Field Values

PROCESSOR_ELEMENT_ECX

public static final int PROCESSOR_ELEMENT_ECX
See Also:
Constant Field Values

PROCESSOR_ELEMENT_EDX

public static final int PROCESSOR_ELEMENT_EDX
See Also:
Constant Field Values

PROCESSOR_ELEMENT_EBX

public static final int PROCESSOR_ELEMENT_EBX
See Also:
Constant Field Values

PROCESSOR_ELEMENT_ESP

public static final int PROCESSOR_ELEMENT_ESP
See Also:
Constant Field Values

PROCESSOR_ELEMENT_EBP

public static final int PROCESSOR_ELEMENT_EBP
See Also:
Constant Field Values

PROCESSOR_ELEMENT_ESI

public static final int PROCESSOR_ELEMENT_ESI
See Also:
Constant Field Values

PROCESSOR_ELEMENT_EDI

public static final int PROCESSOR_ELEMENT_EDI
See Also:
Constant Field Values

PROCESSOR_ELEMENT_EIP

public static final int PROCESSOR_ELEMENT_EIP
See Also:
Constant Field Values

PROCESSOR_ELEMENT_CFLAG

public static final int PROCESSOR_ELEMENT_CFLAG
See Also:
Constant Field Values

PROCESSOR_ELEMENT_PFLAG

public static final int PROCESSOR_ELEMENT_PFLAG
See Also:
Constant Field Values

PROCESSOR_ELEMENT_AFLAG

public static final int PROCESSOR_ELEMENT_AFLAG
See Also:
Constant Field Values

PROCESSOR_ELEMENT_ZFLAG

public static final int PROCESSOR_ELEMENT_ZFLAG
See Also:
Constant Field Values

PROCESSOR_ELEMENT_SFLAG

public static final int PROCESSOR_ELEMENT_SFLAG
See Also:
Constant Field Values

PROCESSOR_ELEMENT_TFLAG

public static final int PROCESSOR_ELEMENT_TFLAG
See Also:
Constant Field Values

PROCESSOR_ELEMENT_IFLAG

public static final int PROCESSOR_ELEMENT_IFLAG
See Also:
Constant Field Values

PROCESSOR_ELEMENT_DFLAG

public static final int PROCESSOR_ELEMENT_DFLAG
See Also:
Constant Field Values

PROCESSOR_ELEMENT_OFLAG

public static final int PROCESSOR_ELEMENT_OFLAG
See Also:
Constant Field Values

PROCESSOR_ELEMENT_IOPL

public static final int PROCESSOR_ELEMENT_IOPL
See Also:
Constant Field Values

PROCESSOR_ELEMENT_NTFLAG

public static final int PROCESSOR_ELEMENT_NTFLAG
See Also:
Constant Field Values

PROCESSOR_ELEMENT_RFLAG

public static final int PROCESSOR_ELEMENT_RFLAG
See Also:
Constant Field Values

PROCESSOR_ELEMENT_VMFLAG

public static final int PROCESSOR_ELEMENT_VMFLAG
See Also:
Constant Field Values

PROCESSOR_ELEMENT_ACFLAG

public static final int PROCESSOR_ELEMENT_ACFLAG
See Also:
Constant Field Values

PROCESSOR_ELEMENT_VIFLAG

public static final int PROCESSOR_ELEMENT_VIFLAG
See Also:
Constant Field Values

PROCESSOR_ELEMENT_VIPFLAG

public static final int PROCESSOR_ELEMENT_VIPFLAG
See Also:
Constant Field Values

PROCESSOR_ELEMENT_IDFLAG

public static final int PROCESSOR_ELEMENT_IDFLAG
See Also:
Constant Field Values

PROCESSOR_ELEMENT_ES

public static final int PROCESSOR_ELEMENT_ES
See Also:
Constant Field Values

PROCESSOR_ELEMENT_CS

public static final int PROCESSOR_ELEMENT_CS
See Also:
Constant Field Values

PROCESSOR_ELEMENT_SS

public static final int PROCESSOR_ELEMENT_SS
See Also:
Constant Field Values

PROCESSOR_ELEMENT_DS

public static final int PROCESSOR_ELEMENT_DS
See Also:
Constant Field Values

PROCESSOR_ELEMENT_FS

public static final int PROCESSOR_ELEMENT_FS
See Also:
Constant Field Values

PROCESSOR_ELEMENT_GS

public static final int PROCESSOR_ELEMENT_GS
See Also:
Constant Field Values

PROCESSOR_ELEMENT_IDTR

public static final int PROCESSOR_ELEMENT_IDTR
See Also:
Constant Field Values

PROCESSOR_ELEMENT_GDTR

public static final int PROCESSOR_ELEMENT_GDTR
See Also:
Constant Field Values

PROCESSOR_ELEMENT_LDTR

public static final int PROCESSOR_ELEMENT_LDTR
See Also:
Constant Field Values

PROCESSOR_ELEMENT_TSS

public static final int PROCESSOR_ELEMENT_TSS
See Also:
Constant Field Values

PROCESSOR_ELEMENT_CPL

public static final int PROCESSOR_ELEMENT_CPL
See Also:
Constant Field Values

PROCESSOR_ELEMENT_IOPORTS

public static final int PROCESSOR_ELEMENT_IOPORTS
See Also:
Constant Field Values

PROCESSOR_ELEMENT_ADDR0

public static final int PROCESSOR_ELEMENT_ADDR0
See Also:
Constant Field Values

PROCESSOR_ELEMENT_COUNT

public static final int PROCESSOR_ELEMENT_COUNT
See Also:
Constant Field Values

PROCESSOR_ELEMENT_REG0

public static final int PROCESSOR_ELEMENT_REG0
See Also:
Constant Field Values

PROCESSOR_ELEMENT_REG1

public static final int PROCESSOR_ELEMENT_REG1
See Also:
Constant Field Values

PROCESSOR_ELEMENT_REG2

public static final int PROCESSOR_ELEMENT_REG2
See Also:
Constant Field Values

PROCESSOR_ELEMENT_SEG0

public static final int PROCESSOR_ELEMENT_SEG0
See Also:
Constant Field Values

POPABLE_ELEMENT_COUNT

public static final int POPABLE_ELEMENT_COUNT
See Also:
Constant Field Values

PROCESSOR_ELEMENT_MEMORYWRITE

public static final int PROCESSOR_ELEMENT_MEMORYWRITE
See Also:
Constant Field Values

PROCESSOR_ELEMENT_IOPORTWRITE

public static final int PROCESSOR_ELEMENT_IOPORTWRITE
See Also:
Constant Field Values

PROCESSOR_ELEMENT_EXECUTECOUNT

public static final int PROCESSOR_ELEMENT_EXECUTECOUNT
See Also:
Constant Field Values

ELEMENT_COUNT

public static final int ELEMENT_COUNT
See Also:
Constant Field Values

VARIABLE_EXECUTE_COUNT_INDEX

public static final int VARIABLE_EXECUTE_COUNT_INDEX
See Also:
Constant Field Values

VARIABLE_OFFSET

public static final int VARIABLE_OFFSET
See Also:
Constant Field Values
Constructor Detail

FASTCompiler

public FASTCompiler()
Method Detail

getProtectedModeCodeBlock

public ProtectedModeCodeBlock getProtectedModeCodeBlock(InstructionSource source)
Specified by:
getProtectedModeCodeBlock in interface CodeBlockCompiler
Parameters:
source -
Returns:
-

getVirtual8086ModeCodeBlock

public Virtual8086ModeCodeBlock getVirtual8086ModeCodeBlock(InstructionSource source)
Specified by:
getVirtual8086ModeCodeBlock in interface CodeBlockCompiler
Parameters:
source -
Returns:
-

getRealModeCodeBlock

public RealModeCodeBlock getRealModeCodeBlock(InstructionSource source)
Specified by:
getRealModeCodeBlock in interface CodeBlockCompiler
Parameters:
source -
Returns:
-