tema12 ensamblador MIPS

Páginas: 20 (4763 palabras) Publicado: 18 de julio de 2015
Estructura y Tecnología de Computadores (ITIG)

Ángel Serrano Sánchez de León
Luis Rincón Córcoles

Tema 12. Programación en ensamblador MIPS.

Programa
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.

Introducción.
Registros.
Operaciones aritméticas básicas.
Accesos a memoria. Carga y almacenamiento.
Lenguaje máquina MIPS.
MIPS y las sentencias de control.
Llamadas a funciones.
Manejo de caracteres.Aritmética para números con signo.
Operaciones lógicas.
Aritmética en coma flotante.
Bibliografía.

2

1

Tema 12. Programación en ensamblador MIPS.

Conceptos básicos: registros de MIPS y convenio software de uso,
operaciones básicas (aritméticas, lógicas, desplazamiento), operaciones de
carga/almacenamiento, inmediato, formato de instrucciones en MIPS, sentencias
de control (IF, FOR, WHILE,DO-WHILE, GOTO), subprograma o subrutina
(función/procedimiento; hoja/anidada/recursiva), manejo de la pila, cadenas de
caracteres, operaciones en coma flotante.

Instrucciones y pseudoinstrucciones de MIPS en este tema: add, add.d,
add.s, addi, addiu, addu, and, andi, begz, beq, bge, bgt, blt,
bne, div, div.d, div.s, divu, j, jal, jr, lb, lbu, lh, lhu, li,
li.d, li.s, lui, lw, lwc1, mfhi, mflo, move,mul, mul.d, mul.s,
mult, multu, nor, or, ori, sb, sh, slt, slti, sltu, sub, sub.d,
sub.s, subu, sw, swc1, xor, xori.

3

Tema 12. Programación en ensamblador MIPS.

1. Introducción
• El lenguaje ensamblador depende directamente de la arquitectura del
computador. Por tanto cada arquitectura tiene su propio lenguaje
ensamblador.
• Los lenguajes ensambladores de dos arquitecturas diferentes son comoprimos cercanos, diferentes pero muy parecidos. Sin embargo, los
lenguajes de alto nivel tienden a ser parientes lejanos, pues la sintaxis es
más variable.
• En este tema veremos sólo los conceptos fundamentales de la
programación en ensamblador para los procesadores MIPS.
• El estudio del ensamblador de una arquitectura permite comprender y
dominar el diseño y el funcionamiento de cada una de laspartes de la
misma.
4

2

Tema 12. Programación en ensamblador MIPS.

¡Hola Mundo!
texto:

.rdata

# Inicio de seccion de datos ROM

.align 2

# Direccion alineada a palabra (multiplo de 4)

.ascii "Hola Mundo!"

# Cadena identificada por etiqueta "texto"

.text

# Comienzo de seccion de codigo de usuario

.globl main

# La etiqueta "main" se hace conocida a
# nivel global

.ent main

# Laetiqueta "main" marca un punto de
# entrada

main:

la $4, texto

# Escribimos en el registro $4 la direccion

jal printf

# Llamada a funcion printf, que escribe

# de memoria asociada a la etiqueta "texto"
# cadenas de texto en la consola
j _exit

# Saltamos a la rutina de salida para
# terminar

.end main

# Final de la seccion "main"

5

Tema 12. Programación en ensamblador MIPS.

2. Registros
•Recordemos que MIPS dispone, entre otros, de los siguientes registros:
• 32 registros en la CPU, cada uno de 32 bits.
• 32 registros en la unidad de coma flotante, cada uno de 32 bits.
• Un contador de programa (PC) de 32 bits, que indica, al principio de cada ciclo, la
dirección de memoria de la instrucción del programa que se va a ejecutar.
• Dos registros de 32 bits para multiplicaciones ydivisiones (HI y LO).

• Por convenio entre los programadores de MIPS, los registros de la CPU se
usan utilizando unas “normas de buen uso”:
• El valor de algunos registros, como los $s0 – $s7, el puntero de pila $sp, entre
otros, debe ser preservados entre llamadas a funciones.
• El valor de otros registros “temporales”, como $t0 – $t9, puede ser modificado en
llamadas a funciones.
6

3

Tema 12.Programación en ensamblador MIPS.
Registro

Número

Uso

¿Preservado?

$zero

0

Constante con valor 0

No aplicable

$at

1

Temporal para el ensamblador

No

$v0 – $v1

2–3

Valores devueltos en funciones

No

$a0 – $a3

4–7

Argumentos en funciones

No

$t0 – $t7

8 – 15

Temporales

No

$s0 – $s7

16 – 23

Temporales salvados



$t8 – $t9

24 – 25

Temporales

No

$k0 – $k1

26 – 27

Reservados...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programación en ensamblador del procesador mips r2000
  • Mips
  • Mips
  • Mips
  • Ensamble
  • ensamble
  • Ensamblador
  • Ensambles

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS