A86 (software)
A86 is an assembler for MS-DOS which generates 16-bit code for the Intel x86 family of microprocessors. Written by Eric Isaacson, it released as shareware in June 1986. The assembler is contained in one 32K executable and can directly produce a COM file or an object file for use with a standard linker. It comes with a debugger, D86.[1][2] Speed of assembly is a primary selling point, and Isaacson claimed that A86 could assemble 100,000 lines of source per second on a Pentium II or better.[3] Isaacson added 32-bit support in the mid 1990s in the form of A386 and D386.[1][2] These were not distributed as shareware, but were provided to users who registered A86. While supporting expected x86 syntax, A86 and A386 do not require directives, such as The A86 family of products was never ported to Microsoft Windows, but it is possible to use the object files created by A386 with a Windows linker.[4] The assembler does not support 64-bit code. A86-specific featuresAny label consisting of one letter followed by one or more digits is local and can be redefined as needed, with each definition replacing the prior. The manual recommends using Numbers starting with a zero are hexadecimal, such as Multiple registers can be pushed or popped on the same source line. There's shorthand for conditionally executing a single instruction. If Macros use a different syntax than contemporaneous assemblers. Code fingerprintThe assembler was designed to use particular instruction encodings which are functionally equivalent, but together create a fingerprint that's embedded in the executable file. This is mentioned in the legal terms section of the manual. The fingerprint makes it possible to tell if code was assembled with A86 and also to distinguish between registered and unregistered versions of the assembler. This analysis requires access to the source code.[6] References
|