protected override void DoRender(MachineInstructionRenderer renderer, MachineInstructionRendererOptions options) { renderer.WriteChar('{'); var sep = ""; if (Repeat >= 3 && iRegStart + Repeat <= 0x20) { VectorRegisterOperand.WriteName(Width.BitSize, registers[iRegStart], ElementType, Index, renderer); renderer.WriteChar('-'); VectorRegisterOperand.WriteName(Width.BitSize, registers[iRegStart + Repeat - 1], ElementType, Index, renderer); } else { foreach (var reg in GetRegisters()) { renderer.WriteString(sep); sep = ","; VectorRegisterOperand.WriteName(Width.BitSize, reg, ElementType, Index, renderer); } } renderer.WriteChar('}'); if (Index >= 0) { renderer.WriteFormat("[{0}]", Index); } }
public override void Write(MachineInstructionWriter writer, MachineInstructionWriterOptions options) { writer.WriteChar('{'); var sep = ""; foreach (var reg in GetRegisters()) { writer.WriteString(sep); sep = ","; VectorRegisterOperand.WriteName(Width.BitSize, reg, ElementType, Index, writer); } writer.WriteChar('}'); if (Index >= 0) { writer.WriteFormat("[{0}]", Index); } }