11211122112311241125112611271128112911301131113211331134113511361137113811391140
break; case SYSCALL: if (feeble[SYSCALL]) { throw new IllegalInstructionException(); } else { intSp=0; // flush internal stack syscall.syscall(this); } break; default: throw new IllegalInstructionException(); } } } if (!touchedPc) {
13071308130913101311131213131314131513161317
if (tracer.onInterrupt()&&!inInterrupt) { if (!timer) { throw new IllegalInstructionException(); } inInterrupt=true; timerPending=true; throw new InterruptException();
19071908190919101911191219131914191519161917
public void setSp(int sp) throws CPUException { if ((sp%4)!=0) { throw new IllegalInstructionException(); } if (sp<minStack) { minStack=sp;