// Copyright 2011-2012 Paulo Augusto Peccin. See licence.txt distributed with this file. package org.javatari.general.m6502.instructions; import org.javatari.general.m6502.Instruction; import org.javatari.general.m6502.M6502; import org.javatari.general.m6502.Register; public final class INx extends Instruction { public INx(M6502 cpu, int reg) { super(cpu); this.reg = reg; } @Override public int fetch() { return 2; } @Override public void execute() { final byte val; if (reg == Register.rX) { val = (byte) (cpu.X + 1); cpu.X = val; } else if (reg == Register.rY) { val = (byte) (cpu.Y + 1); cpu.Y = val; } else throw new IllegalStateException("INx Invalid Register: " + reg); cpu.ZERO = val == 0; cpu.NEGATIVE = val < 0; } private final int reg; public static final long serialVersionUID = 1L; }