312 lines
11 KiB
Plaintext
312 lines
11 KiB
Plaintext
|
From: raymoon@ms1.dgsys.com (Raymond Moon)
|
||
|
Newsgroups: alt.lang.asm,comp.lang.asm.x86,news.answers,alt.answers,comp.answers
|
||
|
Subject: x86 Assembly Language FAQ - A86 and D86
|
||
|
Supersedes: <70vrps$1p4$6@news.dgsys.com>
|
||
|
Followup-To: alt.lang.asm,comp.lang.asm.x86
|
||
|
Date: 23 Nov 1998 18:10:10 GMT
|
||
|
Organization: MoonWare
|
||
|
Lines: 291
|
||
|
Approved: news-answers-request@MIT.EDU
|
||
|
Distribution: world
|
||
|
Expires: Sun, 20 Dec 1998 23:59:59 GMT
|
||
|
Message-ID: <73c8e2$nos$6@news.dgsys.com>
|
||
|
Reply-To: raymoon@moonware.dgsys.com
|
||
|
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 Assemby Language ASM FAQ A86 D86
|
||
|
|
||
|
|
||
|
Archive-Name: assembly-language/x86/a86
|
||
|
Posting-Frequency: monthly (21st of every month)
|
||
|
Last-modified: 1998/10/25
|
||
|
|
||
|
------------------------------
|
||
|
|
||
|
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.
|
||
|
Lastly, the current version is available from my web page as:
|
||
|
As text files:
|
||
|
http://www2.dgsys.com/~raymoon/faq/asmfaq.zip
|
||
|
As HTML documents:
|
||
|
http://www2.dgsys.com/~raymoon/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: ftp://ds.internic.net/rfc/rfc1738.txt
|
||
|
|
||
|
Suggestions for changes and comments are always welcome. They can be
|
||
|
posted to either newsgroup or e-mailed directly to me.
|
||
|
|
||
|
Author: Raymond Moon, raymoon@moonware.dgsys.com
|
||
|
Copyright 1998 - Raymond Moon
|
||
|
ALL RIGHTS RESERVED
|
||
|
Last Changed: 25 Oct 98
|
||
|
|
||
|
|
||
|
------------------------------
|
||
|
|
||
|
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
|
||
|
|
||
|
------------------------------
|
||
|
|
||
|
Subject: 3. What is A86 Assembler and Where Can I Get It
|
||
|
|
||
|
3.1 A86 ASSEMBLER - A86V402.ZIP
|
||
|
|
||
|
The A86 is Eric Isaacson's shareware assembler. The latest version is
|
||
|
4.02 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
|
||
|
|
||
|
New features of version 4.02 are:
|
||
|
* INCLUDE file support
|
||
|
* listings
|
||
|
* no limit on size of source files
|
||
|
* forward references in complex expressions
|
||
|
* END operand
|
||
|
* default ORG END in DATA SEGMENT
|
||
|
|
||
|
3.2 D86 DEBUGGER - D86V402.ZIP
|
||
|
|
||
|
The D86 is Eric Isaacson's shareware debugger. The latest version is
|
||
|
4.02. 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
|
||
|
|
||
|
New features of version 4.02 are:
|
||
|
* Keystroke scripts
|
||
|
* macro keys
|
||
|
* Undo command
|
||
|
* file copy and delete
|
||
|
|
||
|
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
|
||
|
|
||
|
All files are available from SimTel
|
||
|
|
||
|
ftp://ftp.simtel.net/pub/simtelnet/msdos/asmutl
|
||
|
|
||
|
|
||
|
mget ?86* For all files
|
||
|
or
|
||
|
mget ?86v402.zip or the basic A86 and D86 files
|
||
|
|
||
|
Contributor: Raymond Moon, raymoon@moonware.dgsys.com
|
||
|
Last changed: 4 Nov 95
|
||
|
|
||
|
------------------------------
|
||
|
|
||
|
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 the 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@moonware.dgsys.com
|
||
|
Last changed: 8 Jan 95
|
||
|
|
||
|
------------------------------
|
||
|
|
||
|
Subject: 5. A386/D386 Availability
|
||
|
|
||
|
I have received the following information about A386/D386 availability
|
||
|
from the author, Mr.Eric Isaacson:
|
||
|
|
||
|
A preliminary version of A386+D386 currently is shipping on the
|
||
|
registered A86+D86 disk. The A386 implements the entire 386/486/Pentium
|
||
|
instruction set, including 32-bit registers, 32-bit expression
|
||
|
arithmetic, and 32-bit memory indexing. The only major feature not yet
|
||
|
implemented is segments of type USE32 (i.e., flat mode). There is not
|
||
|
any schedule date for completing that last feature.
|
||
|
|
||
|
Note that the A86-only registered disk does not have A386. the A386 disk
|
||
|
is available for $80 to get A386 ($82 overseas, $84 in Indiana). The
|
||
|
printed manual that covers everything is an additional $10 ($15
|
||
|
overseas, $10.50 in Indiana).
|
||
|
|
||
|
If you already have registered A86+D86, the A386 disk is available for
|
||
|
the normal update service fee of $10 ($12 overseas, $10.50 in Indiana).
|
||
|
If A86 but not D86 is registered, the A386 disk is available for $40
|
||
|
($42 overseas or Indiana). Again, the printed manual is extra.
|
||
|
|
||
|
Contributor: Raymond Moon, raymoon@moonware.dgsys.com
|
||
|
Last changed: 20 May 95
|
||
|
|
||
|
------------------------------
|
||
|
|
||
|
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 user
|
||
|
tries to boot from the disk. Works with non-system disks through
|
||
|
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: Ray Moon, raymoon@moonware.dgsys.com
|
||
|
Last changed: 20 Dec 96
|
||
|
|
||
|
------------------------------
|
||
|
|
||
|
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: http://eji.com/a86.zip
|
||
|
For D86: http://eji.com/d86.zip
|
||
|
|
||
|
Contributor: Raymond Moon, raymoon@moonware.dgsys.com
|
||
|
Last changed: 16 Apr 96
|
||
|
|
||
|
------------------------------
|
||
|
|
||
|
Subject: 8. A86 Tutorial
|
||
|
|
||
|
Homer Tilton has written a simple tutorial on A86 using DEBUG as the
|
||
|
debugger. It is available from:
|
||
|
|
||
|
http://www6.zdnet.com/cgi-bin/texis/swlib/hotfiles/info.html?fcode=000804
|
||
|
|
||
|
Contributor: Raymond Moon, raymoon@moonware.dgsys.com
|
||
|
Last changed: 31 Aug 97
|
||
|
|
||
|
------------------------------
|
||
|
|
||
|
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.
|
||
|
|
||
|
John Krueger and Gary Smith
|
||
|
|