home *** CD-ROM | disk | FTP | other *** search
- CHAPTER 15 RELEASE HISTORY OF A86
-
- Virtually all releases of A86 include bug fixes. If I don't say
- anything about a release, then it was essentially only bug fixes.
-
- V2.10 June 1986. Initial public release of the MSDOS version of
- A86. The last previous version ran under the Xenix
- operating system on the Altos series of computers.
- Upgrades from that previous version included:
-
- * cleaning up the command invocation to allow default
- output files
-
- * insertion of full error messages, not just number codes
-
- * automatic removal of error messages upon reassembly
-
- * addition of features for compatibility with Microsoft's
-
- V2.11 June 1986. Added RADIX command.
-
- V2.12 Test release for Alan Tschetter and Charlotte Wood
-
- V2.13 July 1986. Reduced memory requirements.
-
- V2.15 August 1986. Implemented COMMENT directive for
- compatibility; added floating point instruction set and DQ
- and DT directives.
-
- V2.16 August 1986. Made internal changes to accommodate forward
- referencing in D86's patch-memory mode.
-
- V2.18 November 1986.
-
- V2.90 March 1987. Test release for .OBJ support.
-
- V3.00 April 1987. Major upgrade:
-
- * added support for linkable .OBJ files
-
- * added pagination and indexing to manual
-
- * added long constants and floating-point constants
-
- * added A86LIB library tool and A86 support
-
- * added ability to forward-reference variables
-
- * added ability to add to and index forward references
-
- * added 286 protected-mode instructions
-
- * added NEC-specific instructions
-
- * added option not to insert errors in source
-
- * added option for long forward JMP for local labels
-
- * added switch for default decimal
- 15-2
-
- * added "=" equate compatibility feature
-
- * added double-quoted strings compatibility feature
-
- * underscores allowed within numbers
-
- * leading $ and ? allowed in symbols, for compatibility
-
- * parentheses no longer required for most DUP right
- operands
-
- * less type checking for pointer arithmetic compatibility
-
- * numerous minor bug fixes
-
- V3.01 April 1987. Minor enhancements:
-
- * original file had been renamed to no extension, not OLD
-
- * some forward reference and OBJ operands didn't work
-
- * file name reporting in undefineds-list was sometimes off
-
- * wider display columns, for longer LIB source file names
-
- * segment overrides outlawed in 3-operand MOV
-
- * forward references outlawed in numeric-operand INC/DEC
-
- * add support for near jumps between OBJ segments
-
- * add "S" suppress-symtab and "C" case-sensitivity
- switches
-
- V3.02 May 1987.
-
- V3.03 May 1987.
-
- V3.04 May 1987.
-
- V3.05 June 1987. Added the following features for MASM
- compatibility:
-
- * recognition of SEGMENT AT in non-OBJ mode
-
- * ignore END directive in non-OBJ mode
-
- V3.07 July 1987. Added features necessary for Turbo C support
- (+c, +f, +F switches; ignore DGROUP:). Generalized the
- environment variable to include macro files. Added the
- ampersand feature. Made = compatible with MASM.
-
- V3.08 July 1987.
- 15-3
-
- V3.09 August 1987. Legalized MOV segreg,immediate. Duplicated
- MASM functionality for case sensitive mode (A86's +C
- switch). Added ability to make aliasing EQU to an
- external name. Made FAKE.EXE into an honest EXE file,
- instead of a COM masquerading as EXE.
-
- V3.10 September 1987. Added a printed version of the manual.
- Added +c switch, reinstating case sensitivity during
- assembly, but this time without sensitivity in built-in
- symbols.
-
- V3.11 November 1987. Added the SEG operator for compatibility
- with Turbo C, and made it possible to define relocatable
- segments called CODE, DATA, or STACK, for compatibility
- with Turbo Pascal.
-
- V3.12 February 1988. Added features:
-
- * Changed the format of SYM files, so that they are much
- smaller yet hold more information. This allows D86,
- XREF, and EXMAC to work better with A86.
-
- * A86 now allows an aribtrary expression to appear in a
- conditional assembly (#IF) directive.
-
- * Added macro features, for compatibility: #V value
- operator, #S size operator, #N number operator, #EX exit
- directive, string comparison of operands, and large
- operand numbers (up to 255).
-
- * To overcome a Turbo C bug, allowed embedded blanks in
- symbols declared via an EXTRN directive. I dropped this
- feature in V3.13; see below.
-
- V3.13 March 1988. Made memory management more flexible, to
- allow A86 to run with less available memory. Added a
- small feature to ease Turbo C compatibility: if there is a
- segment override to a forward refernce, the reference is
- assumed to be a variable, not an immediate value. This
- eliminates the need for the EXTRN kluge of the above
- paragraph, so I dropped that kluge.
-
- V3.14 March 1988.
-
- V3.15 May 1988. Allowed up-arrow in place of equals-sign in
- invocation equates. Allowed MOV mem,mem and XCHG of a
- variety of new forms, generating sequences of instructions
- to implement the unavailable forms.
-
- V3.17 June 1988.
-
- V3.18 July 1988. For compatibility: allowed OFFSET segname, and
- implicitly converted a constant with a segment override
- into a memory type.
-
-