If you think through the constraints, fasmarm is a weak choice for a number of reasons. Writing a simple macro assembler is a couple of hours work in the right language. Weigh that up against unraveling an unknown instruction set and bit encodings. The uart and flasher samples were posted with a tiny assembler over a month ago (only using scalar). I have a separate tool now, which I'd prefer not to release - because someone is working on binutils which is a much better choice for the ecosystem.jamesh wrote:Just out of interest can it cope with mixed vector/scaler code? I'm thinking it probably can.DexOS wrote:There's no need to write a assembler, they could just write a add on to fasm like they did for fasmarm, as its designed to be module.jamesh wrote: So at the end of the day, you have the ability to write machine code (unless you also write an assembler),
Mixing vector/scalar is ok. The vector instructions just have to accept the register slice addressing (eg. H(32, 16++) and the modifiers, then choose between the compact and long form of the packing.
The QPU is treated separately as its essentially completely unrelated and the use cases are different. I'm working loosely off a 3-slot "VLIW" form:
<add-or-logic-alu-slot> <sep> <mul-alu-slot> [<sep> <control-slot>]