예제 #1
0
 public Branch execute(Processor cpu) {
   Reg op1 = cpu.regs[op1Index];
   if (op2.get16(cpu) == 0) {
     cpu.zf(true);
   } else {
     cpu.zf(false);
     op1.set16(31 - StaticOpcodes.numberOfLeadingZeros(0xFFFF & op2.get16(cpu)));
   }
   return Branch.None;
 }
예제 #2
0
 public Branch execute(Processor cpu) {
   Segment seg = cpu.segs[segIndex];
   if (cpu.checkIOPermissions8(cpu.r_dx.get16() & 0xffff)) StaticOpcodes.rep_outsb_a32(cpu, seg);
   else throw ProcessorException.GENERAL_PROTECTION_0;
   return Branch.None;
 }
예제 #3
0
 public Branch execute(Processor cpu) {
   StaticOpcodes.rep_stosd_a32(cpu);
   return Branch.None;
 }
예제 #4
0
파일: cmpsb_a32.java 프로젝트: agimat/JPC
 public Branch execute(Processor cpu) {
   Segment seg = cpu.segs[segIndex];
   StaticOpcodes.cmpsb_a32(cpu, seg);
   return Branch.None;
 }