/** Returns a copy of the current operand. */ public Operand copy() { RegisterOperand newBase = (base != null) ? (RegisterOperand) base.copy() : null; RegisterOperand newIndex = (index != null) ? (RegisterOperand) index.copy() : null; LocationOperand newLoc = (loc != null) ? (LocationOperand) loc.copy() : null; Operand newGuard = (guard != null) ? guard.copy() : null; return new MemoryOperand(newBase, newIndex, scale, disp, size, newLoc, newGuard); }
public MemoryOperand( RegisterOperand base, RegisterOperand index, byte scale, Offset disp, byte size, LocationOperand loc, Operand guard) { this.loc = loc; this.guard = guard; this.base = base; this.index = index; this.scale = scale; this.disp = disp; this.size = size; if (loc != null) loc.instruction = null; if (guard != null) guard.instruction = null; if (base != null) base.instruction = null; if (index != null) index.instruction = null; }