import java.io.BufferedOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
public class Sim {
private final int[] mem = new int[1 > 16 & 0xF;
int src2 = ir >> 20 & 0xF;
int op = ir >> 24 & 0xF;
int dst = ir >> 28 & 0xF;
int src1v = regs[src1];
int src2v = regs[src2];
alu[0] = src1v + src2v;
alu[1] = -src1v;
alu[2] = src1v & src2v;
alu[3] = src1v | src2v;
int res = alu[op];
regs[dst] = res;
char c = (char) (regs[OUT] & 0x7f);
if(c != 0)
writer.append(c);
if(dst != PC)
regs[PC]++;
regs[PC] = (regs[PC]) & 0xffffff;
}
}