## 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 */
    };

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

... Home Page