示例#1
0
 public Branch execute(Processor cpu) {
   System.out.println("Warning: Using incomplete opcode: FRSTOR_94");
   int addr = op1.get(cpu);
   cpu.fpu.setControl(cpu.linearMemory.getWord(addr));
   cpu.fpu.setStatus(cpu.linearMemory.getWord(addr + 2));
   cpu.fpu.setTagWord(cpu.linearMemory.getWord(addr + 4));
   // cpu.linearMemory.setWord(addr + 6, (short) 0 /* cpu.fpu.getIP()  offset*/);
   // cpu.linearMemory.setWord(addr + 8, (short) 0 /* (selector & 0xFFFF)*/);
   // cpu.linearMemory.setWord(addr + 10, (short) 0 /* operand pntr offset*/);
   // cpu.linearMemory.setWord(addr + 12, (short) 0 /* operand pntr selector & 0xFFFF*/);
   // for (int i = 0; i < 8; i++) {
   //    byte[] extended = FpuState64.doubleToExtended(fpu.ST(i), false /* this is WRONG!!!!!!!
   // */);
   //    for (int j = 0; j < 10; j++)
   //       seg0.setByte(addr0 + 14 + j + (10 * i), extended[j]);
   // }
   return Branch.None;
 }
示例#2
0
 public Branch execute(Processor cpu) {
   int addr = op1.get(cpu) + op1.getBase(cpu);
   cpu.linearMemory.setWord(addr, (short) cpu.idtr.getLimit());
   cpu.linearMemory.setDoubleWord(addr + 2, cpu.idtr.getBase() & 0x00ffffff);
   return Branch.None;
 }