From the hyperlinks below, you can download the AS6811 Assembler Package written by Alan Baldwin in the Physics Department of Kent State
University in Ohio. This assembler is what the M6811DIS disassembler was targetted for. By targetting a
specific assembler, many many hours of fixing, tweaking, and retyping code are saved. The output from my disassembler should directly
reassemble with this assembler. These files were copied over from the original site for ease in finding them and downloading
them. However, you may also wish to checkout the original FTP site where these were obtained in case there are new updates that have
been posted there. His download site for the assembler can be found at: ftp://shop-pdp.kent.edu.
You will also be interested to know that this assembler package contains much more than just the AS6811 assembler. It contains
assemblers for the 6500, 6800, 6801, 6804, 6805, 6808, 6809, 6811, 6812, 6816, 8051, 8085, Z80, and H8. And, his latest versions
contain ports to Linux!! YEAH!
Also, DO NOT CONFUSE THIS PACKAGE WITH THE FREEWARE MOTOROLA AS11 ASSEMBLER. This package is much better!
Originally, when I first started development on the disassembler, I was using version 1.5 of his assembler. But, I have
recently tested his newest 2.2 version with the disassembler and it works as well! However, since I've spent a lot more time
using the 1.5 version and know its performance level with the disassembler better, I'm continuing to post both version 1.5 and the
latest version 2.2. I am also posting the 1.5 version in two forms -- an unaltered form directly from Alan and a modified
version of just the AS6811 portion that is compiled with a larger memory model and has the optimization for "page zero" accesses
removed as needed to produce an exact binary output when reassembling non-optimized code that has been disassembled with the
disassembler. For more information on this, please read my disassembler instruction manual. Version 2.2 will also need to be
modified in this way - mainly, to remove the zero page optimizer. I haven't had an opportunity to create a modified package of the
version 2.2 code yet, so you'll have to make the change yourself or just download and use the older version 1.5. When
time permits, I will create and post a modified version 2.2 (or newer version if one is out by then). The modification needed
for version 2.2 is identical to that of version 1.5 (see below). I also have version 2.1 online as well. For some reason,
Alan has kept both 2.1 and 2.2 on his FTP site, so I have both here as well.
Enjoy!
Use the "Save As" option in your browser to keep your browser from auto-launching any associated plug-in you have
installed.
So what did I change on the "modified" version? Well, basically all I did was
change line 88 (version 1.5, line 83 in version 2.2) in the "m11adr.c" file to read: "esp->e_mode = S_EXT;" instead of "esp->e_mode = S_DIR;". This
causes the assembler to treat addresses that are not prefixed with the "*" symbol and is an address of 255 (0xFF) or less, as an extended
address rather than a direct address - that is, do not optimize it. This is needed since addresses in this range can be treated as
either extended or direct, and if the original code was't already optimized to a direct address, then the final binaries wouldn't match when
reassembled. The only other thing I did was compile the program with a larger memory model than Alan originally compiled with so that
it will handle larger source files - like the 1994 4.3L CMFI engine calibration I was originally working on.
Use the back-button on your browser to return back to previous page.