예제 #1
0
파일: jmp_Jd.java 프로젝트: agimat/JPC
 public Branch execute(Processor cpu) {
   cpu.eip += blockLength;
   int tmpEip = cpu.eip + jmp;
   cpu.cs.checkAddress(tmpEip);
   cpu.eip = tmpEip;
   return Branch.T1;
 }
예제 #2
0
파일: jcxz_Jw.java 프로젝트: agimat/JPC
 public Branch execute(Processor cpu) {
   if (cpu.r_cx.get16() == 0) {
     int target = (cpu.eip + jmp + blockLength) & 0xffff;
     cpu.cs.checkAddress(target);
     cpu.eip = target;
     return Branch.T1;
   } else {
     cpu.eip += blockLength;
     return Branch.T2;
   }
 }
예제 #3
0
파일: jno_Jb.java 프로젝트: agimat/JPC
 public Branch execute(Processor cpu) {
   if (!cpu.of()) {
     int tmpEip = cpu.eip + jmp + blockLength;
     cpu.cs.checkAddress(tmpEip);
     cpu.eip = tmpEip;
     return Branch.T1;
   } else {
     cpu.eip += blockLength;
     return Branch.T2;
   }
 }