Welcome

ASxxxx Cross Assembler Bug Reports and User Requests

*---*---*---*---*
20-Nov-1998:

I am in the process of developing a Freeware C compiler for
8-16 bit microcontrollers , and have decided to use ASXXXX
as the assembler.

Now the question.... I like the idea of local labels a lot .. since this
will save a lot of effort in name mangling ... but to use this
effectively I need to expand the 256 limit to something in the
range of 2^15 ..   is this feasable ??

Which source files will I need to modify  to accomplish this ??

Thanks in advance
Regards
Sandeep

--
+---------------------------------------------------+
| Sandeep Dutta : Sandeep_Dutta-CSD001@email.mot.com|
| Motorola Inc. : LMPS Software Research Lab        |
+---------------------------------------------------+



Sandeep,

Modify ASXXXX.H

Changing  the variable type from 'char' to 'int'
for t_num and t_flg in the structure tsym will
increase the allowable number of temporary symbols
to 65536 (0 - 65535)  between normal symbol definitions.
The definition for the structure tsym is found in ASXXXX.H

Recompile the assemblers.


Note that the temporary symbols are not hashed.  A linear
search is used to find the symbol and may take some time
if there are many thousands of symbols between two normally
constructed symbols.


/* **-- ASXXXX.H --** */

/* ** BEFORE ** */
struct  tsym
{
        struct  tsym *t_lnk;    /* Link to next */
        char t_num;             /* 0-255$ */
        char t_flg;             /* flags */
        struct  area *t_area;   /* Area */
        addr_t  t_addr;         /* Address */
};

/* ** AFTER ** */
struct  tsym
{
        struct  tsym *t_lnk;    /* Link to next */
        int  t_num;             /* 0-65535$ */
        int  t_flg;             /* flags */
        struct  area *t_area;   /* Area */
        addr_t  t_addr;         /* Address */
};

*---*---*---*---*

... Return to the ASxxxx Assembler Index

... Home Page