private OpcodeParamResult ParseParam(string param)
{
var opcodeParamResult = new OpcodeParamResult();
var clearedParameter = param.Replace(" ", string.Empty).Trim();
if (this.registerDictionary.ContainsKey(clearedParameter))
{
opcodeParamResult.Param = (ushort)this.registerDictionary[clearedParameter];
}
else
{
if ((clearedParameter.StartsWith("[") || clearedParameter.StartsWith("(")) && (clearedParameter.EndsWith("]") || clearedParameter.EndsWith(")")))
{
clearedParameter = clearedParameter.Substring(1, clearedParameter.Length - 2).Replace(" ", string.Empty);
if (clearedParameter.Contains("+"))
{
opcodeParamResult = ParseMemoryAddressPlusRegisterParameter(opcodeParamResult, clearedParameter);
}
else
{
opcodeParamResult = ParseMemoryAddressParameter(opcodeParamResult, clearedParameter);
}
}
else
{
ParseLiteralParameter (opcodeParamResult, clearedParameter);
}
}
return opcodeParamResult;
}