1 package com.tapina.robe.runtime.instruction;
2
3 import com.tapina.robe.runtime.CPU;
4
5 import java.io.Writer;
6 import java.io.IOException;
7
8 /***
9 * Created by IntelliJ IDEA.
10 * User: gareth
11 * Date: Aug 23, 2003
12 * Time: 10:56:45 PM
13 */
14 public abstract class Operator {
15 public abstract int getValue(int op1, int op2, CPU cpu, boolean setConditionFlags);
16
17 static void setZNFlags(int result, CPU cpu) {
18 if (result == 0) {
19 cpu.setZ();
20 } else {
21 cpu.clearZ();
22 }
23 if (result < 0) {
24 cpu.setN();
25 } else {
26 cpu.clearN();
27 }
28 }
29
30 public abstract void dumpJavaSource(String varName, boolean setFlags, Writer out) throws IOException;
31 }