propasm - Assembler for the Parallax Propeller
propasm is a command-line assembler for the Parallax Propeller.
Features
- Supports the same syntax and mnemonics as the Parallax Propeller
Tool's built-in assembler (with a few caveats, see below).
- Generates files that can be loaded with the Propeller Tool.
- Supports input in US-ASCII or UTF-8, and allows the full
Unicode character set in labels and identifiers.
- Runs on any platform and architecture with Java 5 available.
- Really fast (assembles average-size programs in under 10ms on a
MacBook Pro).
- Extensible architecture allows for future enhancements like macros,
alternative mnemonics, or new directives.
- Modular assembler core and instruction set model also
make an excellent code generation stage for compilers.
- Open-source (GPL).
Limitations and Caveats
- propasm does not yet have a companion tool for actually
loading the binary files onto the Propeller. For the time being,
you must use the Propeller Tool for this.
- The Parallax assembler format is not specified by a formal grammar,
so propasm's implementation may differ in subtle ways
(beyond the intentional deviations like Unicode support). A formal
grammar for our implementation is available in the sources.
- propasm does not support SPIN, as you might suspect from
the fact that it's an assembler.
- propasm does not currently support inline arithmetic/logic
expressions, either for constant values or operands. This will be
addressed in the next version.
- propasm currently requires input files to either be in
US-ASCII or UTF-8. Encodings like MacRoman or Windows CP1252 will
work as long as you don't use funny characters.
See the full List of Differences for more.
System Requirements
- A Java5-compliant JVM, which most operating systems include by
default. (The obvious exception is Windows. If you're on Windows,
simply download the
Sun JRE.
You may also consider complaining to Microsoft for failing to
provide a basic feature shipped with every other major operating
system.)
propasm is a command-line tool and does not have a graphical
user interface.
Download
Usage
From the directory where you installed propasm.jar, run
java -jar propasm.jar with your assembly files as arguments.
Assembly files should not contain separate CON, VAR, PUB, or PRI sections,
or the DAT section header — they should contain only the assembly
instructions that would follow DAT in a SPIN file.
Note for Mac and Windows users: This was mentioned above,
but people seem to be overlooking it. propasm must be run from
the command line. Double-clicking the JAR file will get you no
appreciable results.