gnupic: Thread: ANNOUNCE gpasm-0.8.15


[<<] [<] Page 1 of 1 [>] [>>]
Subject: ANNOUNCE gpasm-0.8.15
From: Scott Dattalo ####@####.####
Date: 3 Jan 2001 14:46:51 -0000
Message-Id: <Pine.LNX.4.21.0101030843320.17326-100000@tempest2.blackhat.net>

Craig Franklin has been busy - extremely busy. He has made numerouse changes to
gpasm to make it more compatible with MPASM. You can grab the latest copy here:

http://www.dattalo.com/gnupic/gpasm.html
http://www.dattalo.com/gnupic/gpasm-0.8.15.tar.gz

(Note - I'll be "fixing" the web pages shortly so that there is only one
"official" gpasm web page).

Here's what Craig has done:

bugs.patch
----------

1.  When numeric arguments were passed to a function that expects a symbol,
GPASM reported the error as "Expression to Complex".  This has been changed to
illegal argument to conform with MPASM.  

2.  A previous patch always warned the user then option or tris was used.  I
have learned that MPASM doesn't warn the user on p16c5x devices.  The behavior
has been modified to conform with MPASM.

case_sensitive_defines.patch
----------------------------

1.  The -c option now makes the #defines case sensitive.

cmd_line.patch
--------------

1.  Command line setting of the warning level is supported.  Like MPASM, 
command line arguments override settings in the source code. All command 
line settings now have flags indicating the value was set by the 
command line and it can't be overwritten by the asm source code.  A warning 
or message is posted to the user.

2.  Output hex file format can now be chose using LIST f=<inhx8m|inhx8s|inhx32>.  

config_bug.patch
----------------

1.  GPASM 0.8.14 has a bug were the org isn't reset after a config is called. 
This is normally not seen because most people place the config statements before
their first org.  This patch saves the org before the config is ran then 
restores it afterword.

2.  GPASM 0.8.14 doesn't print the config information to the list file correctly
for pic18cxx devices. 

error_codes.patch
-----------------

1.  Several new codes have been added for new tests.

fill.patch
----------

1.  The FILL directive works.  It works the same as MPASM with one important 
exception.  It does't support the use of a line of assembly as an argument.  
That is not a problem because the while statement can do the same thing. 

inhx32.patch
------------

1.  GPASM now generates inhx32 format.  In adding this, a structural change had 
to be made.  Previously, the MEMBLOCK segment size was 64K words.  I changed 
this to 32K words.  I did this because the 32K words (or 64K bytes) is equal 
to one segment.  Which, conviently, is the maximum size for a inhx8m file and
the size of one inhx32 segment.

list_bug.patch
--------------

1.  The list file had some extra blanks.  These were fixed.

lst_linetype.patch
------------------

1.  All of the directives and instuctions now have the correct list linetype 
assignment.  I abandoned the default method because of too many special cases.

2.  The RADIX directive had a linetype assignment of ORG, it should be none.

3.  The ORG directive originally had the correct line type assignment of ORG. 
It was changed to EQU in version 1.8 of opcode.c.  I don't know the reason.  
This patch changes it back.

4.  The PAGE directive had a linetype assignment of ORG, it should be NONE.

scan.patch
----------

1.  Directives in scan.l (include, define, ..) are now all case insensitive.
There are many instances in microchips appnotes of SubTitle, Title, ...
GPASM 0.8.14 dosesn't recognize them.  The change was to add "-i" to flex
when GPASM is compiled this makes the scan.l case insensitive.

2.  #undefine now works.  Previously symbols could be redefined by having
another instance of #define.  Doing so will now result in a warning.  Symbols
must be defined and undefined and defined again to be reassigned.

3.  Previously, #define could only appear in column 1.  Now it does not. This
occurs in micorchip include files.  An example is shown below in #4.

4.  Previously, #defines were executed regardless of assembling being enabled. 
An example would be a set of defines inside an IF statement.  This case occurs
when Micorchip's include file for 16c5x devices is used.

------------------------

Like I said, he's been busy!

Scott

[<<] [<] Page 1 of 1 [>] [>>]


Powered by ezmlm-browse 0.20.