You are on page 1of 4

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 cleanup up the invocation
syntax, upgraded the error-reporting facility, and started
added 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 support for linkable .OBJ files
* added long constants and floating-point constants
* added A86LIB library tool and A86LIB support
* added ability to forward-reference variables, and to add
to and index forward references
* added 286 protected-mode and NEC-specific instructions
* added options not to insert errors in source, long
forward JMP for local labels, and default decimal
* added "=" equate compatibility feature
* added double-quoted strings compatibility feature
* parentheses no longer required for most DUP right
operands
V3.01 April 1987. Minor enhancements:
* original file had been renamed to no extension, not OLD
* segment overrides outlawed in 3-operand MOV
* forward references outlawed in numeric-operand INC/DEC
15-2
* 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.
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.
15-3
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.
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.

You might also like