### A good answer might be:

No — mnemonic names are just another name for the same 32 general purpose registers. The machine code designates them with the same bit patterns as before.

# Extended Assembler

The assembler allows you to use mnemonic register names in place of hardware register numbers. The assembler replaces register mnemonics with the usual register numbers. Of course, the assembly instructions are ultimately translated into machine code.

When acting as an extended assembler, SPIM implements many features that are not provided by MIPS hardware. The extended assembler accepts source code that uses extensions to basic assembly language. The extensions in the source code are replaced with basic assembly language, and then translated into machine code.

The picture shows how extended assembly code is translated into basic assembly code by the extended assembler. Then the basic assembly code is translated into machine code by the basic assembler. Although the picture is correct in concept, in actual practice the middle steps are skipped and the extended assembler translates extended assembly directly to machine code.

By using the extended assembler the programmer may program in a more convenient language, but the underlying hardware remains unchanged. Of course high-level languages go even further: Rather than extending the assembly language of the machine, a completely different programming language is translated into the machine code for the underlying hardware.

### QUESTION 3:

The programs in the previous chapters used registers $8 through $15. What are the mnemonic names for these registers? See the register table.