Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
            }
        }