mirror of
https://github.com/fadden/6502bench.git
synced 2024-12-01 22:50:35 +00:00
Clone 20152-local-variables
Generate a 6502 test from the 65816 version by substituting the 16-bit instructions with 8-bit no-ops. There's a lot of project edits and weird stuff in the test, so this was much easier than starting over. The 65816 variant is largely unchanged, though it could now be stripped down to the stack-offset instructions.
This commit is contained in:
parent
84e3dd3df2
commit
345dff7765
BIN
SourceGen/SGTestData/20150-local-variables
Normal file
BIN
SourceGen/SGTestData/20150-local-variables
Normal file
Binary file not shown.
774
SourceGen/SGTestData/20150-local-variables.dis65
Normal file
774
SourceGen/SGTestData/20150-local-variables.dis65
Normal file
@ -0,0 +1,774 @@
|
|||||||
|
### 6502bench SourceGen dis65 v1.0 ###
|
||||||
|
{
|
||||||
|
"_ContentVersion":4,
|
||||||
|
"FileDataLength":151,
|
||||||
|
"FileDataCrc32":-1030691121,
|
||||||
|
"ProjectProps":{
|
||||||
|
"CpuName":"6502",
|
||||||
|
"IncludeUndocumentedInstr":false,
|
||||||
|
"TwoByteBrk":false,
|
||||||
|
"EntryFlags":32702671,
|
||||||
|
"AutoLabelStyle":"Simple",
|
||||||
|
"AnalysisParams":{
|
||||||
|
"AnalyzeUncategorizedData":true,
|
||||||
|
"DefaultTextScanMode":"LowHighAscii",
|
||||||
|
"MinCharsForString":4,
|
||||||
|
"SeekNearbyTargets":false,
|
||||||
|
"UseRelocData":false,
|
||||||
|
"SmartPlpHandling":false,
|
||||||
|
"SmartPlbHandling":true},
|
||||||
|
|
||||||
|
"PlatformSymbolFileIdentifiers":[],
|
||||||
|
"ExtensionScriptFileIdentifiers":[],
|
||||||
|
"ProjectSyms":{
|
||||||
|
"__ENABLE_LABEL_LOCALIZATION":{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Decimal",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":false,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"__ENABLE_LABEL_LOCALIZATION",
|
||||||
|
"Value":1,
|
||||||
|
"Source":"Project",
|
||||||
|
"Type":"Constant",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
"CONST_ONE":{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"project const",
|
||||||
|
"HasWidth":false,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"CONST_ONE",
|
||||||
|
"Value":241,
|
||||||
|
"Source":"Project",
|
||||||
|
"Type":"Constant",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
"CONST_ZERO":{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"project const",
|
||||||
|
"HasWidth":false,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"CONST_ZERO",
|
||||||
|
"Value":240,
|
||||||
|
"Source":"Project",
|
||||||
|
"Type":"Constant",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
"PROJ_ONE":{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"project addr",
|
||||||
|
"HasWidth":false,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PROJ_ONE",
|
||||||
|
"Value":1,
|
||||||
|
"Source":"Project",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
"PROJ_ZERO":{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"project addr",
|
||||||
|
"HasWidth":false,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PROJ_ZERO",
|
||||||
|
"Value":0,
|
||||||
|
"Source":"Project",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
"PTR_2":{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"project addr, should clash",
|
||||||
|
"HasWidth":false,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR_2",
|
||||||
|
"Value":248,
|
||||||
|
"Source":"Project",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}}},
|
||||||
|
|
||||||
|
"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",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
"126":{
|
||||||
|
"Label":"DPCODE",
|
||||||
|
"Value":128,
|
||||||
|
"Source":"User",
|
||||||
|
"Type":"LocalOrGlobalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
"136":{
|
||||||
|
"Label":"SPLIT1",
|
||||||
|
"Value":138,
|
||||||
|
"Source":"User",
|
||||||
|
"Type":"LocalOrGlobalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
"143":{
|
||||||
|
"Label":"SPLIT2",
|
||||||
|
"Value":145,
|
||||||
|
"Source":"User",
|
||||||
|
"Type":"LocalOrGlobalAddr",
|
||||||
|
"LabelAnno":"None"}},
|
||||||
|
|
||||||
|
"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":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAR_ZERO",
|
||||||
|
"Value":0,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAR_TWO",
|
||||||
|
"Value":2,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAR_THREE",
|
||||||
|
"Value":3,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"CONST_ZERO_VAR",
|
||||||
|
"Value":240,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"Constant",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"28":{
|
||||||
|
"Variables":[{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"clash with project symbol",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PROJ_ZERO",
|
||||||
|
"Value":16,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"clash with user label",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"DPCODE",
|
||||||
|
"Value":128,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"34":{
|
||||||
|
"Variables":[],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"44":{
|
||||||
|
"Variables":[],
|
||||||
|
"ClearPrevious":true},
|
||||||
|
|
||||||
|
"51":{
|
||||||
|
"Variables":[{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"hidden table",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"HIDDEN0",
|
||||||
|
"Value":0,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"hidden table",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"HIDDEN1",
|
||||||
|
"Value":1,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"60":{
|
||||||
|
"Variables":[{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"not hidden",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"NH0",
|
||||||
|
"Value":0,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"not hidden",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"NH1",
|
||||||
|
"Value":1,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"71":{
|
||||||
|
"Variables":[{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":2,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR0",
|
||||||
|
"Value":16,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":4,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"CONST0",
|
||||||
|
"Value":16,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"Constant",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"81":{
|
||||||
|
"Variables":[{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":2,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"#1",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR",
|
||||||
|
"Value":32,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"83":{
|
||||||
|
"Variables":[{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":2,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"#2",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR",
|
||||||
|
"Value":34,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"85":{
|
||||||
|
"Variables":[{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":2,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"#3",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR",
|
||||||
|
"Value":36,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"88":{
|
||||||
|
"Variables":[{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":2,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR_A",
|
||||||
|
"Value":32,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"90":{
|
||||||
|
"Variables":[{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":2,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR_B",
|
||||||
|
"Value":31,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"92":{
|
||||||
|
"Variables":[{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":4,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR_C",
|
||||||
|
"Value":29,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"94":{
|
||||||
|
"Variables":[{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR_D",
|
||||||
|
"Value":33,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"96":{
|
||||||
|
"Variables":[{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAL0",
|
||||||
|
"Value":48,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAL1",
|
||||||
|
"Value":49,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAL2",
|
||||||
|
"Value":50,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAL3",
|
||||||
|
"Value":51,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAL4",
|
||||||
|
"Value":52,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
|
{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAL5",
|
||||||
|
"Value":53,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"108":{
|
||||||
|
"Variables":[{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":4,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAL14",
|
||||||
|
"Value":49,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"120":{
|
||||||
|
"Variables":[{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"same as org",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"DPNOP",
|
||||||
|
"Value":128,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"138":{
|
||||||
|
"Variables":[{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"SPLITTER",
|
||||||
|
"Value":128,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"139":{
|
||||||
|
"Variables":[{
|
||||||
|
"DataDescriptor":{
|
||||||
|
"Length":1,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"FOO",
|
||||||
|
"Value":128,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
|
"145":{
|
||||||
|
"Variables":[],
|
||||||
|
"ClearPrevious":false}},
|
||||||
|
|
||||||
|
"Visualizations":[],
|
||||||
|
"VisualizationAnimations":[],
|
||||||
|
"VisualizationSets":{
|
||||||
|
},
|
||||||
|
|
||||||
|
"RelocList":{
|
||||||
|
},
|
||||||
|
|
||||||
|
"DbrValues":{
|
||||||
|
}}
|
@ -1,207 +1,770 @@
|
|||||||
### 6502bench SourceGen dis65 v1.0 ###
|
### 6502bench SourceGen dis65 v1.0 ###
|
||||||
{
|
{
|
||||||
"_ContentVersion":2,"FileDataLength":151,"FileDataCrc32":-814797830,"ProjectProps":{
|
"_ContentVersion":4,
|
||||||
"CpuName":"65816","IncludeUndocumentedInstr":false,"EntryFlags":32702671,"AutoLabelStyle":"Simple","AnalysisParams":{
|
"FileDataLength":151,
|
||||||
"AnalyzeUncategorizedData":true,"DefaultTextScanMode":"LowHighAscii","MinCharsForString":4,"SeekNearbyTargets":false,"SmartPlpHandling":false},
|
"FileDataCrc32":-814797830,
|
||||||
"PlatformSymbolFileIdentifiers":[],"ExtensionScriptFileIdentifiers":[],"ProjectSyms":{
|
"ProjectProps":{
|
||||||
|
"CpuName":"65816",
|
||||||
|
"IncludeUndocumentedInstr":false,
|
||||||
|
"TwoByteBrk":false,
|
||||||
|
"EntryFlags":32702671,
|
||||||
|
"AutoLabelStyle":"Simple",
|
||||||
|
"AnalysisParams":{
|
||||||
|
"AnalyzeUncategorizedData":true,
|
||||||
|
"DefaultTextScanMode":"LowHighAscii",
|
||||||
|
"MinCharsForString":4,
|
||||||
|
"SeekNearbyTargets":false,
|
||||||
|
"UseRelocData":false,
|
||||||
|
"SmartPlpHandling":false,
|
||||||
|
"SmartPlbHandling":true},
|
||||||
|
|
||||||
|
"PlatformSymbolFileIdentifiers":[],
|
||||||
|
"ExtensionScriptFileIdentifiers":[],
|
||||||
|
"ProjectSyms":{
|
||||||
"__ENABLE_LABEL_LOCALIZATION":{
|
"__ENABLE_LABEL_LOCALIZATION":{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Decimal","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"","Label":"__ENABLE_LABEL_LOCALIZATION","Value":1,"Source":"Project","Type":"Constant"},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Decimal",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":false,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"__ENABLE_LABEL_LOCALIZATION",
|
||||||
|
"Value":1,
|
||||||
|
"Source":"Project",
|
||||||
|
"Type":"Constant",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
"CONST_ONE":{
|
"CONST_ONE":{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"project const","Label":"CONST_ONE","Value":241,"Source":"Project","Type":"Constant"},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"project const",
|
||||||
|
"HasWidth":false,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"CONST_ONE",
|
||||||
|
"Value":241,
|
||||||
|
"Source":"Project",
|
||||||
|
"Type":"Constant",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
"CONST_ZERO":{
|
"CONST_ZERO":{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"project const","Label":"CONST_ZERO","Value":240,"Source":"Project","Type":"Constant"},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"project const",
|
||||||
|
"HasWidth":false,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"CONST_ZERO",
|
||||||
|
"Value":240,
|
||||||
|
"Source":"Project",
|
||||||
|
"Type":"Constant",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
"PROJ_ONE":{
|
"PROJ_ONE":{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"project addr","Label":"PROJ_ONE","Value":1,"Source":"Project","Type":"ExternalAddr"},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"project addr",
|
||||||
|
"HasWidth":false,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PROJ_ONE",
|
||||||
|
"Value":1,
|
||||||
|
"Source":"Project",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
"PROJ_ZERO":{
|
"PROJ_ZERO":{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"project addr","Label":"PROJ_ZERO","Value":0,"Source":"Project","Type":"ExternalAddr"},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"project addr",
|
||||||
|
"HasWidth":false,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PROJ_ZERO",
|
||||||
|
"Value":0,
|
||||||
|
"Source":"Project",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
"PTR_2":{
|
"PTR_2":{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"project addr, should clash","Label":"PTR_2","Value":248,"Source":"Project","Type":"ExternalAddr"}}},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"project addr, should clash",
|
||||||
|
"HasWidth":false,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR_2",
|
||||||
|
"Value":248,
|
||||||
|
"Source":"Project",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}}},
|
||||||
|
|
||||||
"AddressMap":[{
|
"AddressMap":[{
|
||||||
"Offset":0,"Addr":4096},
|
"Offset":0,
|
||||||
|
"Addr":4096},
|
||||||
|
|
||||||
{
|
{
|
||||||
"Offset":126,"Addr":128}],"TypeHints":[{
|
"Offset":126,
|
||||||
"Low":0,"High":0,"Hint":"Code"}],"StatusFlagOverrides":{
|
"Addr":128}],
|
||||||
|
"TypeHints":[{
|
||||||
|
"Low":0,
|
||||||
|
"High":0,
|
||||||
|
"Hint":"Code"}],
|
||||||
|
"StatusFlagOverrides":{
|
||||||
},
|
},
|
||||||
|
|
||||||
"Comments":{
|
"Comments":{
|
||||||
"4":"could be PROJ_ONE+2, but \"nearby\" is off"},
|
"4":"could be PROJ_ONE+2, but \"nearby\" is off"},
|
||||||
|
|
||||||
"LongComments":{
|
"LongComments":{
|
||||||
"-2147483647":{
|
"-2147483647":{
|
||||||
"Text":"Edited to have duplicate labels (PROJ_ZERO, DPCODE).","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
|
"Text":"Edited to have duplicate labels (PROJ_ZERO, DPCODE).",
|
||||||
|
"BoxMode":false,
|
||||||
|
"MaxWidth":80,
|
||||||
|
"BackgroundColor":0},
|
||||||
|
|
||||||
"81":{
|
"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}},
|
"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":{
|
"Notes":{
|
||||||
"0":{
|
},
|
||||||
"Text":"Should add a variable that conflicts with an auto-label.","BoxMode":false,"MaxWidth":80,"BackgroundColor":-256}},
|
|
||||||
"UserLabels":{
|
"UserLabels":{
|
||||||
"87":{
|
"87":{
|
||||||
"Label":"PTR_1","Value":4183,"Source":"User","Type":"LocalOrGlobalAddr"},
|
"Label":"PTR_1",
|
||||||
|
"Value":4183,
|
||||||
|
"Source":"User",
|
||||||
|
"Type":"LocalOrGlobalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
"126":{
|
"126":{
|
||||||
"Label":"DPCODE","Value":128,"Source":"User","Type":"LocalOrGlobalAddr"},
|
"Label":"DPCODE",
|
||||||
|
"Value":128,
|
||||||
|
"Source":"User",
|
||||||
|
"Type":"LocalOrGlobalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
"136":{
|
"136":{
|
||||||
"Label":"SPLIT1","Value":138,"Source":"User","Type":"LocalOrGlobalAddr"},
|
"Label":"SPLIT1",
|
||||||
|
"Value":138,
|
||||||
|
"Source":"User",
|
||||||
|
"Type":"LocalOrGlobalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
"143":{
|
"143":{
|
||||||
"Label":"SPLIT2","Value":145,"Source":"User","Type":"LocalOrGlobalAddr"}},
|
"Label":"SPLIT2",
|
||||||
|
"Value":145,
|
||||||
|
"Source":"User",
|
||||||
|
"Type":"LocalOrGlobalAddr",
|
||||||
|
"LabelAnno":"None"}},
|
||||||
|
|
||||||
"OperandFormats":{
|
"OperandFormats":{
|
||||||
"8":{
|
"8":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{
|
"Length":2,
|
||||||
"Label":"CONST_ZERO","Part":"Low"}},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Symbol",
|
||||||
|
"SymbolRef":{
|
||||||
|
"Label":"CONST_ZERO",
|
||||||
|
"Part":"Low"}},
|
||||||
|
|
||||||
"24":{
|
"24":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Decimal","SymbolRef":null},
|
"Length":2,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Decimal",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
"26":{
|
"26":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Decimal","SymbolRef":null},
|
"Length":2,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Decimal",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
"136":{
|
"136":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Ascii","SymbolRef":null},
|
"Length":2,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Ascii",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
"143":{
|
"143":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Ascii","SymbolRef":null}},
|
"Length":2,
|
||||||
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Ascii",
|
||||||
|
"SymbolRef":null}},
|
||||||
|
|
||||||
"LvTables":{
|
"LvTables":{
|
||||||
"12":{
|
"12":{
|
||||||
"Variables":[{
|
"Variables":[{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":2,
|
||||||
"Comment":"","Label":"VAR_ZERO","Value":0,"Source":"Variable","Type":"ExternalAddr"},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAR_ZERO",
|
||||||
|
"Value":0,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
{
|
{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"","Label":"VAR_TWO","Value":2,"Source":"Variable","Type":"ExternalAddr"},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAR_TWO",
|
||||||
|
"Value":2,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
{
|
{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"","Label":"VAR_THREE","Value":3,"Source":"Variable","Type":"ExternalAddr"},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAR_THREE",
|
||||||
|
"Value":3,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
{
|
{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"","Label":"CONST_ZERO_VAR","Value":240,"Source":"Variable","Type":"Constant"}],"ClearPrevious":false},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"CONST_ZERO_VAR",
|
||||||
|
"Value":240,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"Constant",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"28":{
|
"28":{
|
||||||
"Variables":[{
|
"Variables":[{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"clash with project symbol","Label":"PROJ_ZERO","Value":16,"Source":"Variable","Type":"ExternalAddr"},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"clash with project symbol",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PROJ_ZERO",
|
||||||
|
"Value":16,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
{
|
{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"clash with user label","Label":"DPCODE","Value":128,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"clash with user label",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"DPCODE",
|
||||||
|
"Value":128,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"34":{
|
"34":{
|
||||||
"Variables":[],"ClearPrevious":false},
|
"Variables":[],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"44":{
|
"44":{
|
||||||
"Variables":[],"ClearPrevious":true},
|
"Variables":[],
|
||||||
|
"ClearPrevious":true},
|
||||||
|
|
||||||
"51":{
|
"51":{
|
||||||
"Variables":[{
|
"Variables":[{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"hidden table","Label":"HIDDEN0","Value":0,"Source":"Variable","Type":"ExternalAddr"},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"hidden table",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"HIDDEN0",
|
||||||
|
"Value":0,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
{
|
{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"hidden table","Label":"HIDDEN1","Value":1,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"hidden table",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"HIDDEN1",
|
||||||
|
"Value":1,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"60":{
|
"60":{
|
||||||
"Variables":[{
|
"Variables":[{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"not hidden","Label":"NH0","Value":0,"Source":"Variable","Type":"ExternalAddr"},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"not hidden",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"NH0",
|
||||||
|
"Value":0,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
{
|
{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"not hidden","Label":"NH1","Value":1,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"not hidden",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"NH1",
|
||||||
|
"Value":1,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"71":{
|
"71":{
|
||||||
"Variables":[{
|
"Variables":[{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":2,
|
||||||
"Comment":"","Label":"PTR0","Value":16,"Source":"Variable","Type":"ExternalAddr"},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR0",
|
||||||
|
"Value":16,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
{
|
{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":4,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":4,
|
||||||
"Comment":"","Label":"CONST0","Value":16,"Source":"Variable","Type":"Constant"}],"ClearPrevious":false},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"CONST0",
|
||||||
|
"Value":16,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"Constant",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"81":{
|
"81":{
|
||||||
"Variables":[{
|
"Variables":[{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":2,
|
||||||
"Comment":"#1","Label":"PTR","Value":32,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"#1",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR",
|
||||||
|
"Value":32,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"83":{
|
"83":{
|
||||||
"Variables":[{
|
"Variables":[{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":2,
|
||||||
"Comment":"#2","Label":"PTR","Value":34,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"#2",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR",
|
||||||
|
"Value":34,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"85":{
|
"85":{
|
||||||
"Variables":[{
|
"Variables":[{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":2,
|
||||||
"Comment":"#3","Label":"PTR","Value":36,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"#3",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR",
|
||||||
|
"Value":36,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"88":{
|
"88":{
|
||||||
"Variables":[{
|
"Variables":[{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":2,
|
||||||
"Comment":"","Label":"PTR_A","Value":32,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR_A",
|
||||||
|
"Value":32,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"90":{
|
"90":{
|
||||||
"Variables":[{
|
"Variables":[{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":2,
|
||||||
"Comment":"","Label":"PTR_B","Value":31,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR_B",
|
||||||
|
"Value":31,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"92":{
|
"92":{
|
||||||
"Variables":[{
|
"Variables":[{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":4,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":4,
|
||||||
"Comment":"","Label":"PTR_C","Value":29,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR_C",
|
||||||
|
"Value":29,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"94":{
|
"94":{
|
||||||
"Variables":[{
|
"Variables":[{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"","Label":"PTR_D","Value":33,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"PTR_D",
|
||||||
|
"Value":33,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"96":{
|
"96":{
|
||||||
"Variables":[{
|
"Variables":[{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"","Label":"VAL0","Value":48,"Source":"Variable","Type":"ExternalAddr"},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAL0",
|
||||||
|
"Value":48,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
{
|
{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"","Label":"VAL1","Value":49,"Source":"Variable","Type":"ExternalAddr"},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAL1",
|
||||||
|
"Value":49,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
{
|
{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"","Label":"VAL2","Value":50,"Source":"Variable","Type":"ExternalAddr"},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAL2",
|
||||||
|
"Value":50,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
{
|
{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"","Label":"VAL3","Value":51,"Source":"Variable","Type":"ExternalAddr"},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAL3",
|
||||||
|
"Value":51,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
{
|
{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"","Label":"VAL4","Value":52,"Source":"Variable","Type":"ExternalAddr"},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAL4",
|
||||||
|
"Value":52,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"},
|
||||||
|
|
||||||
{
|
{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"","Label":"VAL5","Value":53,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAL5",
|
||||||
|
"Value":53,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"108":{
|
"108":{
|
||||||
"Variables":[{
|
"Variables":[{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":4,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":4,
|
||||||
"Comment":"","Label":"VAL14","Value":49,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"VAL14",
|
||||||
|
"Value":49,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"120":{
|
"120":{
|
||||||
"Variables":[{
|
"Variables":[{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"same as org","Label":"DPNOP","Value":128,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"same as org",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"DPNOP",
|
||||||
|
"Value":128,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"138":{
|
"138":{
|
||||||
"Variables":[{
|
"Variables":[{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"","Label":"SPLITTER","Value":128,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"SPLITTER",
|
||||||
|
"Value":128,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"139":{
|
"139":{
|
||||||
"Variables":[{
|
"Variables":[{
|
||||||
"DataDescriptor":{
|
"DataDescriptor":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Hex","SymbolRef":null},
|
"Length":1,
|
||||||
"Comment":"","Label":"FOO","Value":128,"Source":"Variable","Type":"ExternalAddr"}],"ClearPrevious":false},
|
"Format":"NumericLE",
|
||||||
|
"SubFormat":"Hex",
|
||||||
|
"SymbolRef":null},
|
||||||
|
|
||||||
|
"Comment":"",
|
||||||
|
"HasWidth":true,
|
||||||
|
"Direction":"ReadWrite",
|
||||||
|
"MultiMask":null,
|
||||||
|
"Label":"FOO",
|
||||||
|
"Value":128,
|
||||||
|
"Source":"Variable",
|
||||||
|
"Type":"ExternalAddr",
|
||||||
|
"LabelAnno":"None"}],
|
||||||
|
"ClearPrevious":false},
|
||||||
|
|
||||||
"145":{
|
"145":{
|
||||||
"Variables":[],"ClearPrevious":false}}}
|
"Variables":[],
|
||||||
|
"ClearPrevious":false}},
|
||||||
|
|
||||||
|
"Visualizations":[],
|
||||||
|
"VisualizationAnimations":[],
|
||||||
|
"VisualizationSets":{
|
||||||
|
},
|
||||||
|
|
||||||
|
"RelocList":{
|
||||||
|
},
|
||||||
|
|
||||||
|
"DbrValues":{
|
||||||
|
}}
|
||||||
|
118
SourceGen/SGTestData/Expected/20150-local-variables_64tass.S
Normal file
118
SourceGen/SGTestData/Expected/20150-local-variables_64tass.S
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
;Edited to have duplicate labels (PROJ_ZERO, DPCODE).
|
||||||
|
.cpu "6502"
|
||||||
|
.enc "sg_ascii"
|
||||||
|
.cdef $20,$7e,$20
|
||||||
|
CONST_ZERO = $f0 ;project const
|
||||||
|
|
||||||
|
PROJ_ZERO = $00 ;project addr
|
||||||
|
PROJ_ONE = $01 ;project addr
|
||||||
|
|
||||||
|
* = $1000
|
||||||
|
ldy PROJ_ZERO
|
||||||
|
lda (PROJ_ONE),y
|
||||||
|
sta $03 ;could be PROJ_ONE+2, but "nearby" is off
|
||||||
|
ldx $04
|
||||||
|
lda #CONST_ZERO
|
||||||
|
ora #$f1
|
||||||
|
VAR_ZERO .var $00
|
||||||
|
VAR_TWO .var $02
|
||||||
|
VAR_THREE .var $03
|
||||||
|
CONST_ZERO_VAR .var $f0
|
||||||
|
ldy VAR_ZERO
|
||||||
|
lda (VAR_ZERO+1),y
|
||||||
|
sta VAR_THREE
|
||||||
|
ldx $04
|
||||||
|
lda #$f0
|
||||||
|
ora #$f1
|
||||||
|
eor 0
|
||||||
|
ora 240
|
||||||
|
PROJ_ZERO_DUP1 .var $10 ;clash with project symbol
|
||||||
|
DPCODE_DUP1 .var $80 ;clash with user label
|
||||||
|
lda VAR_ZERO
|
||||||
|
lda VAR_ZERO+1
|
||||||
|
lda VAR_TWO
|
||||||
|
lda VAR_THREE
|
||||||
|
lda $04
|
||||||
|
lda PROJ_ZERO_DUP1
|
||||||
|
lda $11
|
||||||
|
lda DPCODE
|
||||||
|
ldx PROJ_ZERO
|
||||||
|
ldx PROJ_ONE
|
||||||
|
ldx $02
|
||||||
|
bit $ffa9
|
||||||
|
ldy PROJ_ZERO
|
||||||
|
ldy PROJ_ONE
|
||||||
|
ldy $02
|
||||||
|
.byte $2c
|
||||||
|
NH0 .var $00 ;not hidden
|
||||||
|
NH1 .var $01 ;not hidden
|
||||||
|
L103C lda #$fe
|
||||||
|
beq L103C
|
||||||
|
ldy NH0
|
||||||
|
ldy NH1
|
||||||
|
ldy $02
|
||||||
|
nop
|
||||||
|
PTR0 .var $10
|
||||||
|
CONST0 .var $10
|
||||||
|
lda PTR0
|
||||||
|
ldx PTR0+1
|
||||||
|
ldy $12
|
||||||
|
lda #$10
|
||||||
|
ora #$13
|
||||||
|
;Test name redefinition. This is mostly of interest for assemblers without
|
||||||
|
;redefinable variables, but also of interest to the cross-reference window.
|
||||||
|
PTR .var $20 ;#1
|
||||||
|
ldx PTR
|
||||||
|
PTR .var $22 ;#2
|
||||||
|
ldx PTR
|
||||||
|
PTR .var $24 ;#3
|
||||||
|
ldx PTR
|
||||||
|
_PTR_1 nop
|
||||||
|
PTR_A .var $20
|
||||||
|
ldy PTR_A
|
||||||
|
PTR_B .var $1f
|
||||||
|
ldy PTR_B+1
|
||||||
|
PTR_C .var $1d
|
||||||
|
ldy PTR_C+3
|
||||||
|
PTR_D .var $21
|
||||||
|
ldy PTR_C+3
|
||||||
|
VAL0 .var $30
|
||||||
|
VAL1 .var $31
|
||||||
|
VAL2 .var $32
|
||||||
|
VAL3 .var $33
|
||||||
|
VAL4 .var $34
|
||||||
|
VAL5 .var $35
|
||||||
|
and VAL0
|
||||||
|
and VAL1
|
||||||
|
and VAL2
|
||||||
|
and VAL3
|
||||||
|
and VAL4
|
||||||
|
and VAL5
|
||||||
|
VAL14 .var $31
|
||||||
|
and VAL0
|
||||||
|
and VAL14
|
||||||
|
and VAL14+1
|
||||||
|
and VAL14+2
|
||||||
|
and VAL14+3
|
||||||
|
and VAL5
|
||||||
|
DPNOP .var $80 ;same as org
|
||||||
|
lda DPCODE
|
||||||
|
jsr DPCODE
|
||||||
|
rts
|
||||||
|
|
||||||
|
.logical $0080
|
||||||
|
DPCODE nop
|
||||||
|
lda DPCODE
|
||||||
|
lda @wDPCODE
|
||||||
|
nop
|
||||||
|
ora @wDPCODE
|
||||||
|
_SPLIT1 lda #','
|
||||||
|
SPLITTER .var $80
|
||||||
|
ldx $1234
|
||||||
|
beq _SPLIT1
|
||||||
|
_SPLIT2 lda ','
|
||||||
|
ldx $5678
|
||||||
|
beq _SPLIT2
|
||||||
|
rts
|
||||||
|
|
||||||
|
.here
|
228
SourceGen/SGTestData/Expected/20150-local-variables_acme.S
Normal file
228
SourceGen/SGTestData/Expected/20150-local-variables_acme.S
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
;Edited to have duplicate labels (PROJ_ZERO, DPCODE).
|
||||||
|
!cpu 6502
|
||||||
|
CONST_ZERO = $f0 ;project const
|
||||||
|
|
||||||
|
PROJ_ZERO = $00 ;project addr
|
||||||
|
PROJ_ONE = $01 ;project addr
|
||||||
|
|
||||||
|
* = $0000
|
||||||
|
!pseudopc $1000 {
|
||||||
|
ldy PROJ_ZERO
|
||||||
|
lda (PROJ_ONE),y
|
||||||
|
sta $03 ;could be PROJ_ONE+2, but "nearby" is off
|
||||||
|
ldx $04
|
||||||
|
lda #CONST_ZERO
|
||||||
|
ora #$f1
|
||||||
|
!zone Z00000c
|
||||||
|
.VAR_ZERO = $00
|
||||||
|
.VAR_TWO = $02
|
||||||
|
.VAR_THREE = $03
|
||||||
|
.CONST_ZERO_VAR = $f0
|
||||||
|
ldy .VAR_ZERO
|
||||||
|
lda (.VAR_ZERO+1),y
|
||||||
|
sta .VAR_THREE
|
||||||
|
ldx $04
|
||||||
|
lda #$f0
|
||||||
|
ora #$f1
|
||||||
|
eor 0
|
||||||
|
ora 240
|
||||||
|
!zone Z00001c
|
||||||
|
.VAR_ZERO = $00
|
||||||
|
.VAR_TWO = $02
|
||||||
|
.VAR_THREE = $03
|
||||||
|
.PROJ_ZERO_DUP1 = $10 ;clash with project symbol
|
||||||
|
.DPCODE_DUP1 = $80 ;clash with user label
|
||||||
|
.CONST_ZERO_VAR = $f0
|
||||||
|
lda .VAR_ZERO
|
||||||
|
lda .VAR_ZERO+1
|
||||||
|
lda .VAR_TWO
|
||||||
|
!zone Z000022
|
||||||
|
.VAR_ZERO = $00
|
||||||
|
.VAR_TWO = $02
|
||||||
|
.VAR_THREE = $03
|
||||||
|
.PROJ_ZERO_DUP1 = $10 ;clash with project symbol
|
||||||
|
.DPCODE_DUP1 = $80 ;clash with user label
|
||||||
|
.CONST_ZERO_VAR = $f0
|
||||||
|
lda .VAR_THREE
|
||||||
|
lda $04
|
||||||
|
lda .PROJ_ZERO_DUP1
|
||||||
|
lda $11
|
||||||
|
lda+1 DPCODE
|
||||||
|
!zone Z00002c
|
||||||
|
ldx PROJ_ZERO
|
||||||
|
ldx PROJ_ONE
|
||||||
|
ldx $02
|
||||||
|
bit $ffa9
|
||||||
|
ldy PROJ_ZERO
|
||||||
|
ldy PROJ_ONE
|
||||||
|
ldy $02
|
||||||
|
!byte $2c
|
||||||
|
!zone Z00003c
|
||||||
|
.NH0 = $00 ;not hidden
|
||||||
|
.NH1 = $01 ;not hidden
|
||||||
|
L103C lda #$fe
|
||||||
|
beq L103C
|
||||||
|
ldy .NH0
|
||||||
|
ldy .NH1
|
||||||
|
ldy $02
|
||||||
|
nop
|
||||||
|
!zone Z000047
|
||||||
|
.NH0 = $00 ;not hidden
|
||||||
|
.NH1 = $01 ;not hidden
|
||||||
|
.PTR0 = $10
|
||||||
|
.CONST0 = $10
|
||||||
|
lda .PTR0
|
||||||
|
ldx .PTR0+1
|
||||||
|
ldy $12
|
||||||
|
lda #$10
|
||||||
|
ora #$13
|
||||||
|
;Test name redefinition. This is mostly of interest for assemblers without
|
||||||
|
;redefinable variables, but also of interest to the cross-reference window.
|
||||||
|
!zone Z000051
|
||||||
|
.NH0 = $00 ;not hidden
|
||||||
|
.NH1 = $01 ;not hidden
|
||||||
|
.PTR0 = $10
|
||||||
|
.CONST0 = $10
|
||||||
|
.PTR = $20 ;#1
|
||||||
|
ldx .PTR
|
||||||
|
!zone Z000053
|
||||||
|
.NH0 = $00 ;not hidden
|
||||||
|
.NH1 = $01 ;not hidden
|
||||||
|
.PTR0 = $10
|
||||||
|
.CONST0 = $10
|
||||||
|
.PTR = $22 ;#2
|
||||||
|
ldx .PTR
|
||||||
|
!zone Z000055
|
||||||
|
.NH0 = $00 ;not hidden
|
||||||
|
.NH1 = $01 ;not hidden
|
||||||
|
.PTR0 = $10
|
||||||
|
.CONST0 = $10
|
||||||
|
.PTR = $24 ;#3
|
||||||
|
ldx .PTR
|
||||||
|
@PTR_1 nop
|
||||||
|
!zone Z000058
|
||||||
|
.NH0 = $00 ;not hidden
|
||||||
|
.NH1 = $01 ;not hidden
|
||||||
|
.PTR0 = $10
|
||||||
|
.CONST0 = $10
|
||||||
|
.PTR_A = $20
|
||||||
|
.PTR = $24 ;#3
|
||||||
|
ldy .PTR_A
|
||||||
|
!zone Z00005a
|
||||||
|
.NH0 = $00 ;not hidden
|
||||||
|
.NH1 = $01 ;not hidden
|
||||||
|
.PTR0 = $10
|
||||||
|
.CONST0 = $10
|
||||||
|
.PTR_B = $1f
|
||||||
|
.PTR = $24 ;#3
|
||||||
|
ldy .PTR_B+1
|
||||||
|
!zone Z00005c
|
||||||
|
.NH0 = $00 ;not hidden
|
||||||
|
.NH1 = $01 ;not hidden
|
||||||
|
.PTR0 = $10
|
||||||
|
.CONST0 = $10
|
||||||
|
.PTR_C = $1d
|
||||||
|
.PTR = $24 ;#3
|
||||||
|
ldy .PTR_C+3
|
||||||
|
!zone Z00005e
|
||||||
|
.NH0 = $00 ;not hidden
|
||||||
|
.NH1 = $01 ;not hidden
|
||||||
|
.PTR0 = $10
|
||||||
|
.CONST0 = $10
|
||||||
|
.PTR_C = $1d
|
||||||
|
.PTR_D = $21
|
||||||
|
.PTR = $24 ;#3
|
||||||
|
ldy .PTR_C+3
|
||||||
|
!zone Z000060
|
||||||
|
.NH0 = $00 ;not hidden
|
||||||
|
.NH1 = $01 ;not hidden
|
||||||
|
.PTR0 = $10
|
||||||
|
.CONST0 = $10
|
||||||
|
.PTR_C = $1d
|
||||||
|
.PTR_D = $21
|
||||||
|
.PTR = $24 ;#3
|
||||||
|
.VAL0 = $30
|
||||||
|
.VAL1 = $31
|
||||||
|
.VAL2 = $32
|
||||||
|
.VAL3 = $33
|
||||||
|
.VAL4 = $34
|
||||||
|
.VAL5 = $35
|
||||||
|
and .VAL0
|
||||||
|
and .VAL1
|
||||||
|
and .VAL2
|
||||||
|
and .VAL3
|
||||||
|
and .VAL4
|
||||||
|
and .VAL5
|
||||||
|
!zone Z00006c
|
||||||
|
.NH0 = $00 ;not hidden
|
||||||
|
.NH1 = $01 ;not hidden
|
||||||
|
.PTR0 = $10
|
||||||
|
.CONST0 = $10
|
||||||
|
.PTR_C = $1d
|
||||||
|
.PTR_D = $21
|
||||||
|
.PTR = $24 ;#3
|
||||||
|
.VAL0 = $30
|
||||||
|
.VAL14 = $31
|
||||||
|
.VAL5 = $35
|
||||||
|
and .VAL0
|
||||||
|
and .VAL14
|
||||||
|
and .VAL14+1
|
||||||
|
and .VAL14+2
|
||||||
|
and .VAL14+3
|
||||||
|
and .VAL5
|
||||||
|
!zone Z000078
|
||||||
|
.NH0 = $00 ;not hidden
|
||||||
|
.NH1 = $01 ;not hidden
|
||||||
|
.PTR0 = $10
|
||||||
|
.CONST0 = $10
|
||||||
|
.PTR_C = $1d
|
||||||
|
.PTR_D = $21
|
||||||
|
.PTR = $24 ;#3
|
||||||
|
.VAL0 = $30
|
||||||
|
.VAL14 = $31
|
||||||
|
.VAL5 = $35
|
||||||
|
.DPNOP = $80 ;same as org
|
||||||
|
lda+1 DPCODE
|
||||||
|
jsr DPCODE
|
||||||
|
rts
|
||||||
|
|
||||||
|
} ;!pseudopc
|
||||||
|
!pseudopc $0080 {
|
||||||
|
DPCODE nop
|
||||||
|
lda+1 DPCODE
|
||||||
|
lda+2 DPCODE
|
||||||
|
nop
|
||||||
|
ora+2 DPCODE
|
||||||
|
@SPLIT1 lda #','
|
||||||
|
!zone Z00008a
|
||||||
|
.NH0 = $00 ;not hidden
|
||||||
|
.NH1 = $01 ;not hidden
|
||||||
|
.PTR0 = $10
|
||||||
|
.CONST0 = $10
|
||||||
|
.PTR_C = $1d
|
||||||
|
.PTR_D = $21
|
||||||
|
.PTR = $24 ;#3
|
||||||
|
.VAL0 = $30
|
||||||
|
.VAL14 = $31
|
||||||
|
.VAL5 = $35
|
||||||
|
.SPLITTER = $80
|
||||||
|
ldx $1234
|
||||||
|
beq @SPLIT1
|
||||||
|
@SPLIT2 lda ','
|
||||||
|
!zone Z000091
|
||||||
|
.NH0 = $00 ;not hidden
|
||||||
|
.NH1 = $01 ;not hidden
|
||||||
|
.PTR0 = $10
|
||||||
|
.CONST0 = $10
|
||||||
|
.PTR_C = $1d
|
||||||
|
.PTR_D = $21
|
||||||
|
.PTR = $24 ;#3
|
||||||
|
.VAL0 = $30
|
||||||
|
.VAL14 = $31
|
||||||
|
.VAL5 = $35
|
||||||
|
.SPLITTER = $80
|
||||||
|
ldx $5678
|
||||||
|
beq @SPLIT2
|
||||||
|
rts
|
||||||
|
|
||||||
|
} ;!pseudopc
|
117
SourceGen/SGTestData/Expected/20150-local-variables_cc65.S
Normal file
117
SourceGen/SGTestData/Expected/20150-local-variables_cc65.S
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
;Edited to have duplicate labels (PROJ_ZERO, DPCODE).
|
||||||
|
.setcpu "6502"
|
||||||
|
CONST_ZERO = $f0 ;project const
|
||||||
|
|
||||||
|
PROJ_ZERO = $00 ;project addr
|
||||||
|
PROJ_ONE = $01 ;project addr
|
||||||
|
|
||||||
|
; .segment "SEG000"
|
||||||
|
.org $1000
|
||||||
|
ldy PROJ_ZERO
|
||||||
|
lda (PROJ_ONE),y
|
||||||
|
sta $03 ;could be PROJ_ONE+2, but "nearby" is off
|
||||||
|
ldx $04
|
||||||
|
lda #CONST_ZERO
|
||||||
|
ora #$f1
|
||||||
|
VAR_ZERO .set $00
|
||||||
|
VAR_TWO .set $02
|
||||||
|
VAR_THREE .set $03
|
||||||
|
CONST_ZERO_VAR .set $f0
|
||||||
|
ldy VAR_ZERO
|
||||||
|
lda (VAR_ZERO+1),y
|
||||||
|
sta VAR_THREE
|
||||||
|
ldx $04
|
||||||
|
lda #$f0
|
||||||
|
ora #$f1
|
||||||
|
eor 0
|
||||||
|
ora 240
|
||||||
|
PROJ_ZERO_DUP1 .set $10 ;clash with project symbol
|
||||||
|
DPCODE_DUP1 .set $80 ;clash with user label
|
||||||
|
lda VAR_ZERO
|
||||||
|
lda VAR_ZERO+1
|
||||||
|
lda VAR_TWO
|
||||||
|
lda VAR_THREE
|
||||||
|
lda $04
|
||||||
|
lda PROJ_ZERO_DUP1
|
||||||
|
lda $11
|
||||||
|
lda z:DPCODE
|
||||||
|
ldx PROJ_ZERO
|
||||||
|
ldx PROJ_ONE
|
||||||
|
ldx $02
|
||||||
|
bit $ffa9
|
||||||
|
ldy PROJ_ZERO
|
||||||
|
ldy PROJ_ONE
|
||||||
|
ldy $02
|
||||||
|
.byte $2c
|
||||||
|
NH0 .set $00 ;not hidden
|
||||||
|
NH1 .set $01 ;not hidden
|
||||||
|
L103C: lda #$fe
|
||||||
|
beq L103C
|
||||||
|
ldy NH0
|
||||||
|
ldy NH1
|
||||||
|
ldy $02
|
||||||
|
nop
|
||||||
|
PTR0 .set $10
|
||||||
|
CONST0 .set $10
|
||||||
|
lda PTR0
|
||||||
|
ldx PTR0+1
|
||||||
|
ldy $12
|
||||||
|
lda #$10
|
||||||
|
ora #$13
|
||||||
|
;Test name redefinition. This is mostly of interest for assemblers without
|
||||||
|
;redefinable variables, but also of interest to the cross-reference window.
|
||||||
|
PTR .set $20 ;#1
|
||||||
|
ldx PTR
|
||||||
|
PTR .set $22 ;#2
|
||||||
|
ldx PTR
|
||||||
|
PTR .set $24 ;#3
|
||||||
|
ldx PTR
|
||||||
|
PTR_1: nop
|
||||||
|
PTR_A .set $20
|
||||||
|
ldy PTR_A
|
||||||
|
PTR_B .set $1f
|
||||||
|
ldy PTR_B+1
|
||||||
|
PTR_C .set $1d
|
||||||
|
ldy PTR_C+3
|
||||||
|
PTR_D .set $21
|
||||||
|
ldy PTR_C+3
|
||||||
|
VAL0 .set $30
|
||||||
|
VAL1 .set $31
|
||||||
|
VAL2 .set $32
|
||||||
|
VAL3 .set $33
|
||||||
|
VAL4 .set $34
|
||||||
|
VAL5 .set $35
|
||||||
|
and VAL0
|
||||||
|
and VAL1
|
||||||
|
and VAL2
|
||||||
|
and VAL3
|
||||||
|
and VAL4
|
||||||
|
and VAL5
|
||||||
|
VAL14 .set $31
|
||||||
|
and VAL0
|
||||||
|
and VAL14
|
||||||
|
and VAL14+1
|
||||||
|
and VAL14+2
|
||||||
|
and VAL14+3
|
||||||
|
and VAL5
|
||||||
|
DPNOP .set $80 ;same as org
|
||||||
|
lda z:DPCODE
|
||||||
|
jsr DPCODE
|
||||||
|
rts
|
||||||
|
|
||||||
|
; .segment "SEG001"
|
||||||
|
.org $0080
|
||||||
|
DPCODE: nop
|
||||||
|
lda DPCODE
|
||||||
|
lda a:DPCODE
|
||||||
|
nop
|
||||||
|
ora a:DPCODE
|
||||||
|
SPLIT1: lda #','
|
||||||
|
SPLITTER .set $80
|
||||||
|
ldx $1234
|
||||||
|
beq SPLIT1
|
||||||
|
@SPLIT2: lda ','
|
||||||
|
ldx $5678
|
||||||
|
beq @SPLIT2
|
||||||
|
rts
|
||||||
|
|
13
SourceGen/SGTestData/Expected/20150-local-variables_cc65.cfg
Normal file
13
SourceGen/SGTestData/Expected/20150-local-variables_cc65.cfg
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# 6502bench SourceGen generated linker script for 20150-local-variables
|
||||||
|
MEMORY {
|
||||||
|
MAIN: file=%O, start=%S, size=65536;
|
||||||
|
# MEM000: file=%O, start=$1000, size=126;
|
||||||
|
# MEM001: file=%O, start=$0080, size=25;
|
||||||
|
}
|
||||||
|
SEGMENTS {
|
||||||
|
CODE: load=MAIN, type=rw;
|
||||||
|
# SEG000: load=MEM000, type=rw;
|
||||||
|
# SEG001: load=MEM001, type=rw;
|
||||||
|
}
|
||||||
|
FEATURES {}
|
||||||
|
SYMBOLS {}
|
114
SourceGen/SGTestData/Expected/20150-local-variables_merlin32.S
Normal file
114
SourceGen/SGTestData/Expected/20150-local-variables_merlin32.S
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
;Edited to have duplicate labels (PROJ_ZERO, DPCODE).
|
||||||
|
CONST_ZERO equ $f0 ;project const
|
||||||
|
|
||||||
|
PROJ_ZERO equ $00 ;project addr
|
||||||
|
PROJ_ONE equ $01 ;project addr
|
||||||
|
|
||||||
|
org $1000
|
||||||
|
ldy PROJ_ZERO
|
||||||
|
lda (PROJ_ONE),y
|
||||||
|
sta $03 ;could be PROJ_ONE+2, but "nearby" is off
|
||||||
|
ldx $04
|
||||||
|
lda #CONST_ZERO
|
||||||
|
ora #$f1
|
||||||
|
]VAR_ZERO equ $00
|
||||||
|
]VAR_TWO equ $02
|
||||||
|
]VAR_THREE equ $03
|
||||||
|
]CONST_ZERO_VAR equ $f0
|
||||||
|
ldy ]VAR_ZERO
|
||||||
|
lda (]VAR_ZERO+1),y
|
||||||
|
sta ]VAR_THREE
|
||||||
|
ldx $04
|
||||||
|
lda #$f0
|
||||||
|
ora #$f1
|
||||||
|
eor 0
|
||||||
|
ora 240
|
||||||
|
]PROJ_ZERO_DUP1 equ $10 ;clash with project symbol
|
||||||
|
]DPCODE_DUP1 equ $80 ;clash with user label
|
||||||
|
lda ]VAR_ZERO
|
||||||
|
lda ]VAR_ZERO+1
|
||||||
|
lda ]VAR_TWO
|
||||||
|
lda ]VAR_THREE
|
||||||
|
lda $04
|
||||||
|
lda ]PROJ_ZERO_DUP1
|
||||||
|
lda $11
|
||||||
|
lda DPCODE
|
||||||
|
ldx PROJ_ZERO
|
||||||
|
ldx PROJ_ONE
|
||||||
|
ldx $02
|
||||||
|
bit $ffa9
|
||||||
|
ldy PROJ_ZERO
|
||||||
|
ldy PROJ_ONE
|
||||||
|
ldy $02
|
||||||
|
dfb $2c
|
||||||
|
]NH0 equ $00 ;not hidden
|
||||||
|
]NH1 equ $01 ;not hidden
|
||||||
|
L103C lda #$fe
|
||||||
|
beq L103C
|
||||||
|
ldy ]NH0
|
||||||
|
ldy ]NH1
|
||||||
|
ldy $02
|
||||||
|
nop
|
||||||
|
]PTR0 equ $10
|
||||||
|
]CONST0 equ $10
|
||||||
|
lda ]PTR0
|
||||||
|
ldx ]PTR0+1
|
||||||
|
ldy $12
|
||||||
|
lda #$10
|
||||||
|
ora #$13
|
||||||
|
;Test name redefinition. This is mostly of interest for assemblers without
|
||||||
|
;redefinable variables, but also of interest to the cross-reference window.
|
||||||
|
]PTR equ $20 ;#1
|
||||||
|
ldx ]PTR
|
||||||
|
]PTR equ $22 ;#2
|
||||||
|
ldx ]PTR
|
||||||
|
]PTR equ $24 ;#3
|
||||||
|
ldx ]PTR
|
||||||
|
:PTR_1 nop
|
||||||
|
]PTR_A equ $20
|
||||||
|
ldy ]PTR_A
|
||||||
|
]PTR_B equ $1f
|
||||||
|
ldy ]PTR_B+1
|
||||||
|
]PTR_C equ $1d
|
||||||
|
ldy ]PTR_C+3
|
||||||
|
]PTR_D equ $21
|
||||||
|
ldy ]PTR_C+3
|
||||||
|
]VAL0 equ $30
|
||||||
|
]VAL1 equ $31
|
||||||
|
]VAL2 equ $32
|
||||||
|
]VAL3 equ $33
|
||||||
|
]VAL4 equ $34
|
||||||
|
]VAL5 equ $35
|
||||||
|
and ]VAL0
|
||||||
|
and ]VAL1
|
||||||
|
and ]VAL2
|
||||||
|
and ]VAL3
|
||||||
|
and ]VAL4
|
||||||
|
and ]VAL5
|
||||||
|
]VAL14 equ $31
|
||||||
|
and ]VAL0
|
||||||
|
and ]VAL14
|
||||||
|
and ]VAL14+1
|
||||||
|
and ]VAL14+2
|
||||||
|
and ]VAL14+3
|
||||||
|
and ]VAL5
|
||||||
|
]DPNOP equ $80 ;same as org
|
||||||
|
lda DPCODE
|
||||||
|
jsr DPCODE
|
||||||
|
rts
|
||||||
|
|
||||||
|
org $0080
|
||||||
|
DPCODE nop
|
||||||
|
lda DPCODE
|
||||||
|
lda: DPCODE
|
||||||
|
nop
|
||||||
|
ora: DPCODE
|
||||||
|
:SPLIT1 lda #$2c
|
||||||
|
]SPLITTER equ $80
|
||||||
|
ldx $1234
|
||||||
|
beq :SPLIT1
|
||||||
|
:SPLIT2 lda $2c
|
||||||
|
ldx $5678
|
||||||
|
beq :SPLIT2
|
||||||
|
rts
|
||||||
|
|
159
SourceGen/SGTestData/Source/20150-local-variables.S
Normal file
159
SourceGen/SGTestData/Source/20150-local-variables.S
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
; Copyright 2019 faddenSoft. All Rights Reserved.
|
||||||
|
; See the LICENSE.txt file for distribution terms (Apache 2.0).
|
||||||
|
;
|
||||||
|
; Assembler: Merlin 32
|
||||||
|
; 6502 version
|
||||||
|
|
||||||
|
org $1000
|
||||||
|
|
||||||
|
; Define these as project symbols.
|
||||||
|
PROJ_ZERO equ $00
|
||||||
|
PROJ_ONE equ $01
|
||||||
|
CONST_ZERO equ $f0
|
||||||
|
CONST_ONE equ $f1
|
||||||
|
PTR_2 equ $f8 ;used to test uniqifier later on
|
||||||
|
|
||||||
|
ldy PROJ_ZERO
|
||||||
|
lda (PROJ_ONE),y
|
||||||
|
sta $03 ;undefined yet
|
||||||
|
ldx $04 ;undefined yet
|
||||||
|
lda #CONST_ZERO
|
||||||
|
ora #CONST_ONE
|
||||||
|
|
||||||
|
; TABLE - test redefinition of project symbol values
|
||||||
|
]VAR_ZERO equ $00 ;2b
|
||||||
|
]VAR_TWO equ $02 ;1b
|
||||||
|
]VAR_THREE equ $03 ;1b
|
||||||
|
]CONST_ZERO equ $f0 ;1b const
|
||||||
|
|
||||||
|
ldy PROJ_ZERO ;should become ]VAR_ZERO
|
||||||
|
lda (PROJ_ONE),y ;should become ]VAR_ZERO+1
|
||||||
|
sta $03 ;should become ]VAR_THREE
|
||||||
|
ldx $04 ;undefined yet
|
||||||
|
lda #CONST_ZERO
|
||||||
|
ora #CONST_ONE
|
||||||
|
|
||||||
|
eor $00 ;explicitly format as decimal
|
||||||
|
ora $f0 ;explicitly format as decimal
|
||||||
|
|
||||||
|
; TABLE - test redefinition of symbol labels
|
||||||
|
]PROJ_ZERO equ $10 ;EDIT: rename to PROJ_ZERO
|
||||||
|
]DPCODE equ $80 ;EDIT: rename to DPCODE
|
||||||
|
|
||||||
|
lda $00
|
||||||
|
lda $01
|
||||||
|
lda $02
|
||||||
|
lda $03
|
||||||
|
lda $04
|
||||||
|
lda $10
|
||||||
|
lda $11
|
||||||
|
lda $80
|
||||||
|
|
||||||
|
; TABLE/CLEAR - empty table
|
||||||
|
ldx $00
|
||||||
|
ldx $01
|
||||||
|
ldx $02
|
||||||
|
|
||||||
|
; confirm that hidden tables are skipped over
|
||||||
|
dfb $2c
|
||||||
|
; TABLE (hidden)
|
||||||
|
]HIDDEN0 equ $00
|
||||||
|
]HIDDEN1 equ $01
|
||||||
|
lda #$ff
|
||||||
|
ldy $00
|
||||||
|
ldy $01
|
||||||
|
ldy $02
|
||||||
|
|
||||||
|
dfb $2c
|
||||||
|
; TABLE (not hidden)
|
||||||
|
]NH0 equ $00
|
||||||
|
]NH1 equ $01
|
||||||
|
:label lda #$fe
|
||||||
|
beq :label
|
||||||
|
ldy $00
|
||||||
|
ldy $01
|
||||||
|
ldy $02
|
||||||
|
|
||||||
|
nop
|
||||||
|
|
||||||
|
; TABLE
|
||||||
|
]PTR0 equ $10 ;2b
|
||||||
|
]CONST0 equ $10 ;4b
|
||||||
|
lda ]PTR0
|
||||||
|
ldx ]PTR0+1
|
||||||
|
ldy ]PTR0+2 ;should be hex
|
||||||
|
lda #]CONST0
|
||||||
|
ora #]CONST0+3
|
||||||
|
|
||||||
|
; test redefinition of name
|
||||||
|
|
||||||
|
; TABLE
|
||||||
|
]PTR equ $20 ;2b
|
||||||
|
ldx ]PTR
|
||||||
|
; TABLE
|
||||||
|
]PTR equ $22 ;2b
|
||||||
|
ldx ]PTR
|
||||||
|
; TABLE
|
||||||
|
]PTR equ $24 ;2b
|
||||||
|
ldx ]PTR
|
||||||
|
|
||||||
|
; define user label to try to trip up the uniqifier
|
||||||
|
PTR_1 nop
|
||||||
|
|
||||||
|
|
||||||
|
; test redefinition of value
|
||||||
|
; TABLE/CLEAR
|
||||||
|
]PTR_A equ $20 ;2b
|
||||||
|
ldy ]PTR_A ;PTR_A
|
||||||
|
]PTR_B equ $1f ;2b
|
||||||
|
ldy ]PTR_A ;PTR_B+1
|
||||||
|
]PTR_C equ $1d ;4b
|
||||||
|
ldy ]PTR_A ;PTR_C+3
|
||||||
|
]PTR_D equ $21 ;1b
|
||||||
|
ldy ]PTR_A ;should come up as hex
|
||||||
|
|
||||||
|
; TABLE
|
||||||
|
]VAL0 equ $30 ;1b
|
||||||
|
]VAL1 equ $31 ;1b
|
||||||
|
]VAL2 equ $32 ;1b
|
||||||
|
]VAL3 equ $33 ;1b
|
||||||
|
]VAL4 equ $34 ;1b
|
||||||
|
]VAL5 equ $35 ;1b
|
||||||
|
and ]VAL0
|
||||||
|
and ]VAL1
|
||||||
|
and ]VAL2
|
||||||
|
and ]VAL3
|
||||||
|
and ]VAL4
|
||||||
|
and ]VAL5
|
||||||
|
; TABLE
|
||||||
|
]VAL14 equ $31 ;4b
|
||||||
|
and ]VAL0
|
||||||
|
and ]VAL1 ;these four become ]VAL14
|
||||||
|
and ]VAL2
|
||||||
|
and ]VAL3
|
||||||
|
and ]VAL4
|
||||||
|
and ]VAL5
|
||||||
|
|
||||||
|
|
||||||
|
; TABLE - test direct page label vs. variable
|
||||||
|
]DPNOP equ $80
|
||||||
|
lda ]DPNOP
|
||||||
|
jsr DPCODE
|
||||||
|
rts
|
||||||
|
|
||||||
|
org $0080
|
||||||
|
DPCODE nop
|
||||||
|
lda DPCODE ;should be DPNOP
|
||||||
|
lda |DPCODE ;should be DPCODE
|
||||||
|
nop
|
||||||
|
ora |DPCODE ;should be DPCODE
|
||||||
|
|
||||||
|
; Local label test. ca65 v2.18 erases cheap local label scope when it
|
||||||
|
; encounters a constant or .set.
|
||||||
|
LOCAL1 lda #$2c ;EDIT: format as ASCII
|
||||||
|
ldx $1234 ;put variable table here with one arbitrary entry
|
||||||
|
beq LOCAL1
|
||||||
|
LOCAL2 lda $2c ;EDIT: format as ASCII
|
||||||
|
ldx $5678 ;put empty variable table here
|
||||||
|
beq LOCAL2
|
||||||
|
rts
|
@ -2,8 +2,7 @@
|
|||||||
; See the LICENSE.txt file for distribution terms (Apache 2.0).
|
; See the LICENSE.txt file for distribution terms (Apache 2.0).
|
||||||
;
|
;
|
||||||
; Assembler: Merlin 32
|
; Assembler: Merlin 32
|
||||||
|
; 65816 version
|
||||||
; EDIT: add __ENABLE_LABEL_LOCALIZATION to project symbols
|
|
||||||
|
|
||||||
org $1000
|
org $1000
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user