Example #1
0
        /// <summary>
        /// Returns a <see cref="System.String" /> that represents this operation.
        /// </summary>
        /// <returns>
        /// A <see cref="System.String" /> that represents this operation.
        /// </returns>
        public override string ToString()
        {
            var sb = new StringBuilder($"0x{Address:x4}   {OpCode.GetMnemonic()}");

            if (FlagTest != FlagTest.None)
            {
                sb.Append($" {GetFlagTestString(FlagTest)}");
            }

            if (Operand1 != Operand.None)
            {
                sb.Append($" {GetOperandString(Operand1)}");
            }

            if (Operand2 != Operand.None)
            {
                sb.Append($", {GetOperandString(Operand2)}");
            }

            if (OpCode == OpCode.JumpRelative || OpCode == OpCode.DecrementJumpRelativeIfNonZero)
            {
                sb.Append($" {Displacement}");
            }

            return(sb.ToString());
        }