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. For this "public offering", I cleaned up the invocation syntax, upgraded the error-reporting facility, and started adding compatbility features. V2.11 June 1986. Added RADIX command. 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 added support for linkable .OBJ files, long constants and floating-point constants, A86LIB library tool and A86LIB support, ability to forward-reference variables, 286 protected-mode and NEC-specific instructions, options not to insert errors in source, long forward JMP for local labels, and default decimal, "=" equate compatibility feature, double-quoted strings, and parentheses no longer required for most DUP right operands. V3.01 April 1987. Added "S" suppress-symtab and "C" case-sensitivity switches V3.04 May 1987. V3.05 June 1987. Added recognition of SEGMENT AT in non-OBJ mode, and 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. 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. 15-2 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. Changed the format of SYM files, so that they are much smaller yet hold more information. Allowed an arbitrary expression to appear in a conditional assembly (#IF) directive. Added macro features: #V value operator, #S size operator, #N number operator, #EX exit directive, string comparison of operands, and large operand numbers (up to 255). V3.13 March 1988. Made memory management more flexible, to allow A86 to run with less available memory. 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. V3.19 August 1988. V3.20 July 1989. Made internal redesign of handling of size- override operators (B, W, D, F, etc.) so they are handled more consistently. Outlawed first DATA SEGMENT without a strating ORG statement, forcing an explicit ORG 0 for future compatibility. Allowed more forward references, including immediate-byte quantities in all applicable instruction forms. V3.21 August 1989. V3.22 January 1990. Added support for additional coprocessors: the 80387 and the IIT-2C87. Made numerous minor changes to enhance MASM-compatibility. V3.70 January 1994. Test release for INCLUDE support, forward ORGs, default ORG for DATA SEGMENT to the end of the program, listing files, macros in A86LIB, K numeric base, the DEF and REF operators, numeric operands to MOVx and STOSx, enforcement of processor-specific instructions, forward references in complicated expressions, and symbols beginning with a period. 15-3 V3.71 April 1994. V3.72 September 1994.