package lab06;

public class InstructionAND extends Instruction {

	public InstructionAND(int opcode,int mode, int argument) { 
		super(opcode, mode, argument);
	}
	
	@Override
	public boolean isModeValid() { return isModeIMMorDIR(); }

	@Override
	public void execute(CPU cpu) { 
		int newValue = ((fetchOperand(cpu) != 0) && (cpu.getAccumulator() != 0) ? 1 : 0);
		cpu.setAccumulator(newValue);
		Trace.message(this + " acc=" + cpu.getAccumulator());
	}
}
