Instrucciones aritméticas, lógicas y de salto incondicional en el Mips

De Wikitronica
Saltar a: navegación, buscar

Instrucciones Aritméticas

ADD (Add)

El formato de esta instrucción es:

   ADD rd,rs,rt

1. Descripción de la instrucción:

   rd=rs+rt

El contenido del registro rs y el contenido del registro rt se suman y el resultado se guarda en el registro rd. En modo 64 bits, el bit 31 del resultado se extiende. Ocurre una excepción de desbordamiento si ocurre un “overflow” en complemento a 2. El registro destino (rd) no se modifica cuando ocurre una excepción de desbordamiento.

2. Operación:

32: GPR[rd] ← GPR[rs] + GPR[rt]

64: temp ← GPR[rs] + GPR[rt]

     GPR[rd] ← (temp31)32 || temp31..0


3. Excepción:

Excepción de desbordamiento en complemento a dos. (Integer overflow exception).

ADDI (Add Immediate)

El formato de esta instrucción es:

    ADDI rt,rs,immediate16

1. Descripción de la instrucción:

   rt=rs+ext_signo(inm16,32)

Con el dato inmediato de 16 bits se hace una extensión de signo a 32 ó 64 bits (dependiendo del modo de operación) y ese dato se suma al dato que hay en el registro rs. El resultado se guarda en el registro rt. En modo 64 bits, el bit 31 del resultado se extiende.

Ocurre una excepción de desbordamiento si ocurre un “overflow” en complemento a 2. El registro destino (rt) no se modifica cuando ocurre una excepción de desbordamiento.

2. Operación:

32: GPR[rt] ← GPR[rs] + (immediate15)16 || immediate15..0

64: temp ← GPR[rs] + (immediate15)48 || immediate15..0

     GPR[rt] ← (temp31)32 || temp31..0