dioscuri.module.cpu32
Class FpuState64
java.lang.Object
dioscuri.module.cpu32.FpuState
dioscuri.module.cpu32.FpuState64
- All Implemented Interfaces:
- Hibernatable
public class FpuState64
- extends FpuState
- Author:
- Bram Lohman, Bart Kiers
Fields inherited from class dioscuri.module.cpu32.FpuState |
conditionCode, FPU_PRECISION_CONTROL_DOUBLE, FPU_PRECISION_CONTROL_EXTENDED, FPU_PRECISION_CONTROL_SINGLE, FPU_ROUNDING_CONTROL_DOWN, FPU_ROUNDING_CONTROL_EVEN, FPU_ROUNDING_CONTROL_TRUNCATE, FPU_ROUNDING_CONTROL_UP, FPU_TAG_EMPTY, FPU_TAG_SPECIAL, FPU_TAG_VALID, FPU_TAG_ZERO, infinityControl, lastData, lastIP, lastOpcode, STACK_DEPTH, top |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
FPU_SPECIAL_TAG_NONE
public static final int FPU_SPECIAL_TAG_NONE
- See Also:
- Constant Field Values
FPU_SPECIAL_TAG_NAN
public static final int FPU_SPECIAL_TAG_NAN
- See Also:
- Constant Field Values
FPU_SPECIAL_TAG_UNSUPPORTED
public static final int FPU_SPECIAL_TAG_UNSUPPORTED
- See Also:
- Constant Field Values
FPU_SPECIAL_TAG_INFINITY
public static final int FPU_SPECIAL_TAG_INFINITY
- See Also:
- Constant Field Values
FPU_SPECIAL_TAG_DENORMAL
public static final int FPU_SPECIAL_TAG_DENORMAL
- See Also:
- Constant Field Values
FPU_SPECIAL_TAG_SNAN
public static final int FPU_SPECIAL_TAG_SNAN
- See Also:
- Constant Field Values
UNDERFLOW_THRESHOLD
public static final double UNDERFLOW_THRESHOLD
FpuState64
public FpuState64(Processor owner)
- Parameters:
owner
-
dumpState
public void dumpState(java.io.DataOutput output)
throws java.io.IOException
- Specified by:
dumpState
in class FpuState
- Parameters:
output
-
- Throws:
java.io.IOException
loadState
public void loadState(java.io.DataInput input)
throws java.io.IOException
- Specified by:
loadState
in class FpuState
- Parameters:
input
-
- Throws:
java.io.IOException
getInvalidOperation
public boolean getInvalidOperation()
- Specified by:
getInvalidOperation
in class FpuState
- Returns:
- -
getDenormalizedOperand
public boolean getDenormalizedOperand()
- Specified by:
getDenormalizedOperand
in class FpuState
- Returns:
- -
getZeroDivide
public boolean getZeroDivide()
- Specified by:
getZeroDivide
in class FpuState
- Returns:
- -
getOverflow
public boolean getOverflow()
- Specified by:
getOverflow
in class FpuState
- Returns:
- -
getUnderflow
public boolean getUnderflow()
- Specified by:
getUnderflow
in class FpuState
- Returns:
- -
getPrecision
public boolean getPrecision()
- Specified by:
getPrecision
in class FpuState
- Returns:
- -
getStackFault
public boolean getStackFault()
- Specified by:
getStackFault
in class FpuState
- Returns:
- -
setInvalidOperation
public void setInvalidOperation()
- Specified by:
setInvalidOperation
in class FpuState
setDenormalizedOperand
public void setDenormalizedOperand()
- Specified by:
setDenormalizedOperand
in class FpuState
setZeroDivide
public void setZeroDivide()
- Specified by:
setZeroDivide
in class FpuState
setOverflow
public void setOverflow()
- Specified by:
setOverflow
in class FpuState
setUnderflow
public void setUnderflow()
- Specified by:
setUnderflow
in class FpuState
setPrecision
public void setPrecision()
- Specified by:
setPrecision
in class FpuState
setStackFault
public void setStackFault()
- Specified by:
setStackFault
in class FpuState
getBusy
public boolean getBusy()
- Specified by:
getBusy
in class FpuState
- Returns:
- -
getErrorSummaryStatus
public boolean getErrorSummaryStatus()
- Specified by:
getErrorSummaryStatus
in class FpuState
- Returns:
- -
checkExceptions
public void checkExceptions()
throws ProcessorException
- Specified by:
checkExceptions
in class FpuState
- Throws:
ProcessorException
clearExceptions
public void clearExceptions()
- Specified by:
clearExceptions
in class FpuState
getInvalidOperationMask
public boolean getInvalidOperationMask()
- Specified by:
getInvalidOperationMask
in class FpuState
- Returns:
- -
getDenormalizedOperandMask
public boolean getDenormalizedOperandMask()
- Specified by:
getDenormalizedOperandMask
in class FpuState
- Returns:
- -
getZeroDivideMask
public boolean getZeroDivideMask()
- Specified by:
getZeroDivideMask
in class FpuState
- Returns:
- -
getOverflowMask
public boolean getOverflowMask()
- Specified by:
getOverflowMask
in class FpuState
- Returns:
- -
getUnderflowMask
public boolean getUnderflowMask()
- Specified by:
getUnderflowMask
in class FpuState
- Returns:
- -
getPrecisionMask
public boolean getPrecisionMask()
- Specified by:
getPrecisionMask
in class FpuState
- Returns:
- -
getPrecisionControl
public int getPrecisionControl()
- Specified by:
getPrecisionControl
in class FpuState
- Returns:
- -
getRoundingControl
public int getRoundingControl()
- Specified by:
getRoundingControl
in class FpuState
- Returns:
- -
setInvalidOperationMask
public void setInvalidOperationMask(boolean value)
- Specified by:
setInvalidOperationMask
in class FpuState
- Parameters:
value
-
setDenormalizedOperandMask
public void setDenormalizedOperandMask(boolean value)
- Specified by:
setDenormalizedOperandMask
in class FpuState
- Parameters:
value
-
setZeroDivideMask
public void setZeroDivideMask(boolean value)
- Specified by:
setZeroDivideMask
in class FpuState
- Parameters:
value
-
setOverflowMask
public void setOverflowMask(boolean value)
- Specified by:
setOverflowMask
in class FpuState
- Parameters:
value
-
setUnderflowMask
public void setUnderflowMask(boolean value)
- Specified by:
setUnderflowMask
in class FpuState
- Parameters:
value
-
setPrecisionMask
public void setPrecisionMask(boolean value)
- Specified by:
setPrecisionMask
in class FpuState
- Parameters:
value
-
setAllMasks
public void setAllMasks(boolean value)
- Specified by:
setAllMasks
in class FpuState
- Parameters:
value
-
setPrecisionControl
public void setPrecisionControl(int value)
- Specified by:
setPrecisionControl
in class FpuState
- Parameters:
value
-
setRoundingControl
public void setRoundingControl(int value)
- Specified by:
setRoundingControl
in class FpuState
- Parameters:
value
-
init
public void init()
- Specified by:
init
in class FpuState
tagCode
public int tagCode(double x)
- Parameters:
x
-
- Returns:
- -
isDenormal
public static boolean isDenormal(double x)
- Parameters:
x
-
- Returns:
- -
isSNaN
public static boolean isSNaN(long n)
- Parameters:
n
-
- Returns:
- -
specialTagCode
public static int specialTagCode(double x)
- Parameters:
x
-
- Returns:
- -
push
public void push(double x)
throws ProcessorException
- Specified by:
push
in class FpuState
- Parameters:
x
-
- Throws:
ProcessorException
pop
public double pop()
throws ProcessorException
- Specified by:
pop
in class FpuState
- Returns:
- -
- Throws:
ProcessorException
ST
public double ST(int index)
throws ProcessorException
- Specified by:
ST
in class FpuState
- Parameters:
index
-
- Returns:
- -
- Throws:
ProcessorException
getTag
public int getTag(int index)
- Specified by:
getTag
in class FpuState
- Parameters:
index
-
- Returns:
- -
getSpecialTag
public int getSpecialTag(int index)
- Parameters:
index
-
- Returns:
- -
setST
public void setST(int index,
double value)
- Specified by:
setST
in class FpuState
- Parameters:
index
- value
-
getStatus
public int getStatus()
- Specified by:
getStatus
in class FpuState
- Returns:
- -
setStatus
public void setStatus(int w)
- Specified by:
setStatus
in class FpuState
- Parameters:
w
-
getControl
public int getControl()
- Specified by:
getControl
in class FpuState
- Returns:
- -
setControl
public void setControl(int w)
- Specified by:
setControl
in class FpuState
- Parameters:
w
-
getTagWord
public int getTagWord()
- Specified by:
getTagWord
in class FpuState
- Returns:
- -
setTagWord
public void setTagWord(int w)
- Specified by:
setTagWord
in class FpuState
- Parameters:
w
-
doubleToExtended
public static byte[] doubleToExtended(double x,
boolean isSignalNaN)
- Parameters:
x
- isSignalNaN
-
- Returns:
- -
specialTagCode
public static int specialTagCode(byte[] b)
- Parameters:
b
-
- Returns:
- -
extendedToDouble
public static double extendedToDouble(byte[] b)
- Parameters:
b
-
- Returns:
- -