"pdata",
"reentrant",
"sfr",
+ "sfr16",
+ "sfr32",
"sbit",
"using",
"xdata",
-void mcs51_assignRegisters (eBBlock ** ebbs, int count);
+void mcs51_assignRegisters (ebbIndex *);
static int regParmFlg = 0; /* determine if we can register a parameter */
1, 2, 2, 4, 1, 2, 3, 1, 4, 4
},
{
- "XSTK (PAG,XDATA)",
- "STACK (DATA)",
- "CSEG (CODE)",
- "DSEG (DATA)",
- "ISEG (DATA)",
- "PSEG (PAG,XDATA)",
- "XSEG (XDATA)",
- "BSEG (BIT)",
- "RSEG (DATA)",
- "GSINIT (CODE)",
- "OSEG (OVR,DATA)",
- "GSFINAL (CODE)",
- "HOME (CODE)",
- "XISEG (XDATA)", // initialized xdata
- "XINIT (CODE)", // a code copy of xiseg
+ "XSTK (PAG,XDATA)", // xstack_name
+ "STACK (DATA)", // istack_name
+ "CSEG (CODE)", // code_name
+ "DSEG (DATA)", // data_name
+ "ISEG (DATA)", // idata_name
+ "PSEG (PAG,XDATA)", // pdata_name
+ "XSEG (XDATA)", // xdata_name
+ "BSEG (BIT)", // bit_name
+ "RSEG (DATA)", // reg_name
+ "GSINIT (CODE)", // static_name
+ "OSEG (OVR,DATA)", // overlay_name
+ "GSFINAL (CODE)", // post_static_name
+ "HOME (CODE)", // home_name
+ "XISEG (XDATA)", // xidata_name - initialized xdata initialized xdata
+ "XINIT (CODE)", // xinit_name - a code copy of xiseg
+ "CONST (CODE)", // const_name - const data (code or not)
NULL,
NULL,
1
},
{ _mcs51_genExtraAreas, NULL },
{
- +1, 0, 4, 1, 1, 0
+ +1, /* direction (+1 = stack grows up) */
+ 0, /* bank_overhead (switch between register banks) */
+ 4, /* isr_overhead */
+ 1, /* call_overhead (2 for return address - 1 for pre-incrementing push */
+ 1, /* reent_overhead */
+ 0 /* banked_overhead (switch between code banks) */
},
- /* mcs51 has an 8 bit mul */
{
+ /* mcs51 has an 8 bit mul */
1, -1
},
{
mcs51_emitDebuggerSymbol
},
{
- 255/3, /* maxCount */
- 3, /* sizeofElement */
+ 256, /* maxCount */
+ 2, /* sizeofElement */
{6,9,15}, /* sizeofMatchJump[] */
{9,18,36}, /* sizeofRangeCompare[] */
4, /* sizeofSubtract */
- 7, /* sizeofDispatch */
+ 6, /* sizeofDispatch */
},
"_",
_mcs51_init,