00001 package gov.nasa.arc.ase.jpf.jvm.bytecode; 00002 00003 import gov.nasa.arc.ase.jpf.*; 00004 import gov.nasa.arc.ase.jpf.jvm.*; 00005 import de.fub.bytecode.generic.InstructionHandle; 00006 import gov.nasa.arc.ase.util.Debug; 00007 00008 public class DSUB extends AbstractInstruction { 00009 private de.fub.bytecode.generic.DSUB peer; 00010 00011 public InstructionHandle execute(SystemState ss, KernelState ks, ThreadInfo th) { 00012 double v1 = Types.longToDouble(th.pop2()); 00013 double v2 = Types.longToDouble(th.pop2()); 00014 00015 th.push2(Types.doubleToLong(v2 - v1)); 00016 00017 return th.getPC().getNext(); 00018 } 00019 public void setPeer(de.fub.bytecode.generic.Instruction i) { 00020 peer = (de.fub.bytecode.generic.DSUB)i; 00021 } 00022 }