private string ToCmmString(bool virtualString)
{
if (Value is byte)
return "0x" + ((byte)Value).ToString("X2");
if (Value is sbyte)
return "0x" + ((sbyte)Value).ToString("X2");
if (Value is short)
return "0x" + ((short)Value).ToString("X4");
if (Value is ushort)
return "0x" + ((ushort)Value).ToString("X4");
if (Value is int)
return "0x" + ((int)Value).ToString("X8");
if (Value is uint)
return "0x" + ((uint)Value).ToString("X8");
if (Value is long)
return "0x" + ((long)Value).ToString("X16");
if (Value is ulong)
return "0x" + ((ulong)Value).ToString("X16");
if (Value is Offset)
{
Offset offset = ((Offset)Value);
string format = "v";
if (!virtualString)
{
if (this.ValueType == OperandType.Normal)
format = "o";
else
format = "v";
}
return offset.ToString(format);
}
if (Value is x86Instruction)
return ((x86Instruction)Value).ToAsmString(virtualString);
return Value.ToString();
}