1 package jrre.instructionset.controlflow;
2
3 import jrre.Stack;
4 import jrre.types.PrimitiveType;
5
6 public class Ifge extends jrre.instructionset.Instruction {
7
8 int operandOne;
9 int operandTwo;
10
11 public Ifge(int operandOne, int operandTwo){
12
13 this.operandOne = operandOne;
14 this.operandTwo = operandTwo;
15
16 name = "ifge";
17 description = "foo foo moo poo";
18 length = 2;
19 }
20
21 public void execute(){
22
23 PrimitiveType valueOne = (PrimitiveType)Stack.popOperand();
24
25 if(valueOne.getValue() >= 0){
26
27 //int offset = (operandOne << 8) | operandTwo;
28 int offset = -(65536 - ((operandOne << 8) | operandTwo));
29 if(offset < -60000)
30 offset = ((operandOne << 8) | operandTwo);
31
32 Stack.branch(offset - 2);
33 }
34
35 }
36
37 public String toString(){
38 return "ifge";
39 }
40 }
This page was automatically generated by Maven