ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Guia Mips


Enviado por   •  25 de Enero de 2014  •  1.917 Palabras (8 Páginas)  •  276 Visitas

Página 1 de 8

Registros del MIPS y usos

Nombre del registro Número Uso

zero 0 Constante 0

at 1 Reservada para ensamblador

v0 2 Evaluación de expresiones y resultado de funciones

v1 3 Evaluación de expresiones y resultado de funciones

a0 4 Argumento 1

a1 5 Argumento 2

a2 6 Argumento 3

a3 7 Argumento 4

t0..t7 8..15 Temporal (no se guarda valor entre llamadas)

s0..s7 16..23 Temporal (el valor se guarda entre llamadas)

t8, t9 24, 25 Temporal (no se guarda valor entre llamadas)

k0, k1 26, 27 Reservado para el kernel del sistema operativo

gp 28 Puntero al área global

sp 29 Puntero de pila

fp 30 Puntero de marco de pila

ra 31 Dirección de retorno, usada por llamadas a función

Servicios del sistema

Servicio Código de

llamada

Argumentos Resultado

print_int 1 $a0 = entero

print_float 2 $f12 = real (32 bits)

print_double 3 $f12 = real (64 bits)

print_string 4 $a0 = cadena

read_int 5 Entero (en $v0)

read_float 6 Real 32 bits ( en $f0)

read_double 7 Real 64 bits (en $f0)

read_string 8 $a0=buffer, $a1 = longitud

sbrk 9 $a0 = cantidad Dirección (en $v0)

exit 10

Directivas del ensamblador

.ascii cadena à Almacena la cadena en memoria, pero no termina con null (‘\0’).

.assciiz cadena à Almacena la cadena en memoria y pone un null (‘\0’) al final de esta.

.byte b1, ..., bnà Almacena n valores en bytes sucesivos de memoria.

.dataà Las siguientes definiciones de datos que aparezcan se almacenan en el

segmento de datos. Puede llevar un argumento que indica la dirección a partir de donde

se empezarán a almacenar los datos.

.double d1, ..., dnà Almacena n valores reales de doble precisión en direcciones

consecutivas de memoria.

.extern etiqueta nà Declara que los datos almacenados a partir de etiqueta ocupan n

bytes y que etiqueta es un símbolo global. Esta directiva permite al ensamblador

almacenar datos en una zona del segmento de datos que puede ser accedida a través del

registro $gp.

.flota f1, ..., fnà Almacena n reales de precisión simple en posiciones consecutivas de

memoria.

.globl símboloà Declara un símbolo global que se puede referenciar desde otros

programas.

.half h1, ..., hnà Almacena n números de 16 bits en medias palabras consecutivas.

.text à Las instrucciones que siguen a esta directiva se ponen en el segmento de

código. Pude llevar un parámetro que indica donde empieza la zona de código.

.word w1, ..., wn à Almacena n cantidades de 32 bits (una palabra) en posiciones

consecutivas de memoria.

Juego de instrucciones del SPIM

Instrucciones aritméticas y lógicas

En todas las instrucciones siguientes, Src2 puede ser tanto un registro como un valor

inmediato (un entero de 16 bits).

abs Rdest, Rsrc Valor absoluto

add Rdest, Rsrc1, Src2 Suma con desbordamiento

addu Rdest, Rsrc1, Src2 Suma sin desbordamiento

and Rdest, Rsrc1, Src2 Operación lógica AND

div Rsrc1, Rsrc2 Divide con desbordamiento. Deja el cociente en el

registro lo y el resto en el registro hi

divu Rsrc1, Rsrc2 Divide sin desbordamiento. Deja el cociente en el

registro lo y el resto en el registro hi

div Rdest, Rsrc1, Src2 Divide con desbordamiento

div Rdest, Rsrc1, Src2 Divide sin desbordamiento

mul Rdest, Rsrc1, Src2 Multiplica sin desbordamiento

mulo Rdest, Rsrc1, Src2 Multiplica con desbordamiento

mulou Rdest, Rsrc1, Src2 Multiplicación con signo y con desbordamiento

mult Rsrc1, Rsrc2 Multiplica, la parte baja del resultado se deja en el

registro lo y la parte alta en el registro hi

mult Rsrc1, Rsrc2 Multiplica con signo, la parte baja del resultado se deja

en el registro lo y la parte alta en el registro hi

neg Rdest, Rsrc Niega el valor (detecta desbordamiento)

negu Rdest, Rsrc Niega el valor (sin desbordamiento)

nor Rdest, Rsrc1, Src2 Operación Lógica NOR

not Rdest, Rsrc Operación Lógica NOT

or Rdest, Rsrc1, Src2 Operación Lógica OR

rem Rdest, Rsrc1, Src2 Resto (Módulo), pone el resto de dividir Rsrc1 por Src2

en el registro Rdest.

rol Rdest, Rsrc1, Src2 Rotar a la izquierda

ror Rdest, Rsrc1, Src2 Rotar a la derecha

sll Rdest, Rsrc1, Src2 Desplazamiento lógico de bits a la izquierda

srl Rdest, Rsrc1, Src2 Desplazamiento lógico de bits a la derecha

sra Rdest, Rsrc1, Rsrc2 Desplazamiento aritmético de bits a la derecha

sub Rdest, Rsrc1, Src2 Resta (con desbordamiento)

subu Rdest, Rsrc1, Src2 Resta (sin desbordamiento)

xor Rdest, Rsrc1, Src2 Operación Lógica XOR

Instrucciones manipulación de constantes

li Rdest, inmediato Cargar valor inmediato

lui Rdest, inmediato Cargar los 16 bits de la parte baja del valor inmediato en la

parte alta del registro. Los bits de la parte baja se pone a 0.

Instrucciones de comparación

En todas las instrucciones siguientes, Src2 puede ser un registro o un valor inmediato

(de 16 bits).

seq Rdest, Rsrc1, Src2 Pone Rdest a 1 si Rsrc1 y Src2 son iguales, en otro caso

pone 0.

sge Rdest, Rsrc1, Src2 Pone Rdest a 1 si Rsrc1 es mayor o igual a Src2, y 0 en

otro caso (para números con signo).

sgeu Rdest, Rsrc1, Src2 Pone Rdest a 1 si Rsrc1 es mayor o igual a Src2, y 0 en

otro caso (para números sin signo).

sgt Rdest, Rsrc1, Src2 Pone Rdest a 1 si Rsrc1 es mayor que Src2, y 0 en otro

caso (para números con signo).

sgtu Rdest, Rsrc1, Src2 Pone Rdest a 1 si Rsrc1 es mayor que Src2, y 0 en otro

caso (para números sin signo).

sle Rdest, Rsrc1, Src2 Pone Rdest a 1 si Rsrc1 es menor o igual a Src2, en otro

caso pone 0 (para números con signo).

sleu Rdest, Rsrc1, Src2 Pone Rdest a 1 si Rsrc1 es menor o igual a Src2, en otro

caso pone 0 (para números sin signo).

slt Rdest, Rsrc1, Src2 Pone Rdest a 1 si Rsrc1 es menor a Src2, en otro caso pone

0 (para números con signo).

sltu Rdest, Rsrc1, Src2 Pone Rdest a 1 si Rsrc1 es menor a Src2, en otro caso pone

0 (para números sin signo).

sne Rdest, Rsrc1, Src2 Pone Rdest to 1 si el registro Rsrc1 no es igual a Src2 y 0

en otro caso.

Instrucciones de bifurcación y salto

En todas las instrucciones siguientes, Src2 puede ser un registro o un valor inmediato.

...

Descargar como (para miembros actualizados) txt (12 Kb)
Leer 7 páginas más »
Disponible sólo en Clubensayos.com