public string ToAsmString(INESAsmFormatting formats) => Name;
//public override string ToString() { //var matchName = VarRegistry.Where(x => x.Value.Address.Any(x => x.Hi == Hi && x.Lo == Lo)).FirstOrDefault().Key; //if (string.IsNullOrEmpty(matchName)) // return base.ToString(); //var matchVar = VarRegistry[matchName]; //var matchByteInstance = matchVar.Address.Where(x => x.Hi == Hi && x.Lo == Lo).FirstOrDefault(); //necessary instead of "this" because instance refs may be different //int? index = (matchVar.Address.Length > 1 && matchByteInstance != null) ? matchVar.Address.ToList().IndexOf(matchByteInstance) : (int?)null; //return matchName + (index!=null ? $"[{index}]" : ""); //} public string ToAsmString(INESAsmFormatting formats) => string.Format(formats.AddressFormat, this);
public string ToAsmString(INESAsmFormatting formats) => ToString() ?? nameof(IndexingRegister);