
New features in Release 174
===========================

1) Errors/Warnings
==================

i)    All warning/error messages tidied up to give errors in
   the form

   ***   <source line producing the error/warning>
"<filename>", line <n>: Warning/Error <number>: <description of error>


ii)   Errors and Warnings always go to the 'verstream' even if a listing
   file is specified.

iii)  Return codes:
           0  --  All is OK
           5  --  warnings but no real errors
          10  --  At least one error
          20  --  aborted (e.g. couldn't find a header file)
         100  --  catastrophic (something has gone seriously wrong)

2) IFD/IFND implemented
=======================

   This is to match up with ifdef/ifndef as in 'C'


3) D option
===========

  This can be used with the S (symbol dump) option, to ensure that
any local labels (those beginning with '.' or nnn$) are NOT dumped
along with all the other meaningful symbol names.



Bug Fixes
=========

1) Shift right bug fixed to do a LOGICAL not ARITHMETIC shift
2) Long EQU's no longer appear as short EQU's in the listing file.
3) Reading in large numbers on the IBM PC. Any number base 2,8 or 16
   will be correctly read in. 
4) Garbage inside FALSE conditional assembly bodies is correctly ignored.


Still to be done
================
   Attempt to speed up the 'C' version by replacing all the I/O
routines in 'blib.c'.


FEATURES:
=========

1)  
       MOVE.L   D1,FRED
   FRED:
       DC.L 0
       MOVE.L   D2,FRED

    The first MOVE instruction will be assembled as 32 bit absolute
  with a reloaction record appended because FRED is a forward reference.
  The second MOVE instruction will result in an error because the
  assembler tries to use the PC-relative mode for the destination
  which is not allowed. In the latter case, should the assembler use
  the 32 bit absolute + relocation approach rather than give an error?

2)
   Large numbers (base 10) may not be correctly read in on the IBM PC.
   To evaluate 'abc' the assembler uses the ((a*10)+b)*10+c algorithm.
   This is OK unless the bit 31 needs to be set.


                            PJF (16-MAY-85) 
                            ===============


Updates to release 175
======================

1) args to writef needed to be cast as long
     asm7:newvec and asm4:amigaget
       
2) in amigaget, don't use 'newvec' to get space to
   construct a filename - use a local!!

3) When printing out whether relocatable/position independent
   the test should have a '==' not a '=' [asm1].

4) Workspace messages in bytes, so number given with the W option
   will be assumed to be in bytes.

5) 'stvdefsize' in 'asm1' should be of type 'unsigned' for the IBM version

6) argument for 'getvec' in 'blib.c' will must be of type 'unsiged' 
   for the IBM version.

7) Fixed bug in asm7.readline. After the second 'warning(173)' we must
   set linelength = maxllen

8) asm7.error print filename as part of diagnostics.

9) REG bug fixed

Version 177
===========

1) asm2.allocatevecs :- the size passed to gvec when allocating space
   for a text/data code vector should be mx/bytesperword.

2) asm7.newvec :- changed the test for 'out of workspace'.
   rather than 'if (nstvecp < stvec)' use 'if ( (stvecp-stvec) <= n )'.

Version 178
===========

1) New memory management scheme so Workspace option removed.

Version 179
===========
 
1) Small fix to output correct format symbol dumps for IBM PC
   Version. (no effect on SUN version whatsoever).

		    (PJF 5/JUL/85)
		    ===============

