Guia Mips

Páginas: 8 (1891 palabras) Publicado: 2 de marzo de 2015
Guía de referencia del ensamblador del MIPS 32
Registros del MIPS y usos
Nombre del registro
zero
at
v0
v1
a0
a1
a2
a3
t0..t7
s0..s7
t8, t9
k0, k1
gp
sp
fp
ra

Número
0
1
2
3
4
5
6
7
8..15
16..23
24, 25
26, 27
28
29
30
31

Uso
Constante 0
Reservada para ensamblador
Evaluación de expresiones y resultado de funciones
Evaluación de expresiones y resultado de funciones
Argumento 1
Argumento 2Argumento 3
Argumento 4
Temporal (no se guarda valor entre llamadas)
Temporal (el valor se guarda entre llamadas)
Temporal (no se guarda valor entre llamadas)
Reservado para el kernel del sistema operativo
Puntero al área global
Puntero de pila
Puntero de marco de pila
Dirección de retorno, usada por llamadas a función

Servicios del sistema
Servicio
print_int
print_float
print_double
print_stringread_int
read_float
read_double
read_string
sbrk
exit

Código de llamada
1
2
3
4
5
6
7
8
9
10

Argumentos
$a0 = entero
$f12 = real (32 bits)
$f12 = real (64 bits)
$a0 = cadena

Resultado

Entero (en $v0)
Real 32 bits ( en $f0)
Real 64 bits (en $f0)
$a0=buffer, $a1 = longitud
$a0 = cantidad

Dirección (en $v0)

Directivas del ensamblador
.ascii cadena Æ Almacena la cadena en memoria, pero no termina connull (‘\0’).
.assciiz cadena Æ Almacena la cadena en memoria y coloca 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.
.float f1, ..., fn Æ Almacena n reales de precisiónsimple 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.

Instrucciones de excepción y trap
rfe
syscall
break n
nop

Retorno de una excepción, restaura el registro de estado.
Llamada al sistema, el registro v0 contiene el número de la llamada al sistema.
Provoca una excepción de valor n.
No operation, no hace nada.

Instrucciones aritméticas y lógicas
En todas lasinstrucciones siguientes, Src2 puede ser tanto un registro como un valor inmediato (un entero de 16 bits).
abs Rdest, Rsrc
add Rdest, Rsrc1, Src2
addu Rdest, Rsrc1, Src2
and Rdest, Rsrc1, Src2
div Rsrc1, Rsrc2
divu Rsrc1, Rsrc2
div Rdest, Rsrc1, Src2
div Rdest, Rsrc1, Src2
mul Rdest, Rsrc1, Src2
mulo Rdest, Rsrc1, Src2
mulou Rdest, Rsrc1, Src2
mult Rsrc1, Rsrc2
mult Rsrc1, Rsrc2
neg Rdest, Rsrc
neguRdest, Rsrc
nor Rdest, Rsrc1, Src2
not Rdest, Rsrc
or Rdest, Rsrc1, Src2
rem Rdest, Rsrc1, Src2
rol Rdest, Rsrc1, Src2
ror Rdest, Rsrc1, Src2
sll Rdest, Rsrc1, Src2
srl Rdest, Rsrc1, Src2
sra Rdest, Rsrc1, Rsrc2
sub Rdest, Rsrc1, Src2
subu Rdest, Rsrc1, Src2
xor Rdest, Rsrc1, Src2

Valor absoluto
Suma con desbordamiento
Suma sin desbordamiento
Operación lógica AND
Divide con desbordamiento. Deja elcociente en el registro lo y el resto en el registro hi
Divide sin desbordamiento. Deja el cociente en el registro lo y el resto en el registro hi
Divide con desbordamiento
Divide sin desbordamiento
Multiplica sin desbordamiento
Multiplica con desbordamiento
Multiplicación con signo y con desbordamiento
Multiplica, la parte baja del resultado se deja en el registro lo y la parte alta en el...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Mips
  • Mips
  • Mips
  • Interpretación MIPS
  • Programas en Mips
  • INFORME MIPS
  • Mips
  • Mips

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS