package lab06;

public class InstructionDIV extends Instruction {

	public InstructionDIV(int opcode,int mode, int argument) { 
		super(opcode, mode, argument);
	}
	
	@Override
	public boolean isModeValid() { return isModeIMMorDIR(); }
	
	@Override
	public void execute(CPU cpu) { 
		if (fetchOperand(cpu)==0) {
			System.out.println("Attempted to Divide by Zero ignored");
			Trace.message(this + " ERROR: divide by zero!");
			return;
		}
		cpu.setAccumulator(cpu.getAccumulator()/fetchOperand(cpu));
		Trace.message(this + " acc=" + cpu.getAccumulator());
	}
}
