PRU Opcodes


I started decoding pasm assembly into raw PRU instructions.The list of findings is here:

Almost every insruction is decoded, the only exception is SXIN/SXOUT/SXCHG, which is not supported by the PRUv1 compiler.
Multiplication doesn’t seem to be an instruction, instead it is a separate unit on the RTB which is reachable via XIN/XOUT instructions.
The documentation for SCAN instruction is missing, though the AM335x TRM refers to it at least 4 times, so it’s probably still a valid instruction.
Its documentation for PRUSSv1 is on the wiki though:

The most probable location for SXIN/SXOUT/SXCHG (which is really just one instruction with separate direction bits) would be either opcodes 0x30-0x31,
or setting the unknown “y” bit to 1 in the original XIN/XOUT/XCHG.

Any comments are welcome.