char * cmdlnexec; // Executable name, pointer to ARGV[0]
char * searchpath; // Search path for include files
char defname[] = "noname.o"; // Default output filename
-
+int optim_flag; // Optimise all the things!
//
// Manipulate file extension.
" d: double phrase (16 bytes)\n"
" q: quad phrase (32 bytes)\n"
" -s Warn about possible short branches\n"
+ " and applied optimisations\n"
" -u Force referenced and undefined symbols global\n"
+ " -w Turn off optimisations done automatically\n"
" -v Set verbose mode\n"
+ " -x Turn on debugging mode\n"
" -y[pagelen] Set page line length (default: 61)\n"
"\n", cmdlnexec);
}
//
void DisplayVersion(void)
{
- printf("\nReboot's Macro Assembler\n"
+ printf("\n"
+ " _ __ _ __ ___ __ _ ___ \n"
+ "| '__| '_ ` _ \\ / _` |/ __|\n"
+ "| | | | | | | | (_| | (__ \n"
+ "|_| |_| |_| |_|\\__,_|\\___|\n"
+ "\nReboot's Macro Assembler\n"
"Copyright (C) 199x Landon Dyer, 2011-2015 Reboot\n"
"V%01i.%01i.%01i %s (%s)\n\n", MAJOR, MINOR, PATCH, __DATE__, PLATFORM);
}
orgactive = 0; // Not in RISC org section
orgwarning = 0; // No ORG warning issued
segpadsize = 2; // Initialise segment padding size
+ optim_flag = 1; // Automatically optimise
// Initialise modules
InitSymbolTable(); // Symbol table
DisplayVersion();
break;
+ case 'w':
+ case 'W':
+ optim_flag=0;
+ break;
case 'x': // Turn on debugging
case 'X':
debug = 1;