From da5833caef0593ea962ff9a345d97ab07180e9fb Mon Sep 17 00:00:00 2001 From: Andy McFadden Date: Fri, 17 Jan 2020 18:29:20 -0800 Subject: [PATCH] Rename project/platform symbols that clash with opcode mnemonics We're doing this for user labels but not for project/platform symbols. So if you have a constant named "BCC" you can't assemble your code with certain assemblers. Now we rename it automatically. Added a quick test to 2007-labels-and-symbols. (No change to ACME, which barfs on the test.) --- SourceGen/AsmGen/GenCommon.cs | 3 +- SourceGen/AsmGen/LabelLocalizer.cs | 11 + .../SGTestData/2007-labels-and-symbols.dis65 | 1274 +++++++++++++---- .../Expected/2007-labels-and-symbols_64tass.S | 3 +- .../2007-labels-and-symbols_Merlin32.S | 3 +- .../Expected/2007-labels-and-symbols_cc65.S | 3 +- 6 files changed, 1036 insertions(+), 261 deletions(-) diff --git a/SourceGen/AsmGen/GenCommon.cs b/SourceGen/AsmGen/GenCommon.cs index 24f67b1..de3b1d3 100644 --- a/SourceGen/AsmGen/GenCommon.cs +++ b/SourceGen/AsmGen/GenCommon.cs @@ -159,7 +159,8 @@ namespace SourceGen.AsmGen { string valueStr = PseudoOp.FormatNumericOperand(formatter, proj.SymbolTable, gen.Localizer.LabelMap, defSym.DataDescriptor, defSym.Value, 1, PseudoOp.FormatNumericOpFlags.OmitLabelPrefixSuffix); - gen.OutputEquDirective(defSym.Label, valueStr, defSym.Comment); + string labelStr = gen.Localizer.ConvLabel(defSym.Label); + gen.OutputEquDirective(labelStr, valueStr, defSym.Comment); prevConst = defSym.IsConstant; } diff --git a/SourceGen/AsmGen/LabelLocalizer.cs b/SourceGen/AsmGen/LabelLocalizer.cs index b88cc6f..c6863dc 100644 --- a/SourceGen/AsmGen/LabelLocalizer.cs +++ b/SourceGen/AsmGen/LabelLocalizer.cs @@ -293,6 +293,17 @@ namespace SourceGen.AsmGen { allGlobalLabels.Add(newLabel, newLabel); } + // Remap any project/platform symbols that clash with opcode mnemonics. + foreach (DefSymbol defSym in mProject.ActiveDefSymbolList) { + if (opNames != null && opNames.ContainsKey(defSym.Label.ToUpperInvariant())) { + // Clashed with mnemonic. Uniquify it. + Debug.WriteLine("Renaming clashing def sym: " + defSym.Label); + string newLabel = MakeUnique(defSym.Label, allGlobalLabels); + LabelMap[defSym.Label] = newLabel; + allGlobalLabels.Add(newLabel, newLabel); + } + } + // // Step 4: remap local labels. There are two operations here. // diff --git a/SourceGen/SGTestData/2007-labels-and-symbols.dis65 b/SourceGen/SGTestData/2007-labels-and-symbols.dis65 index 39f1abd..063a697 100644 --- a/SourceGen/SGTestData/2007-labels-and-symbols.dis65 +++ b/SourceGen/SGTestData/2007-labels-and-symbols.dis65 @@ -1,406 +1,1166 @@ ### 6502bench SourceGen dis65 v1.0 ### { -"_ContentVersion":1,"FileDataLength":695,"FileDataCrc32":1242388944,"ProjectProps":{ -"CpuName":"65816","IncludeUndocumentedInstr":false,"EntryFlags":33489103,"AnalysisParams":{ -"AnalyzeUncategorizedData":true,"MinCharsForString":4,"SeekNearbyTargets":true}, -"PlatformSymbolFileIdentifiers":["PROJ:2007-labels-and-symbols.sym65","RT:TestData/TestSyms.sym65"],"ExtensionScriptFileIdentifiers":[],"ProjectSyms":{ +"_ContentVersion":3, +"FileDataLength":695, +"FileDataCrc32":1242388944, +"ProjectProps":{ +"CpuName":"65816", +"IncludeUndocumentedInstr":false, +"TwoByteBrk":false, +"EntryFlags":33489103, +"AutoLabelStyle":"Simple", +"AnalysisParams":{ +"AnalyzeUncategorizedData":true, +"DefaultTextScanMode":"LowHighAscii", +"MinCharsForString":4, +"SeekNearbyTargets":true, +"SmartPlpHandling":true}, + +"PlatformSymbolFileIdentifiers":["PROJ:2007-labels-and-symbols.sym65", +"RT:TestData/TestSyms.sym65"], +"ExtensionScriptFileIdentifiers":[], +"ProjectSyms":{ +"BMI":{ +"DataDescriptor":{ +"Length":1, +"Format":"NumericLE", +"SubFormat":"Hex", +"SymbolRef":null}, + +"Comment":"opcode mnemonic", +"HasWidth":false, +"Direction":"ReadWrite", +"MultiMask":null, +"Label":"BMI", +"Value":48, +"Source":"Project", +"Type":"Constant", +"LabelAnno":"None"}, + "nextchunk":{ "DataDescriptor":{ -"Length":1,"Format":"NumericLE","SubFormat":"Decimal","SymbolRef":null}, -"Comment":"should be replaced by user label","Label":"nextchunk","Value":50,"Source":"Project","Type":"ExternalAddr"}, +"Length":1, +"Format":"NumericLE", +"SubFormat":"Decimal", +"SymbolRef":null}, + +"Comment":"should be replaced by user label", +"HasWidth":false, +"Direction":"ReadWrite", +"MultiMask":null, +"Label":"nextchunk", +"Value":50, +"Source":"Project", +"Type":"ExternalAddr", +"LabelAnno":"None"}, + "projalsa":{ "DataDescriptor":{ -"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null}, -"Comment":"same val as projalso","Label":"projalsa","Value":12800,"Source":"Project","Type":"ExternalAddr"}, +"Length":1, +"Format":"NumericLE", +"SubFormat":"Hex", +"SymbolRef":null}, + +"Comment":"same val as projalso", +"HasWidth":false, +"Direction":"ReadWrite", +"MultiMask":null, +"Label":"projalsa", +"Value":12800, +"Source":"Project", +"Type":"ExternalAddr", +"LabelAnno":"None"}, + "projalsz":{ "DataDescriptor":{ -"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null}, -"Comment":"same val as projalso","Label":"projalsz","Value":12800,"Source":"Project","Type":"ExternalAddr"}, +"Length":1, +"Format":"NumericLE", +"SubFormat":"Hex", +"SymbolRef":null}, + +"Comment":"same val as projalso", +"HasWidth":false, +"Direction":"ReadWrite", +"MultiMask":null, +"Label":"projalsz", +"Value":12800, +"Source":"Project", +"Type":"ExternalAddr", +"LabelAnno":"None"}, + "projover":{ "DataDescriptor":{ -"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null}, -"Comment":"replaces platform symbol","Label":"projover","Value":16384,"Source":"Project","Type":"ExternalAddr"}, +"Length":1, +"Format":"NumericLE", +"SubFormat":"Hex", +"SymbolRef":null}, + +"Comment":"replaces platform symbol", +"HasWidth":false, +"Direction":"ReadWrite", +"MultiMask":null, +"Label":"projover", +"Value":16384, +"Source":"Project", +"Type":"ExternalAddr", +"LabelAnno":"None"}, + "thirty2":{ "DataDescriptor":{ -"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null}, -"Comment":"32-bit constant test","Label":"thirty2","Value":305419896,"Source":"Project","Type":"Constant"}}}, +"Length":1, +"Format":"NumericLE", +"SubFormat":"Hex", +"SymbolRef":null}, + +"Comment":"32-bit constant test", +"HasWidth":false, +"Direction":"ReadWrite", +"MultiMask":null, +"Label":"thirty2", +"Value":305419896, +"Source":"Project", +"Type":"Constant", +"LabelAnno":"None"}}}, + "AddressMap":[{ -"Offset":0,"Addr":74565}, +"Offset":0, +"Addr":74565}, + { -"Offset":279,"Addr":4096}],"TypeHints":[{ -"Low":0,"High":0,"Hint":"Code"}],"StatusFlagOverrides":{ +"Offset":279, +"Addr":4096}], +"TypeHints":[{ +"Low":0, +"High":0, +"Hint":"Code"}], +"StatusFlagOverrides":{ }, + "Comments":{ -"397":"bulky","509":"stringy"}, +"397":"bulky", +"509":"stringy"}, + "LongComments":{ "-2147483647":{ -"Text":"Project was edited to add a label in the middle of a dense hex region, and add a duplicate label.","BoxMode":false,"MaxWidth":80,"BackgroundColor":0}}, +"Text":"Project was edited to add a label in the middle of a dense hex region, and add a duplicate label.", +"BoxMode":false, +"MaxWidth":80, +"BackgroundColor":0}}, + "Notes":{ }, + "UserLabels":{ "0":{ -"Label":"start","Value":74565,"Source":"User","Type":"LocalOrGlobalAddr"}, +"Label":"start", +"Value":74565, +"Source":"User", +"Type":"LocalOrGlobalAddr", +"LabelAnno":"None"}, + "254":{ -"Label":"skipdata","Value":74819,"Source":"User","Type":"LocalOrGlobalAddr"}, +"Label":"skipdata", +"Value":74819, +"Source":"User", +"Type":"LocalOrGlobalAddr", +"LabelAnno":"None"}, + "275":{ -"Label":"nextchunk","Value":74840,"Source":"User","Type":"LocalOrGlobalAddr"}, +"Label":"nextchunk", +"Value":74840, +"Source":"User", +"Type":"LocalOrGlobalAddr", +"LabelAnno":"None"}, + "280":{ -"Label":"L1000","Value":4097,"Source":"User","Type":"LocalOrGlobalAddr"}, +"Label":"L1000", +"Value":4097, +"Source":"User", +"Type":"LocalOrGlobalAddr", +"LabelAnno":"None"}, + "281":{ -"Label":"L1000_0","Value":4098,"Source":"User","Type":"LocalOrGlobalAddr"}, +"Label":"L1000_0", +"Value":4098, +"Source":"User", +"Type":"LocalOrGlobalAddr", +"LabelAnno":"None"}, + "282":{ -"Label":"l1000","Value":4099,"Source":"User","Type":"LocalOrGlobalAddr"}, +"Label":"l1000", +"Value":4099, +"Source":"User", +"Type":"LocalOrGlobalAddr", +"LabelAnno":"None"}, + "299":{ -"Label":"targ","Value":4116,"Source":"User","Type":"LocalOrGlobalAddr"}, +"Label":"targ", +"Value":4116, +"Source":"User", +"Type":"LocalOrGlobalAddr", +"LabelAnno":"None"}, + "397":{ -"Label":"bulk","Value":4214,"Source":"User","Type":"LocalOrGlobalAddr"}, +"Label":"bulk", +"Value":4214, +"Source":"User", +"Type":"LocalOrGlobalAddr", +"LabelAnno":"None"}, + "509":{ -"Label":"string","Value":4326,"Source":"User","Type":"LocalOrGlobalAddr"}, +"Label":"string", +"Value":4326, +"Source":"User", +"Type":"LocalOrGlobalAddr", +"LabelAnno":"None"}, + "355":{ -"Label":"calls","Value":4172,"Source":"User","Type":"LocalOrGlobalAddr"}, +"Label":"calls", +"Value":4172, +"Source":"User", +"Type":"LocalOrGlobalAddr", +"LabelAnno":"None"}, + "358":{ -"Label":"calls","Value":4175,"Source":"User","Type":"LocalOrGlobalAddr"}, +"Label":"calls", +"Value":4175, +"Source":"User", +"Type":"LocalOrGlobalAddr", +"LabelAnno":"None"}, + "410":{ -"Label":"badmid","Value":4227,"Source":"User","Type":"LocalOrGlobalAddr"}, +"Label":"badmid", +"Value":4227, +"Source":"User", +"Type":"LocalOrGlobalAddr", +"LabelAnno":"None"}, + "362":{ -"Label":"badmidi","Value":4179,"Source":"User","Type":"LocalOrGlobalAddr"}}, +"Label":"badmidi", +"Value":4179, +"Source":"User", +"Type":"LocalOrGlobalAddr", +"LabelAnno":"None"}}, + "OperandFormats":{ "4":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"zip","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"zip", +"Part":"Low"}}, + "6":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"zip","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"zip", +"Part":"Low"}}, + "8":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"zip","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"zip", +"Part":"Low"}}, + "10":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"Low"}}, + "12":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"High"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"High"}}, + "14":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"Low"}}, + "16":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"High"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"High"}}, + "18":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absl","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absl", +"Part":"Low"}}, + "20":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absl","Part":"High"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absl", +"Part":"High"}}, + "22":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absl","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absl", +"Part":"Low"}}, + "24":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absl","Part":"High"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absl", +"Part":"High"}}, + "26":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Low"}}, + "28":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"High"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"High"}}, + "30":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Bank"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Bank"}}, + "47":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"Low"}}, + "50":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Low"}}, + "53":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Bank"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Bank"}}, + "56":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"biggie","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"biggie", +"Part":"Low"}}, + "59":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"biggie","Part":"Bank"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"biggie", +"Part":"Bank"}}, + "62":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"zip","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"zip", +"Part":"Low"}}, + "64":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"zip","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"zip", +"Part":"Low"}}, + "67":{ -"Length":4,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"zip","Part":"Low"}}, +"Length":4, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"zip", +"Part":"Low"}}, + "71":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"Low"}}, + "74":{ -"Length":4,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"Low"}}, +"Length":4, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"Low"}}, + "78":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"Low"}}, + "81":{ -"Length":4,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"Low"}}, +"Length":4, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"Low"}}, + "85":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Low"}}, + "88":{ -"Length":4,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Low"}}, +"Length":4, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Low"}}, + "92":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Low"}}, + "95":{ -"Length":4,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Low"}}, +"Length":4, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Low"}}, + "99":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"biggie","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"biggie", +"Part":"Low"}}, + "102":{ -"Length":4,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"biggie","Part":"Low"}}, +"Length":4, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"biggie", +"Part":"Low"}}, + "106":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"biggie","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"biggie", +"Part":"Low"}}, + "109":{ -"Length":4,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"biggie","Part":"Low"}}, +"Length":4, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"biggie", +"Part":"Low"}}, + "115":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"zip","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"zip", +"Part":"Low"}}, + "118":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"zip","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"zip", +"Part":"Low"}}, + "121":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"zip","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"zip", +"Part":"Low"}}, + "124":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absl","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absl", +"Part":"Low"}}, + "127":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absl","Part":"High"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absl", +"Part":"High"}}, + "130":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absl","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absl", +"Part":"Low"}}, + "133":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absl","Part":"High"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absl", +"Part":"High"}}, + "136":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absl","Part":"Bank"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absl", +"Part":"Bank"}}, + "139":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"Low"}}, + "142":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"High"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"High"}}, + "145":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"Low"}}, + "148":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"High"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"High"}}, + "151":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"Bank"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"Bank"}}, + "154":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Low"}}, + "157":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"High"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"High"}}, + "160":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Bank"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Bank"}}, + "163":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"biggie","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"biggie", +"Part":"Low"}}, + "166":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"biggie","Part":"High"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"biggie", +"Part":"High"}}, + "169":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"biggie","Part":"Bank"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"biggie", +"Part":"Bank"}}, + "174":{ -"Length":1,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"zip","Part":"Low"}}, +"Length":1, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"zip", +"Part":"Low"}}, + "175":{ -"Length":1,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"Low"}}, +"Length":1, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"Low"}}, + "176":{ -"Length":1,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"High"}}, +"Length":1, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"High"}}, + "177":{ -"Length":1,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Low"}}, +"Length":1, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Low"}}, + "178":{ -"Length":1,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"High"}}, +"Length":1, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"High"}}, + "179":{ -"Length":1,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Bank"}}, +"Length":1, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Bank"}}, + "180":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"zip","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"zip", +"Part":"Low"}}, + "182":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absl","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absl", +"Part":"Low"}}, + "184":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absl","Part":"High"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absl", +"Part":"High"}}, + "186":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absl","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absl", +"Part":"Low"}}, + "188":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absl","Part":"High"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absl", +"Part":"High"}}, + "190":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"Low"}}, + "192":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"High"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"High"}}, + "194":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"Low"}}, + "196":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"High"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"High"}}, + "198":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Low"}}, + "200":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"High"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"High"}}, + "202":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Bank"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Bank"}}, + "204":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Low"}}, + "206":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"High"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"High"}}, + "208":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Bank"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Bank"}}, + "210":{ -"Length":2,"Format":"NumericBE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"Low"}}, +"Length":2, +"Format":"NumericBE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"Low"}}, + "212":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"zip","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"zip", +"Part":"Low"}}, + "215":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"Low"}}, + "218":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"High"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"High"}}, + "221":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Low"}}, + "224":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"High"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"High"}}, + "227":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Bank"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Bank"}}, + "230":{ -"Length":4,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"zip","Part":"Low"}}, +"Length":4, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"zip", +"Part":"Low"}}, + "234":{ -"Length":4,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"Low"}}, +"Length":4, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"Low"}}, + "238":{ -"Length":4,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"absh","Part":"High"}}, +"Length":4, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"absh", +"Part":"High"}}, + "242":{ -"Length":4,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Low"}}, +"Length":4, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Low"}}, + "246":{ -"Length":4,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"High"}}, +"Length":4, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"High"}}, + "250":{ -"Length":4,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Bank"}}, +"Length":4, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Bank"}}, + "254":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"biggie","Part":"Bank"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"biggie", +"Part":"Bank"}}, + "257":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"biggie","Part":"Bank"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"biggie", +"Part":"Bank"}}, + "260":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"start","Part":"Bank"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"start", +"Part":"Bank"}}, + "263":{ -"Length":3,"Format":"NumericLE","SubFormat":"Decimal","SymbolRef":null}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Decimal", +"SymbolRef":null}, + "266":{ -"Length":3,"Format":"NumericLE","SubFormat":"Binary","SymbolRef":null}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Binary", +"SymbolRef":null}, + "269":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"skipdata","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"skipdata", +"Part":"Low"}}, + "301":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"targ","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"targ", +"Part":"Low"}}, + "307":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"targ","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"targ", +"Part":"Low"}}, + "310":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"targ","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"targ", +"Part":"Low"}}, + "316":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"targ","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"targ", +"Part":"Low"}}, + "319":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"targ","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"targ", +"Part":"Low"}}, + "323":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"targ","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"targ", +"Part":"Low"}}, + "325":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"targ","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"targ", +"Part":"Low"}}, + "331":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"targ","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"targ", +"Part":"Low"}}, + "334":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"targ","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"targ", +"Part":"Low"}}, + "340":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"targ","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"targ", +"Part":"Low"}}, + "343":{ -"Length":4,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"targ","Part":"Low"}}, +"Length":4, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"targ", +"Part":"Low"}}, + "351":{ -"Length":4,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"targ","Part":"Low"}}, +"Length":4, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"targ", +"Part":"Low"}}, + "388":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"badmidi","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"badmidi", +"Part":"Low"}}, + "391":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"badmid","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"badmid", +"Part":"Low"}}, + "397":{ -"Length":112,"Format":"Dense","SubFormat":"None","SymbolRef":null}, +"Length":112, +"Format":"Dense", +"SubFormat":"None", +"SymbolRef":null}, + "677":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"thirty2","Part":"Low"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"thirty2", +"Part":"Low"}}, + "679":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"thirty2","Part":"High"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"thirty2", +"Part":"High"}}, + "681":{ -"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"thirty2","Part":"Bank"}}, +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"thirty2", +"Part":"Bank"}}, + +"683":{ +"Length":2, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"BMI", +"Part":"Low"}}, + "685":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"thirty2","Part":"Low"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"thirty2", +"Part":"Low"}}, + "688":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"thirty2","Part":"High"}}, +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"thirty2", +"Part":"High"}}, + "691":{ -"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{ -"Label":"thirty2","Part":"Bank"}}}} +"Length":3, +"Format":"NumericLE", +"SubFormat":"Symbol", +"SymbolRef":{ +"Label":"thirty2", +"Part":"Bank"}}}, + +"LvTables":{ +}, + +"Visualizations":[], +"VisualizationAnimations":[], +"VisualizationSets":{ +}} diff --git a/SourceGen/SGTestData/Expected/2007-labels-and-symbols_64tass.S b/SourceGen/SGTestData/Expected/2007-labels-and-symbols_64tass.S index 2349f07..f2d27ab 100644 --- a/SourceGen/SGTestData/Expected/2007-labels-and-symbols_64tass.S +++ b/SourceGen/SGTestData/Expected/2007-labels-and-symbols_64tass.S @@ -3,6 +3,7 @@ .cpu "65816" .enc sg_ascii .cdef $20,$7e,$20 +BMI1 = $30 ;opcode mnemonic zip = $cd absl = $1029 absh = $feed @@ -201,7 +202,7 @@ _string .text "This is a long string. Put a label and comment on it to confir" _L118E lda #thirty2)+3 lda #`thirty2 - rep #$30 + rep #BMI1 .al .xl lda #(thirty2 & $ffff)+3 diff --git a/SourceGen/SGTestData/Expected/2007-labels-and-symbols_Merlin32.S b/SourceGen/SGTestData/Expected/2007-labels-and-symbols_Merlin32.S index 83ca95a..c02ddfe 100644 --- a/SourceGen/SGTestData/Expected/2007-labels-and-symbols_Merlin32.S +++ b/SourceGen/SGTestData/Expected/2007-labels-and-symbols_Merlin32.S @@ -1,5 +1,6 @@ ;Project was edited to add a label in the middle of a dense hex region, and add ;a duplicate label. +BMI equ $30 ;opcode mnemonic zip equ $cd absl equ $1029 absh equ $feed @@ -191,7 +192,7 @@ start clc :L118E lda #thirty2+$300 lda #^thirty2 - rep #$30 + rep #BMI mx %00 lda #thirty2+3 lda #>thirty2+$400 diff --git a/SourceGen/SGTestData/Expected/2007-labels-and-symbols_cc65.S b/SourceGen/SGTestData/Expected/2007-labels-and-symbols_cc65.S index 04a52b2..760d2d9 100644 --- a/SourceGen/SGTestData/Expected/2007-labels-and-symbols_cc65.S +++ b/SourceGen/SGTestData/Expected/2007-labels-and-symbols_cc65.S @@ -1,6 +1,7 @@ ;Project was edited to add a label in the middle of a dense hex region, and add ;a duplicate label. .setcpu "65816" +BMI1 = $30 ;opcode mnemonic zip = $cd absl = $1029 absh = $feed @@ -201,7 +202,7 @@ start: clc @L118E: lda #thirty2+3 lda #^thirty2 - rep #$30 + rep #BMI1 .a16 .i16 lda #thirty2 & $ffff +3