Welcome

ASxxxx Cross Assembler Bug Reports and User Requests

*---*---*---*---*
8-Nov-1999:

I have a problem with aslink (with the exe-file you supply with
v2.2 as well as my own built aslink) under Linux OS.

The files from the ExApp Project:
	(from simpleRTJ - simple Real Time Java for the m68hc11,
	http://members.xoom.com/simpleRTJ/Trials/Introduction.html)
cause a segmentation fault.

Under DOS the hole project is correctly built, also with the
aslink-input files, that i build with as6811 under Linux !
So problem seems to be aslink.

Maybe you have a clue !?

Sincerely, Ingo Beckmann [ingo.beckmann@FernUni-Hagen.de]


Ingo,

  There is a bug in ASLINK:
	The Linux function 'fclose(sfp)' causes a segmentation
	fault if the file (having a file handle sfp) has
	already been closed.  (The file handle becomes
	invalid after the file is closed, a subsequent
	call to fclose(sfp) with the invalid file handle
	causes the segmentation fault.)

	The bug is that after I closed the input file
	I did not set the file handle to NULL so that
	the routine LKEXIT() would not try to close
	the file a second time.

	(The DOS libraries seem to have a method to verify if
	the file handle is valid before using it.)

  Version 2.3 fixes this problem.

*---*---*---*---*
*---*---*---*---*
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