Thanks David - but I'm still not 100% clear about this LDI32 instruction. The following is from the README.txt that came with the PRU_2.0.0B2. It is under the Assembler section not tje Compiler section. Is it similar to the .ST32 macro that was defined in the original PASM headers?
===============================================================================
Assembler
-------------------------------------------------------------------------------
Instructions
-------------------------------------------------------------------------------
The syntax for instruction mnemonics is very similiar to the existing PASM
assembler. Exceptions are listed here:
1. MOV instruction
MOV is only supported for register to register moves. The LDI instruction
must be used to load a literal into a register.
2. LDI instruction
LDI can only be used to load a 16-bit constant into a register. To load a
32-bit constant, you must use the LDI32 instruction.
3. MVI instruction
MVI is only supported on core revisions 2 and 3. The existing PASM assembler
supports the instruction in a limited form for v1 using pseudo operations.
4. ZERO instruction
ZERO is only supported on v2 and v3 cores. For v1, the user should use
LDI r0, 0.
5. LFC, SFC, and SCAN
These instructions are not supported. If support is needed we can add them.
6. Operands with a '&' prefix
The existing PASM assembler accepts operands with or without the &
symbol: LBBO &r0 or LBBO r0. The assembler in this release requires the
& for these operands.