Shop OBEX P1 Docs P2 Docs Learn Events
A tool aid to PASM cog programming. Version 0.98 — Parallax Forums

A tool aid to PASM cog programming. Version 0.98

Bob AndersonBob Anderson Posts: 122
edited 2009-11-19 05:13 in Propeller 1
A new object has been posted:

Augmented Assembly Code(PreSpin version)
http://obex.parallax.com/objects/540/

This program works in conjunction with PreSpin (Ariba's program) and the Propeller Tool as an aid for people who write assembly code for the Parallax Propeller© chip.

PreSpin is a preprocessor that adds a macro capability, comprehensive conditional compilation, c style "include" files, and a "context help" for Propeller language elements including PASM. The version supplied in this distribution (PreSpinAAC) then calls AAC to do its preprocessing/compiling.· Ariba (Andy Schenk) graciously provided·this customized version of PreSpin to make the combination even easier to use.

The AAC (Augmented Assembly Code) preprocessor looks for "tagged" lines in DAT blocks (usually interspersed with regular PASM instructions) and emits a second file for subsequent processing by the Propeller Tool.· It is a tiny compiler that generates reasonably compact PASM code.

AAC provides: indexing and indirection for all standard opcodes; a loop structure that can be nested; a case control structure that can be nested; conditional execution of the if...elseif...elseif...else...endif type that can be nested; simple substitution statements of the form sum += y[noparse][[/noparse]k]; a convention for declaring and using subroutines that allows for nesting of subroutine calls; a rudimentary conditional compilation feature.

PreSpinAAC launches Propeller Tool and is very easy to use.· There is a comprehensive manual included in the release that can be easily opened from within PreSpinAAC.

The "standalone" version of AAC was previously released here:

Augmented Assembly Code(standalone version)
http://obex.parallax.com/objects/533/

I intend to maintain both versions in parallel.

Post Edited (Bob Anderson) : 11/19/2009 5:19:48 AM GMT

Comments

  • Bob AndersonBob Anderson Posts: 122
    edited 2009-11-08 17:55
    If you want to use the latest (very nice) Propeller Manual, you will have to rename it from "Propeller Manual v1.1.pdf" to "Propeller Manual v1.01.pdf" and load a new index file. I have supplied the index file to use (PropellerManual1.1.txt). It will have to be renamed to PropellerManual.txt for PreSpin to find and use.

    This "fiddling" is needed because PreSpinAAC is hardcoded to look for "Propeller Manual v1.01.pdf" and its associated index file must be named "PropManualIndex.txt" in order to properly "jump" to the proper manual page.

    It's worth the trouble (IMHO) to have easy and quick access to the manual.··Just highlight a word·and click on Context Help and the relevant manual page will appear.
  • Bob AndersonBob Anderson Posts: 122
    edited 2009-11-19 05:13
    I have just uploaded Version 0.98 to the Object Exchange

    Partial revision history...

    0.98· Fixed: a void subroutine with no parameters was causing an exception
    ······· Fixed: a subroutine call with empty parameters was giving an error message
    ······· Fixed: in AACclient, if you tried to create a file by enabling edits, it wasn't
    ················ possible to write either the source or the output file.

    0.97· Now processes "tagged" lines only if they are in a DAT block.

    0.96· Fixed bug in case statement that was allowing "fall-through" into "otherwise"

    0.95· Added a labeled fit statement (emitted when finishCodeSection is used) that makes
    ····· it easy to see how much cog memory has been used.· The manual has been updated to
    ····· show this feature.
Sign In or Register to comment.