Assembler on CMM2


Author Message
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5908
Posted: 06:13am 06 May 2026      

  twofingers said  
I doubt that PIO assembler is a better solution in the examples mentioned above. I also doubt that the code would be easier to read than C code.

Michael


Anything that needs an ALU cannot be done with PIO. It is not capable of doing more than decrement a value, invert a value, and compare if zero. For the rest it is moving data to and from pins. If you (as in the Pico Logic Analyzer) need to do logic AND of 3 signals, that is 3 separate instructions with conditional branches in between. The ARM can do that in one clock (and thus is 6x faster).

So NO, PIO can never do any of that.

Volhout

P.S. And PIO does not have access to any RAM it can read/write to. only RX FIFO and TX FIFO, and these are uni-directional. So no random access R/W memory. Only X and Y registers.
Edited 2026-05-06 16:17 by Volhout