A simple absolute mode assembler for 6800/6801. Handles the complete published set of opcodes/mnemonics. Should be source-language compatible with the common assemblers in use circa 1985.
Produces basic S1/S9 object files and assembly listings. Now also produces straight binary images and MC-10 compatible .c10 cassette images.
Does not have macros and is missing some of the common pseudo-ops like "PAG". M4, sed, or a text editor with a decent find-replace function may be useful for the pseudo-ops.
Or, you have the source, you can add the pseudo-ops you want. Maybe the symbol table won't break. :-<
Source files may end in .68c or an extension of your choice, including .asm and such. (I finally had five minutes and got enough confidence that the extension wouldn't matter for what I'm doing with this.)
Example command line, producing both .bin binary and .c10 images in addition to s1/s9 .x images, listing the second pass, and using the OS output redirect to save the listing:
asm68c -l2 -bin -c10 VTL_6801_mc10.asm >VTL_6801_mc10.list
(I'm not sure how much of the following is still true:) Also, partly because of the .68c file extension silliness, the current working directory has to be the same where the assembler source is, so you will generally either use a full path (absolute or relative) to call the assembler, or install it by hand wherever in your executable path you install such things (/usr/local/bin or ~/bin, etc.).
(The silly little thing where I set it up to use LDA/LDB mnemonics instead of LDAA/LDAB is now fixed.)
I'm not sure why I leave the download button here. You probably want to use git to get the latest version, or at least download a snapshot of the latest version, in the code project. (Ignore a68c-code, for now, please.)
I can't figure out how to get git to work, so this poor thing is 6 days behind on the source tree it shows in the new UI (or whatever you call this).
Okay, I found the url for the new git repository for the new user interface (Why did this happen?) and added it to my remotes, so now the repositories should remain in sync.
(git config --add remote.origin.url)
You can browse the full git repository via http at
http://asm68c.git.sourceforge.net/
even though the code menu item is stuck.
The code browsing links now work as they should (since I figured out where the repositories are and how to sync them).
The git repository as shown by sourceforge is now correct. You don't need the url in the grandparent post.
I have been testing the output using the exorciser emulator, exorsim
https://sourceforge.net/projects/exorsim
with some success. I can start the simulator with the --mon opion (directly to monitor), and copy/paste the s1-s9 output (.x output file.)
Check the discussions area for me talking to myself about the LDA vs. LDAA syntax stuff. It's fixed at this point.