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.
" -l[filename] Create an output listing file\n"
" -n Don't do things behind your back in RISC assembler\n"
" -o file Output file name\n"
- " -p[n] Create an ST .prg (1=normal, 2=w/symbols)\n"
+ " -p Create an ST .prg (without symbols)\n"
+ " -ps Create an ST .prg (with symbols)\n"
" Forces -fa\n"
" -r[size] Pad segments to boundary size specified\n"
" w: word (2 bytes, default alignment)\n"
" 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 for Atari Jaguar\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;
strcpy(fnbuf, firstfname);
fext(fnbuf, (prg_flag ? ".prg" : ".o"), 1);
- fext(fnbuf, ".o", 1);
objfname = fnbuf;
}