Home Blog About Nueron NuOS software Contact


cfasm status


Version 2.92
Copyright (C) 1998-2006 Austex Software. All rights reserved.
Original code Motorola, used with permission.
Modifications/Enhancements by Stephen Smith.

History

  • 25-Nov-1999 (SJS) Added IDNT handling. [V1.0]
  • 27-Nov-1999 (SJS) Fixed problem with label calcs entering reloc tables. [V1.01]
  • 03-Dec-1999 (SJS) Added more MOVEC registers for MCF5407. [V1.02]
  • 04-Dec-1999 (SJS) Modified push/pull to support only one register. [V1.03]
  • 05-Apr-2000 (SJS) Comments now allowed in include statements. [V1.04]
  • 13-Apr-2000 (SJS) Added "intouch" instruction from CF5407 NDA information. [V1.05]
  • 24-Jun-2000 (SJS) Added '~' unary operator. [V1.06]
  • 06-Jul-2000 (SJS) Fixed bug with recent code modification. Added incbin functionality. [V1.07]
  • 17-Jul-2000 (SJS) Fixed bug with PC conversion. [V1.08]
  • 20-Aug-2000 (SJS) Fixed bug with longfilenames for PC. [V1.09]
  • 05-Jan-2001 (SJS) Bumped revision. [V1.10]
  • 13-Jan-2001 (SJS) Fixed bug with enforcer hits in xref handling on large files. The symref[] array was overflowing, causing CodeCList[] to be overwritten. [V1.11]
  • 19-Jan-2001 (SJS) Modified drel handling. [V1.12]
  • 17-Feb-2001 (SJS) Updated format. [V1.13]
  • 18-Feb-2001 (SJS) Some Amiga test code has been in the XREF output section and caused the PC port not to work. [V1.14]
  • 20-Feb-2001 (SJS) Fixed bug with xref handling. [V1.15]
  • 06-Apr-2001 (SJS) Fixed format restrictions of bit manipulation instructions. Added options: cpu - sets cpu restriction level Added optimise options:- moveq, addq, subq, branch, all, none. Optimiser will change move to moveq, add to addq, sub to subq and improve branches. Some fixes to opcode generation. [V1.20]
  • 07-Apr-2001 (SJS) Fixed xref generation in various sections. [V1.21-1.22]
  • 21-Apr-2001 (SJS) An error is now reported when an xdef can not be exported. [V1.23-1.24]
  • 26-Apr-2001 (SJS) Modified cpushl syntax. Can now do cpushl xc,(Ry) format. TPF instruction added (same as TRAPF). [V1.25-1.26]
  • 28-Apr-2001 (SJS) Fixed bug with end-of-file termination regarding single TAB characters on a line by itself at the end of an assembly file. [V1.27-1.28]
  • 01-May-2001 (SJS) Enhancements to XDEF handling. [V1.29-1.30]
  • 02-May-2001 (SJS) Added environment variable cfasmincl, so that include files can be easily located. [V1.31-1.32]
  • 13-May-2001 (SJS) Increased number of parsed items in a line to 32 (was 16). [V1.33-1.34]
  • 22-May-2001 (SJS) Fixed branch optimisation on subroutines. [V1.35-1.36]
  • 26-May-2001 (SJS) Better add/sub optimisation code. Unrecognised optimise flag now gives a warning. [V.137-1.38]
  • 03-Jun-2001 (SJS) Implemented classtag routines. [V1.39-1.40]
  • 06-Jun-2001 (SJS) Added index optimisation: (0,ax) to (ax). It isn't as easy as it looks... [V1.41-1.48]
  • 07-Jun-2001 (SJS) Added boundary pseudo-up. [V1.49-1.50]
  • 17-Jun-2001 (SJS) Fixed mov3q opcode generation for ColdFire5407 processor. [V1.51-1.52]
  • 21-Jun-2001 (SJS) Forward references within conditional blocks now produce an error. Fixed error filename reporting mechanism. [V1.53-1.60]
  • 24-Jun-2001 (SJS) Added new opcode handling for v4e core emac instructions. Finally fixed the annoying last line of listing sometimes containing previous characters. [V1.61-1.70]
  • 11-Jul-2001 (SJS) Fixed bug with conditional assembly and forward references. Equates that don't evaluate in pass one produce an error. [V1.71-1.72]
  • 23-Jul-2001 (SJS) Classtag values in conditional blocks now displayed in listing. [V1.73-1.74]
  • 29-Jul-2001 (SJS) Added callres and callusr pseudo-ops for calling resource functions from within resources or user code. [V1.75-1.78]
  • 02-Aug-2001 (SJS) Errors on comments after labels now fixed. [V1.79-1.80]
  • 19-Aug-2001 (SJS) Fixed minor end-of-file conditions. This only applies to source files that terminated in a non line-feed character. [V1.81-1.82]
  • 10-Oct-2001 (SJS) Fixed bug with macl "upper" generation. [V1.83-1.84]
  • 03-Nov-2001 (SJS) Modification of allowed type combinations has fixed some phasing errors and improved code optimisation. [V1.85-1.88]
  • 05-Nov-2001 (SJS) Bad branch destinations no longer produce phasing errors. Some modifications to error messages. [V1.89-1.90]
  • 09-Nov-2001 (SJS) Modified conditional handling. [V1.91-1.92]
  • 09-Dec-2001 (SJS) Added floating-point handling. MMU support added. [V1.93-1.96]
  • 10-Dec-2001 (SJS) Finalising floating-point code extensions. [V1.97-1.98]
  • 11-Dec-2001 (SJS) Added code for some minor pseudo-ops. [V1.97-1.98]
  • 20-Jan-2002 (SJS) Fixed bug with optimise and index modes. [V1.99-1.99a]
  • 12-Mar-2002 (SJS) Support for mcf5249 added. [V1.99b]
  • 24-Mar-2002 (SJS) Finalising new version. Added string equates for constants. DS now extended. [V1.99c]
  • 17-May-2002 (SJS) Fixed bug with alignment of data. [V2.00]
  • 31-May-2002 (SJS) Fixed bug with floating point exponents. [V2.01]
  • 28-Jun-2002 (SJS) Fixed bug with addi and subi undefined size code generation. These opcodes now support optimisation. [V2.02]
  • 06-Jul-2002 (SJS) Fixed bug with opcode post generation after previous optimisation. Added -u flag for cpu specific unsized opcode mode. Added "no" options to optimise. [V2.03]
  • 18-Aug-2002 (SJS) Modified source code handling for higher compatibility. Added command line option -c for cpu selection. [V2.04]
  • 22-Aug-2002 (SJS) Updated blocks. Fixed problem with s-record synchronization. [V2.05]
  • 23-Aug-2002 (SJS) Modified binary handling of sections. Data is now exported from sections other than code. Added processor block. [V2.06-2.20]
  • 08-Oct-2002 (SJS) Added lea optimisation. [V2.21-2.22]
  • 16-Nov-2002 (SJS) Added mcf5280 and mcf5282. [V2.23-2.24]
  • 02-Mar-2003 (SJS) Bumped for release. [V2.25-2.26]
  • 08-Apr-2003 (SJS) LEA optimisation phasing errors fixed. [V2.27-2.28]
  • 24-Apr-2003 (SJS) Removed emit debug code.CMPI instruction no longer allows non data register compares. [V2.29-2.30]
  • 15-May-2003 (SJS) Call function zero offset bug fixed. [V2.31-2.32]
  • 11-Jun-2003 (SJS) Added enumeration pseudo ops. [V2.33-2.40]
  • 05-Aug-2003 (SJS) Added ISA+ instructions. Some EMAC instruction extensions were not reporting errors on non-EMAC processors. S-Record end output corrected. [V2.41-2.50]
  • 08-Oct-2003 (SJS) Modified internal register references (other_a7, flashbar). [V2.53-2.54]
  • 06-Nov-2003 (SJS) Fixed problem with classtags and label references not generating relocatable blocks. [V2.55-2.56]
  • 17-Dec-2003 (SJS) Increased forward reference handling size and can be modified via new command line option. Fixed problem with evaluation of sectioned variables and generation of linker data. [V2.57-2.60]
  • 11-Jan-2004 (SJS) Added mcf5281. [V2.61-2.62]
  • 04-Mar-2004 (SJS) Added new v4e processors. [V2.63-2.64]
  • 15-Mar-2004 (SJS) Increased line buffer size. Fixed problem with relocatable block generation under specific conditions. [V2.65-2.70]
  • 16-Mar-2004 (SJS) Evaluation operators on single chars now allowed. [V2.71-2.72]
  • 30-Mar-2004 (SJS) Added mcf5214 and mcf5216 processors. [V2.73-2.74]
  • 27-Apr-2004 (SJS) Added mcf5270,mcf5271,mcf5274 and mcf5275 processors. [V2.75-2.76]
  • 18-May-2004 (SJS) Added mcf5232,mcf5233,mcf5234 and mcf5235 processors. [V2.77-2.78]
  • 31-May-2004 (SJS) Fixed problem with evaluation of '*' causing relocation entry. [V2.79-2.80]
  • 22-Mar-2005 (SJS) Code generation involving SR register fixed. [V2.81-2.90]
  • 07-Jun-2005 (SJS) Added mcf5207,mcf5208,mcf5211-mcf5213 processors. [V2.91-2.92]
  • 20-Nov-2005 (SJS) Added mcf532x and mcf537x processors. [V2.93-2.94]
  • 20-Aug-2006 (SJS) Added mcf5222x and mcf5223x processors. [V2.95-2.96]
  • Known problems

  • No known problems.


  • For further information on how to obtain these utilities, or how to contribute to this development please contact Technical Support.