nl.kbna.dioscuri.module.cpu
Class Instruction_GRP7

java.lang.Object
  extended by nl.kbna.dioscuri.module.cpu.Instruction_GRP7
All Implemented Interfaces:
Instruction

public class Instruction_GRP7
extends java.lang.Object
implements Instruction

Intel opcode 0F 01
Group 7 opcode extension: SGDT, SIDT, LGDT, LIDT, SMSW, LMSW, INVLPG.
Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte).
Flags modified: depending on instruction can be any of: OF, SF, ZF, AF, PF, CF


Field Summary
(package private)  byte addressByte
           
private  CPU cpu
           
(package private)  byte[] destinationRegister
           
(package private)  int iCarryFlag
           
(package private)  int intermediateResult
           
private static java.util.logging.Logger logger
           
(package private)  byte[] memoryReferenceDisplacement
           
(package private)  byte[] memoryReferenceLocation
           
(package private)  byte[] oldValue
           
(package private)  boolean operandWordSize
           
(package private)  byte[] sourceValue1
           
(package private)  byte[] sourceValue2
           
(package private)  byte[] temp
           
(package private)  byte[] tempResult
           
(package private)  byte[] word0x0001
           
 
Constructor Summary
Instruction_GRP7()
          Class constructor
Instruction_GRP7(CPU processor)
          Class constructor specifying processor reference
 
Method Summary
 void execute()
          Execute any of the following Group 7 instructions: SGDT, SIDT, LGDT, LIDT, SMSW, LMSW, INVLPG.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cpu

private CPU cpu

operandWordSize

boolean operandWordSize

addressByte

byte addressByte

memoryReferenceLocation

byte[] memoryReferenceLocation

memoryReferenceDisplacement

byte[] memoryReferenceDisplacement

sourceValue1

byte[] sourceValue1

sourceValue2

byte[] sourceValue2

oldValue

byte[] oldValue

destinationRegister

byte[] destinationRegister

intermediateResult

int intermediateResult

word0x0001

byte[] word0x0001

iCarryFlag

int iCarryFlag

tempResult

byte[] tempResult

temp

byte[] temp

logger

private static java.util.logging.Logger logger
Constructor Detail

Instruction_GRP7

public Instruction_GRP7()
Class constructor


Instruction_GRP7

public Instruction_GRP7(CPU processor)
Class constructor specifying processor reference

Parameters:
processor - Reference to CPU class
Method Detail

execute

public void execute()
             throws CPUInstructionException
Execute any of the following Group 7 instructions: SGDT, SIDT, LGDT, LIDT, SMSW, LMSW, INVLPG.

Specified by:
execute in interface Instruction
Throws:
CPUInstructionException