Shop OBEX P1 Docs P2 Docs Learn Events
Version 1.00 of AAC PASM tool posted. Elementary optimizations added. LMM ver — Parallax Forums

Version 1.00 of AAC PASM tool posted. Elementary optimizations added. LMM ver

Bob AndersonBob Anderson Posts: 122
edited 2010-01-15 10:53 in Propeller 1
I implemented an elementary optimization in the AAC tool suite: redundant jumps inside "if" and "case" statements are detected and eliminated.

I am mulling an LMM version using a kernel with basic floating point support (at least: add, subtract, multiply, divide).· But I'm also working with Catalina C and ImageCraft C compilers, so my own interest may wane.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

Comments

  • RossHRossH Posts: 5,519
    edited 2010-01-14 08:41
    Hi Bob,

    I think there is definitely room for a dedicated LMM assembler. But keep in mind that you'll be competing not only with Bill Henning's "LAS", but also with Homespun (a tool which never seems to get the credit it deserves).

    A lot of people probably don't realize that you can already use Homespun (in conjunction with the Catalina LMM kernel) to compile PASM programs up to 32kb (i.e. up to 8192 opcodes) and also have built-in floating point support. Or you can use Homespun (in conjunction with the Catalina XMM kernel) to compile PASM programs several megabytes in size. And Homespun has macros, conditional assembly and a lot of other nifty features.

    But also having high-level structures such as "if" statements and "case" statements in assembly language could make AAC a very attractive alternative to both SPIN and C for some applications - for a start, it would be faster than either.

    Ross.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Catalina - a FREE C compiler for the Propeller - see Catalina

    Post Edited (RossH) : 1/15/2010 1:25:06 AM GMT
  • Bob AndersonBob Anderson Posts: 122
    edited 2010-01-14 14:56
    @Ross

    All good comments. But darn it, you're the guy that indirectly got me thinking about this anyway! I am using AAC to help me write the source code debugger for Catalina (as you know) and the more I use AAC (and evolve it) the more I like it. It was intended to help write cog PASM code only. I knew that there were many other mature efforts around to support LMM style PASM programs residing in the hub (and elsewhere in XMM) and reinventing the wheel is of no interest to me. Too much of that happens already by accident. Cluso99 has tried to build a list to help with this "reinventing the wheel" problem. That list will help if he keeps at it, but Parallax hasn't seen fit yet to even make his thread sticky.

    Anyway, never fear, such "mulling" is low in priority compared to the Catalina debugger effort.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • RossHRossH Posts: 5,519
    edited 2010-01-14 21:40
    Bob,

    I know what you mean. I had to make a deliberate decision not to frequent these forums as much as I would like - there is just so much interesting stuff going these days on that you can easily end up never getting any of your own work done. But the downside of this is that you miss out on many developments and can indeed end up reinventing the wheel.

    One possibility would be to update the Propeller wiki (http://propeller.wikispaces.com/Development+Tools) to include Cluso's list of Prop developments (Edit - I see that this was already suggested in Cluso's list).

    Ross.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Catalina - a FREE C compiler for the Propeller - see Catalina

    Post Edited (RossH) : 1/14/2010 10:34:58 PM GMT
  • Cluso99Cluso99 Posts: 18,069
    edited 2010-01-15 10:53
    OT Each time I see someone add to my thread I try to update it in the top post. Occaisonally one slips through, but I will find it the next time through.

    I get caught all the time reinventing things only to find them starring me in the face, but I was too busy to realise at the time it would be useful later - SphinxOS is one in particular.

    Bob, your AAC needs a post in the Prop Tools thread and a link to the discussion thread so I can add it. Thanks.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
    · Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
Sign In or Register to comment.