package hatelace.instructions; import hatelace.*; public class Add extends Instruction { private Address src; private Word imm; private Address dest; /** Add immediate value to memory address. */ public Add(Address src, Word imm, Address dest) { this.src = src; this.imm = imm; this.dest = dest; } public void execute(Memory memory, ProgramCounter PC) { memory.write(this.dest, memory.read(this.src).add(this.imm)); PC.incPC(); } protected String opcode() { return "ADD"; } public String toString() { return String.format("%s [%s] %s [%s]", this.opcode(), this.src, this.imm, this.dest); } protected Object[] operands() { return new Object[] { this.src, this.imm, this.dest }; } }