From: Benjamin David Lunt on
X-Disclaimer: Approval for *.answers is based on form, not content.
Approved: news-answers-request(a)MIT.EDU
Followup-To: alt.lang.asm,comp.lang.asm.x86
Organization: Forever Young Software
Distribution: world
Expires: Thur, 22 Jan 2015 23:59:59 GMT
Summary: This is the FAQ for the x86 Assembly Language programmers for the
alt.lang.asm and comp.lang.asm.x86 newsgroups. This particular section of
the FAQ contains x86 assembly information specific to the Eric Isaacson's
shareware A86 assembler and D86 debugger.
Keywords: x86 Assembly Language ASM FAQ A86 D86
Archive-Name: assembly-language/x86/a86
Posting-Frequency: monthly (21st of every month)
Last-modified: 2004/03/03
------------------------------


Subject: 1. Introduction and Intent
This is the x86 Assembly Language FAQ for the comp.lang.asm.x86 and
alt.lang.asm newsgroups. This FAQ is posted monthly on or about the
21st of the month to both newsgroups and news.answers, alt.answers and
comp.answers. It also is archived at the normal FAQ archival site,
ftp://rtfm.mit.edu and to SimTel and its mirror sites in the msdos/info
directory and Garbo and its mirrors in the pc/doc-net directory. When
uploaded to SimTel or Garbo, the filenames are asmxxyyz.zip, where xx is
the two digit year, yy is the number of the month and z is t for text or
h for HTML format. Lastly, the current version is available from my web
page:
http://www.fysnet.net/faq/index.htm

Zipped down as text files:
http://www.fysnet.net/faq/asmfaq.zip
Zipped down as HTML documents:
http://www.fysnet.net/faq/asmfaqh.zip

Currently, this FAQ is broken into six sections. The following are the
section filenames and the scope of each section of the FAQ.

assembly-language/x86/general/part1 - This is the basic portion of the
FAQ that contains information of interest to all assembly language
programmers. In general, the information contained in this portion
of the FAQ is not specific to any particular assembler.
assembly-language/x86/general/part2 - This is a continuation of the
above FAQ.
assembly-language/x86/general/part3 - This is a continuation of the
above FAQ.
assembly-language/x86/microsoft - This portion of the FAQ contains
information specific for the Microsoft MASM.
assembly-language/x86/borland - This portion of the FAQ contains
information specific for the Borland TASM.
assembly-language/x86/a86 - This portion of the FAQ contains information
specific for the Shareware A86 Assembler and D86 Debugger.

The scope and content of this FAQ is to go beyond just answering the
frequently asked questions. I am including pointers to assembly
language treasure troves that are hidden on the Internet. I believe
that this will enhance the FAQ's value not only to the novices but also
to the old hands.

For the ease of determining what has changed since the last FAQ, the
Table of Contents will have "REVISED" at the end of the subject line for
all revised subjects. If more than one FAQ revision has been missed,
the "Last Changed:" entry at the end of each subject can be used to
determine which subjects have been revised during the intervening
period.

The information in this FAQ is free for all to use as long as you
acknowledge the source. This FAQ can be reproduced in part or in its
entirety as long as the copyright is included. This FAQ can be made
available on public servers, like ftp, gopher or WWW servers. Please do
not modify the file, such as converting it into some other format,
without prior permission of the author.

All references to files and locations are in Uniform Resource Locators
(URLs) format. Some web browser will be able to use these URLs directly
as hot links. If the format is not clear to you, get RFC 1738. It is
available from:
http://www.faqs.org/rfcs/rfc1738.html

Suggestions for changes and comments are always welcome. They can be
posted to either newsgroup or e-mailed directly to me.

This FAQ was created and maintained by Raymond Moon before I
took it over. Many thanks to Ray for the effort in creating
this FAQ. Even though most of the links and names have been changed
to mine, the credit still goes to Ray for the work he did. Thanks Ray.

Author: Benjamin David Lunt, fys_at_fysnet.net
Copyright 2004 - Forever Young Software
ALL RIGHTS RESERVED
Last Changed: 3 Mar 2004

Return to the Table Of Contents
------------------------------
Subject: 2. Table of Contents
1. Introduction And Intent
2. Table of Contents
3. What is A86 Assembler and Where Can I Get It
4. Structuring Assembly Language in A86
5. A386/D386 Availability
6. A86 Source Code Site
7. Eric Isaacson's A86 Assembler and D86 Debugger Web Page
8. A86 Tutorial
9. Acknowledgments

[General][MASM][TASM][A86/D86]
------------------------------
Subject: 3. What is A86 Assembler and Where Can I Get It
3.1 A86 ASSEMBLER - ver 4.05

The A86 is Eric Isaacson's shareware assembler. The latest version is
4.05 and support up to the 286 instruction set. This assembler does not
support the extended registers and instructions introduced with the 386
processor. This assembler accepts assembly language source files, and
transforms them directly into either: (1) .COM files executable under MS-
DOS, starting at offset 0100 within a code segment; (2) .OBJ files
suitable for feeding to a linker; or (3) object files starting at
offset 0, suitable for copying to ROMs. A86 is a full-featured program
designed to be as closely compatible to the standard Intel/IBM assembly
language as possible.

Some of A86's features are:
* Assembly speed
* Ease of use
* Support modular programming even in .COM files
* Support very large programming projects
* Full featured macro capability
* Support for math coprocessor instructions
* Supported by its own debugger, D86

3.2 D86 DEBUGGER - ver 4.05

The D86 is Eric Isaacson's shareware debugger. The latest version is
4.05. D86 is a screen-oriented debugger that facilitates the
troubleshooting of faulty computer programs written for the IBM-PC and
all compatibles. D86 can freeze the state of a program so that the
values of registers, flags, and memory can be investigated. The
program's execution can be monitored by stepping it one instruction or
procedure at a time; or starting the program running, telling D86 to
stop it when it reaches certain locations. D86 recognizes the symbol-
table output of the A86 assembler, creating a symbolic disassembly of a
A86 program, and allowing referenced to locations and variables by name.

Some of D86's features are:
* Values of registers, flags and stack top are displayed at a fixed
location on the screen.
* Support for viewing memory contents in a variety of types including
complicated structures.
* Support for displaying math coprocessor registers

3.3 OTHER FILES

A86CNVRT.ZIP

This file contains information on converting MASM files into A86 files.
The information is dated and a better source is Chapter 12 of the A86
documentation.

D86BIOS4.ZIP

If your computer does not have an IBM-compatible BIOS, this file will
help getting D86, the debugger, to work with your BIOS.

3.4 FILE AVAILABILITY

Currently, V4.05 is not available from SimTel. Get these directly from
the author:
http://eji.com/a86.zip (249k)
(includes boht A86 and D86)

Other files are available from SimTel

ftp://ftp.simtel.net/pub/simtelnet/msdos/asmutl/a86cnvrt.zip
ftp://ftp.simtel.net/pub/simtelnet/msdos/asmutl/d86bios4.zip

Contributor: Raymond Moon, raymoon(a)moonware.dgsys.com
Last changed: 03 Mar 2004

Return to the Table Of Contents
------------------------------
Subject: 4. Structuring Assembly Language in A86
John Barnes has converted the macros from Kurt Schindler's Structure:
The Complete Toolkit for Structuring Assembly Language Programs. John
Barnes warns that every macro has not been proofed and tested
completely.

These macros are available from SimTel.

ftp://ftp.simtel.net/pub/simtelnet/msdos/asmutl/struca86.zip

Contributor: Raymond Moon, raymoon(a)moonware.dgsys.com
Last changed: 03 Mar 2004

Return to the Table Of Contents
------------------------------
Subject: 5. A386/D386 Availability
I have received the following information about A386/D386 availability
from the author, Mr.Eric Isaacson:

The latest version of A386 and D386 is available on the registered
A86+D86 disk. A386 covers the complete instruction set of the 386/486/
Pentium/PentiumPro/MMX/PentiumII/PentiumIII/3DNow, including the 32-bit
register set, 32-bit instruction operands, 32-bit memory indexing (now
including forward references combined with 32-bit indexing), 32-bit
expression arithmetic, and assembly to 32-bit protected-mode segments
(USE32 mode and FLAT mode).

Contributor: Raymond Moon, raymoon(a)moonware.dgsys.com
Last changed: 03 Mar 2004

Return to the Table Of Contents
------------------------------
Subject: 6. A86 Source Code Site
The only A86 Source code site is Simtel and its mirrors. The following
two files are available there:

colrboot.zip
Writes a boot sector to floppies which displays color text if the user
tries to boot from the disk. Works with non-system disks through the
BIOS. The display is NOT a file. Choice of many displays. Can
boot from C drive etc. Useful A86 boot sector source code included.

kwikhelp.zip
Lets you create your own TSR screens easily and quickly. Includes
A86 source code.

Contributor: Raymond Moon, raymoon(a)moonware.dgsys.com
Last changed: 03 Mar 2004

Return to the Table Of Contents
------------------------------
Subject: 7. Eric Isaacson's A86 Assembler and D86 Debugger Web Page
7.1 A86/D86 WEB PAGE

Eric Isaacson has his own web page for the A86 Assembler and the D86
Debugger. The URL is:
http://eji.com/a86/index.htm
The topics of this page are:
Overview of A86
Overview of D86
A86 and D86 Features
A386 and D386 Status
Downloading A86 and D86

7.2 GETTING A86 AND D86 STRAIGHT FROM THE HORSES MOUTH

As indicated above, you can get the A86 assembler and D86 Debugger right
from the author's web site. The URLs are:

For A86/D86: http://eji.com/a86.zip

Contributor: Raymond Moon, raymoon(a)moonware.dgsys.com
Last changed: 03 Mar 2004

Return to the Table Of Contents
------------------------------
Subject: 8. A86 Tutorial
8.1 TILTON'S TUTORIAL

Homer Tilton has written a simple tutorial on A86 using DEBUG as the
debugger. It is available from:

http://oopweb.com/Assembly/Documents/asm4Cowards/VolumeFrames.html
[Broken]
?/Assembly/Documents/asm4Cowards/Volume/COWARD8.html [Broken]

8.2 DARKSTAR'S TUTORIAL

Darkstar has a a86 tutorial on the web. It is in HTML format. It is
available from:

http://www.csn.ul.ie/~darkstar/assembler/index.html

Contributor: Raymond Moon, raymoon(a)moonware.dgsys.com
Last changed: 03 Mar 2004

Return to the Table Of Contents
------------------------------
Subject: 9. Acknowledgments
I would like to acknowledge all the people who have assisted me or any
of the contributors. For their time and effort, this FAQ is a better
product.

Raymond Moon
John Krueger and Gary Smith

Return to the Table Of Contents