Bit of a mess at the moment.  I'm trying to change the way assemblers arguments are handled to completely decouple specific assembler arguments from the generic assembler arguments.