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.
There is a bit more than the above.
Regards,
Greg