The instruction from the memory location, which is specified by the PC, is fetched and executed, and then new values are assigned to the PC and the Next Program Counter (NPC), which is a pseudo-register.
Detailed instruction formats can be found in the individual instruction descriptions.
Here are the basic categories of instructions supported, with examples:
- Memory access:
- LDUB: Load unsigned byte
- ST: Store
- Arithmetic/logical/shift integers:
- ADD: Add
- SLL: Shift left logical
- Control transfer:
- BE: Branch on equal
- JMPL: Jump and link
- CALL: Call and link
- RETURN: Return from the function
- State register access:
- WRCCR: Write CCR
- Floating-point operations:
- FOR: Logical OR for F registers
- Conditional move:
- MOVcc: Move if the condition is True for the selected condition code (cc)
- Register window management:
- SAVE: Save caller's window
- FLUSHW: Flush register windows
- Single Instruction Multiple Data (SIMD) instructions:
- FPSUB: Partitioned integer...