A good answer might be:

$0

The bit pattern 0x00000000 occurs so frequently in machine language that register $0 is wired to permanently hold it. That bit pattern represents the integer zero, a very common integer. It also represents a null, which is used to mark the end of character strings and some data structures.

Registers and the ALU

The arithmetic/logic unit (ALU) of a processor performs integer arithmetic and logical operations. For example, one of its operations is to add two 32-bit integers. An integer used as input to an operation is called an operand. One operand for the ALU is always contained in a register. The other operand may be in a register or may be part of the machine instruction itself. The result of the operation is put into a general purpose register.

Machine instructions that use the ALU specify four things:

  1. The operation to perform.
  2. The the first operand (often in a register).
  3. The second operand (often in a register).
  4. The register that receives the result.

The picture shows a 32-bit addition operation. The operands are register $8 and register $9. The result in put in register $10. Here is how that instruction is written as assembly language:

addu    $10,$8,$9 

QUESTION 5:

Here is another instruction that involves the ALU, written as assembly language:

subu    $25,$16,$17 

Identify the following:

  1. The operation: ________________
  2. The location of one operand: ________________
  3. The location of the other operand: ________________
  4. The destination of the result: ________________