Add assembler

Does not yet support masking