Different From Other Mips Assembly Languages; Why; Major Differences From The R4000 Instruction Set - Nintendo Ultra64 Programmer's Manual

Rsp
Table of Contents

Advertisement

RSP Assembly Language

Different From Other MIPS Assembly Languages

106

Why?

Although the RSP uses the R4000 architecture, it is a specialized processor
designed for a special purpose. The assembly language is similarly
restricted, and does not require the full richness of the MIPS Assembly
Language.
In particular, MIPS Assembly Language is designed to be generated by C,
Fortran, and Pascal compilers; it therefore lacks many functions of an
assembly language designed for human programmers, as well as having
extra constructs in order to support these compilers.
The RSP also has limited resources, most notably only 1K instructions of
IMEM. RSP programs by definition must be small and highly optimized, so
a simpler assembly language is well-suited.
The RSP is also a proprietary processor, its implementation and
programming interface is not publicly available. The RSP programming
interface is designed to be incompatible with other MIPS products.

Major Differences from the R4000 Instruction Set

The scalar unit (SU) instruction set uses only a subset of the R4000
instruction set. See "Missing Instructions" on page 27.
The "pseudo-opcodes" or assembly directives are different from the MIPS
Assembly Language. Many of the MIPS directives that are designed for
high-level program flow, compilers, or large objects are not necessary.
Likewise, we have added many new directives to make the language more
human-friendly (register naming, compile-time diagnostics, etc.).
The machine instructions for the RSP vector unit (VU) instructions use the
MIPS coprocessor extensions. For ease of programming, we have adopted
friendlier mnemonics and a less "coprocessor-like" syntax for their use.

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents