Programador Spim

Páginas: 8 (1846 palabras) Publicado: 21 de noviembre de 2012
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 decaracteres. 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 arquitecturasdiferentes son como primos 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 elfuncionamiento de cada una de las partes de la misma.
4

2

Tema 12. Programación en ensamblador MIPS.

¡Hola Mundo!
.rdata .align 2 texto: .ascii "Hola Mundo!" .text .globl main .ent main main: la $4, texto jal printf j _exit .end main # Inicio de seccion de datos ROM # Direccion alineada a palabra (multiplo de 4) # Cadena identificada por etiqueta "texto" # Comienzo de seccion de codigo de usuario# La etiqueta "main" se hace conocida a # nivel global # La etiqueta "main" marca un punto de # entrada # Escribimos en el registro $4 la direccion # de memoria asociada a la etiqueta "texto" # Llamada a funcion printf, que escribe # cadenas de texto en la consola # Saltamos a la rutina de salida para # terminar # 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 paramultiplicaciones y divisiones (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
$zero $at $v0 – $v1 $a0 – $a3 $t0 – $t7 $s0 – $s7 $t8 – $t9 $k0 – $k1 $gp $sp $fp $ra

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

Uso
Constante con valor 0 Temporal para el ensamblador Valores devueltos en funciones Argumentos en funciones Temporales Temporales salvados Temporales Reservados para kernel...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Spim
  • Spim
  • Programa
  • Programa
  • Program
  • Un Programa
  • Programas
  • Programas

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS