Alan Baldwin's Assembler Package

NEW! Version 2.2 Now Available For Download as of Feb 3, 2000!

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.