mirror of
https://github.com/fadden/6502bench.git
synced 2024-11-26 06:49:19 +00:00
b74630dd5b
Most assemblers end local label scope when a global label is encountered. cc65 takes this one step further by ending local label scope when constants or variables are defined. So, if we have a variable table with a nonzero number of entries, we want to create a fake global label at that point to end the scope. Merlin 32 won't let you write " LDA #',' ". For some reason the comma causes an error. IGenerator now has a "tweak operand format" interface that lets us fix that.
208 lines
9.1 KiB
Plaintext
208 lines
9.1 KiB
Plaintext
### 6502bench SourceGen dis65 v1.0 ###
|
|
{
|
|
"_ContentVersion":2,"FileDataLength":151,"FileDataCrc32":-814797830,"ProjectProps":{
|
|
"CpuName":"65816","IncludeUndocumentedInstr":false,"EntryFlags":32702671,"AutoLabelStyle":"Simple","AnalysisParams":{
|
|
"AnalyzeUncategorizedData":true,"DefaultTextScanMode":"LowHighAscii","MinCharsForString":4,"SeekNearbyTargets":false,"SmartPlpHandling":false},
|
|
"PlatformSymbolFileIdentifiers":[],"ExtensionScriptFileIdentifiers":[],"ProjectSyms":{
|
|
"__ENABLE_LABEL_LOCALIZATION":{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Decimal","SymbolRef":null},
|
|
"Comment":"","Label":"__ENABLE_LABEL_LOCALIZATION","Value":1,"Source":"Project","Type":"Constant"},
|
|
"CONST_ONE":{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"project const","Label":"CONST_ONE","Value":241,"Source":"Project","Type":"Constant"},
|
|
"CONST_ZERO":{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"project const","Label":"CONST_ZERO","Value":240,"Source":"Project","Type":"Constant"},
|
|
"PROJ_ONE":{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"project addr","Label":"PROJ_ONE","Value":1,"Source":"Project","Type":"ExternalAddr"},
|
|
"PROJ_ZERO":{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"project addr","Label":"PROJ_ZERO","Value":0,"Source":"Project","Type":"ExternalAddr"},
|
|
"PTR_2":{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"project addr, should clash","Label":"PTR_2","Value":248,"Source":"Project","Type":"ExternalAddr"}}},
|
|
"AddressMap":[{
|
|
"Offset":0,"Addr":4096},
|
|
{
|
|
"Offset":126,"Addr":128}],"TypeHints":[{
|
|
"Low":0,"High":0,"Hint":"Code"}],"StatusFlagOverrides":{
|
|
},
|
|
"Comments":{
|
|
"4":"could be PROJ_ONE+2, but \"nearby\" is off"},
|
|
"LongComments":{
|
|
"-2147483647":{
|
|
"Text":"Edited to have duplicate labels (PROJ_ZERO, DPCODE).","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
|
|
"81":{
|
|
"Text":"Test name redefinition. This is mostly of interest for assemblers without redefinable variables, but also of interest to the cross-reference window.","BoxMode":false,"MaxWidth":80,"BackgroundColor":0}},
|
|
"Notes":{
|
|
"0":{
|
|
"Text":"Should add a variable that conflicts with an auto-label.","BoxMode":false,"MaxWidth":80,"BackgroundColor":-256}},
|
|
"UserLabels":{
|
|
"87":{
|
|
"Label":"PTR_1","Value":4183,"Source":"User","Type":"LocalOrGlobalAddr"},
|
|
"126":{
|
|
"Label":"DPCODE","Value":128,"Source":"User","Type":"LocalOrGlobalAddr"},
|
|
"136":{
|
|
"Label":"SPLIT1","Value":138,"Source":"User","Type":"LocalOrGlobalAddr"},
|
|
"143":{
|
|
"Label":"SPLIT2","Value":145,"Source":"User","Type":"LocalOrGlobalAddr"}},
|
|
"OperandFormats":{
|
|
"8":{
|
|
"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{
|
|
"Label":"CONST_ZERO","Part":"Low"}},
|
|
"24":{
|
|
"Length":2,"Format":"NumericLE","SubFormat":"Decimal","SymbolRef":null},
|
|
"26":{
|
|
"Length":2,"Format":"NumericLE","SubFormat":"Decimal","SymbolRef":null},
|
|
"136":{
|
|
"Length":2,"Format":"NumericLE","SubFormat":"Ascii","SymbolRef":null},
|
|
"143":{
|
|
"Length":2,"Format":"NumericLE","SubFormat":"Ascii","SymbolRef":null}},
|
|
"LvTables":{
|
|
"12":{
|
|
"Variables":[{
|
|
"DataDescriptor":{
|
|
"Length":2,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"VAR_ZERO","Value":0,"Source":"Variable","Type":"ExternalAddr"},
|
|
{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"VAR_TWO","Value":2,"Source":"Variable","Type":"ExternalAddr"},
|
|
{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"VAR_THREE","Value":3,"Source":"Variable","Type":"ExternalAddr"},
|
|
{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"CONST_ZERO_VAR","Value":240,"Source":"Variable","Type":"Constant"}],"ClearPrevious":false},
|
|
"28":{
|
|
"Variables":[{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"clash with project symbol","Label":"PROJ_ZERO","Value":16,"Source":"Variable","Type":"ExternalAddr"},
|
|
{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"clash with user label","Label":"DPCODE","Value":128,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
|
"34":{
|
|
"Variables":[],"ClearPrevious":false},
|
|
"44":{
|
|
"Variables":[],"ClearPrevious":true},
|
|
"51":{
|
|
"Variables":[{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"hidden table","Label":"HIDDEN0","Value":0,"Source":"Variable","Type":"ExternalAddr"},
|
|
{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"hidden table","Label":"HIDDEN1","Value":1,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
|
"60":{
|
|
"Variables":[{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"not hidden","Label":"NH0","Value":0,"Source":"Variable","Type":"ExternalAddr"},
|
|
{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"not hidden","Label":"NH1","Value":1,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
|
"71":{
|
|
"Variables":[{
|
|
"DataDescriptor":{
|
|
"Length":2,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"PTR0","Value":16,"Source":"Variable","Type":"ExternalAddr"},
|
|
{
|
|
"DataDescriptor":{
|
|
"Length":4,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"CONST0","Value":16,"Source":"Variable","Type":"Constant"}],"ClearPrevious":false},
|
|
"81":{
|
|
"Variables":[{
|
|
"DataDescriptor":{
|
|
"Length":2,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"#1","Label":"PTR","Value":32,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
|
"83":{
|
|
"Variables":[{
|
|
"DataDescriptor":{
|
|
"Length":2,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"#2","Label":"PTR","Value":34,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
|
"85":{
|
|
"Variables":[{
|
|
"DataDescriptor":{
|
|
"Length":2,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"#3","Label":"PTR","Value":36,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
|
"88":{
|
|
"Variables":[{
|
|
"DataDescriptor":{
|
|
"Length":2,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"PTR_A","Value":32,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
|
"90":{
|
|
"Variables":[{
|
|
"DataDescriptor":{
|
|
"Length":2,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"PTR_B","Value":31,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
|
"92":{
|
|
"Variables":[{
|
|
"DataDescriptor":{
|
|
"Length":4,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"PTR_C","Value":29,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
|
"94":{
|
|
"Variables":[{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"PTR_D","Value":33,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
|
"96":{
|
|
"Variables":[{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"VAL0","Value":48,"Source":"Variable","Type":"ExternalAddr"},
|
|
{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"VAL1","Value":49,"Source":"Variable","Type":"ExternalAddr"},
|
|
{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"VAL2","Value":50,"Source":"Variable","Type":"ExternalAddr"},
|
|
{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"VAL3","Value":51,"Source":"Variable","Type":"ExternalAddr"},
|
|
{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"VAL4","Value":52,"Source":"Variable","Type":"ExternalAddr"},
|
|
{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"VAL5","Value":53,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
|
"108":{
|
|
"Variables":[{
|
|
"DataDescriptor":{
|
|
"Length":4,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"VAL14","Value":49,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
|
"120":{
|
|
"Variables":[{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"same as org","Label":"DPNOP","Value":128,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
|
"138":{
|
|
"Variables":[{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"SPLITTER","Value":128,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
|
"139":{
|
|
"Variables":[{
|
|
"DataDescriptor":{
|
|
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
|
"Comment":"","Label":"FOO","Value":128,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
|
"145":{
|
|
"Variables":[],"ClearPrevious":false}}}
|