Updated the Parser to try and give 'AddressParameter's more meaning depending on the SymbolType.
This commit is contained in:
+22
-2
@@ -109,7 +109,17 @@ int main(int argc, char* args[]) {
|
||||
break;
|
||||
case AddressParameter:
|
||||
if (ins->ParameterOne->InterpretedAs == AddressParameter) printf("[%s]", ins->ParameterOne->Value.Symbol);
|
||||
else printf("%s", ins->ParameterOne->Value.Symbol);
|
||||
else {
|
||||
Symbol* s = TryGetSymbol(ins->ParameterOne->Value.Symbol, image->SymbolsTable);
|
||||
|
||||
switch(s->Type) {
|
||||
case NumericSymbol:
|
||||
printf("%s {%d}", s->Name, s->Value.Number);
|
||||
break;
|
||||
default:
|
||||
printf("%s", ins->ParameterOne->Value.Symbol);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
printf("\n");
|
||||
@@ -133,7 +143,17 @@ int main(int argc, char* args[]) {
|
||||
break;
|
||||
case AddressParameter:
|
||||
if (ins->ParameterTwo->InterpretedAs == AddressParameter) printf(", [%s]\n", ins->ParameterTwo->Value.Symbol);
|
||||
else printf(", %s\n", ins->ParameterTwo->Value.Symbol);
|
||||
else {
|
||||
Symbol* s = TryGetSymbol(ins->ParameterTwo->Value.Symbol, image->SymbolsTable);
|
||||
|
||||
switch(s->Type) {
|
||||
case NumericSymbol:
|
||||
printf(", %s {%d}\n", s->Name, s->Value.Number);
|
||||
break;
|
||||
default:
|
||||
printf(", %s\n", ins->ParameterTwo->Value.Symbol);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
printf("\n");
|
||||
|
||||
Reference in New Issue
Block a user