{ 0, "--all-callee-saves", &options.all_callee_saves, "callee will always save registers used" },
{ 0, "--use-accelerator", &options.useAccelerator,"generate code for DS390 Arithmetic Accelerator"},
{ 0, "--stack-probe", &options.stack_probe,"insert call to function __stack_probe at each function prologue"},
- { 0, "--tini-libid", NULL,"<nnnn> LibraryID used in -mTININative"}
+ { 0, "--tini-libid", NULL,"<nnnn> LibraryID used in -mTININative"},
+ { 0, "--protect-sp-update", &options.protect_sp_update,"DS390 - will disable interrupts during ESP:SP updates"},
+ { 0, "--parms-in-bank1", &options.parms_in_bank1,"MCS51/DS390 - use Bank1 for parameter passing"}
};
/** Table of all unsupported options and help text to display when one
WRITE_SEG_LOC (XDATA_NAME, options.xdata_loc);
/* indirect data */
- WRITE_SEG_LOC (IDATA_NAME, options.idata_loc);
+ if (IDATA_NAME)
+ WRITE_SEG_LOC (IDATA_NAME, options.idata_loc);
/* bit segment start */
WRITE_SEG_LOC (BIT_NAME, 0);
if (srcFileName)
{
- preProcess (envp);
initMem ();
port->finaliseOptions ();
+ preProcess (envp);
initSymt ();
initiCode ();