X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fnestedvm%2FInterpreter.java;h=df9a11114545a24b1be7fa8f82337cca9451af88;hb=d63db5ad45b5fd3121c4cf267d08a67d60751fc2;hp=3ad9f4e17a91e73bb358ffe918ac96e9f03b74e9;hpb=18b5a6a40bca8c57f77b9fc7a8bb4b956841c631;p=nestedvm.git diff --git a/src/org/ibex/nestedvm/Interpreter.java b/src/org/ibex/nestedvm/Interpreter.java index 3ad9f4e..df9a111 100644 --- a/src/org/ibex/nestedvm/Interpreter.java +++ b/src/org/ibex/nestedvm/Interpreter.java @@ -125,7 +125,7 @@ public class Interpreter extends UnixRuntime implements Cloneable { continue OUTER; case 12: // SYSCALL this.pc = pc; - r[V0] = syscall(r[V0],r[A0],r[A1],r[A2],r[A3]); + r[V0] = syscall(r[V0],r[A0],r[A1],r[A2],r[A3],r[T0],r[T1]); if(state != RUNNING) { this.pc = nextPC; break OUTER; } break; case 13: // BREAK @@ -143,7 +143,7 @@ public class Interpreter extends UnixRuntime implements Cloneable { lo = r[rs]; break; case 24: { // MULT - long hilo = (long)(r[rs]) * ((long)r[rt]); + long hilo = ((long)r[rs]) * ((long)r[rt]); hi = (int) (hilo >>> 32); lo = (int) hilo; break; @@ -363,6 +363,9 @@ public class Interpreter extends UnixRuntime implements Cloneable { case 60: // C.LT.S setFC(getFloat(fs) < getFloat(ft)); break; + case 62: // C.LE.S + setFC(getFloat(fs) <= getFloat(ft)); + break; default: throw new ExecutionException("Invalid Instruction 17/" + rs + "/" + subcode + " at " + sourceLine(pc)); } break;