Laboratorio de Organizaci - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Laboratorio de Organizaci

Description:

Es un simulador que ejecuta programas en lenguaje ensamblador ... Escriba en un editor el programa que se acaba de explicar. C rguelo en SPIM y ejec telo. ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 17
Provided by: ldcUs7
Category:

less

Transcript and Presenter's Notes

Title: Laboratorio de Organizaci


1
Laboratorio de Organización del Computador
2
Cómo nos podemos comunicar con un computador
Ensamblador
Add A, B
Hexadecimal
8CA0
Binario
1000110010100000
Electricidad
3
SPIM
  • Es un simulador que ejecuta programas en lenguaje
    ensamblador escritos para procesadores que
    implementan la arquitectura MIPS32.
  • MIPS-SPIM
  • Por ser un simulador es más lento que una máquina
    real.
  • http//www.cs.wisc.edu/larus/spim.html (versión
    7.2.1)

4
SPIM
  • Por qué usar un simulador??
  • La arquitectura de los PCs que usamos es bastante
    más compleja hoy en día cache, pipelines
    complejos, predicciones, etc.
  • Los procesadores MIPS son más fáciles de entender
    y programar. Son una especie de máquina RISC
    simple.
  • Ofrecen un mejor ambiente para programación en
    lenguaje ensamblador detectan mayor cantidad de
    errores, proveen una mejor interfaz,
    pseudo-instrucciones.

5
Objetivo del Laboratorio
  • Que al final del curso los alumnos hayan
    adquirido los principales conceptos de
    programación en lenguaje ensamblador.
  • Se realizarán los programas utilizando el
    simulador SPIM.

6
Arquitectura de SPIM
1. El procesador MIPS simula una unidad de
procesamiento de enteros (CPU) Y dos
co-procesadores para el manejo de números punto
flotante e interrupciones 2. Es una
arquitectura load- Store, sólo estas dos
Instrucciones acceden a la memoria. El resto de
operaciones sólo actúan sobre los registros
7
Registros de propósito de SPIM
8
Mapa de la Memoria de SPIM
9
Sintaxis
  • Comentarios comienzan con
  • Los identificadores son una secuencia de
    caracteres alfanuméricos, underscores y puntos.
    Nunca comienzan con un número.
  • Las etiquetas van al comienzo de la lineaseguidas
    por
  • .data
  • Item .word 1

10
Sintáxis
  • Los números están por defecto en base 10 a menos
    que estén precedidos por 0x, en cuyo caso se
    trata de un número hexadecimal.
  • Los strings van encerrados en doble comillas.

11
Sintáxis
  • SPIM también soporta un conjunto de directivas
    para el lenguaje ensamblador. Veremos sólo
    algunas
  • .ascii str almacena el string str en memori pero
    no termina en 0
  • .asciiz str el string termina en 0
  • .data los items que siguen se cargan en el
    segmento de datos.
  • .text los items siguientes se colocan en el
    segmento de texto. Pueden sólo ser instrucciones
  • .byte B1, ..Bn carga n valores en bytes
    consecutivos de la memoria.
  • .space n asigna n bytes de espacio en el
    segmento actual
  • .globl sym declara que la etiqueta sym es global
    y se puede referenciar desde otros archivos.

12
Principales Tipos de Instrucciones
  • Aritméticasadd, sub.
  • Lógicas or, and, ..
  • De manipulación de bits
  • Instrucciones de salto jal, branch,etc
  • Load y Store
  • Movimiento de datos
  • Instrucciones para la manipulación de datos en
    punto flotante.
  • Instrucciones para el manejo de interrupciones.

13
Programa Ejemplo .data declaración de
variables mensaje_1 .asciiz " Introduzca un
entero \n" mensaje_2 .asciiz " El resultado de
la suma es " .text .globl main main
li v0, 4 system call para imprimir un string
v0 4 la a0, mensaje_1 se coloca
la direccion del string en a0. pseudo
instruccion syscall li v0,
5 system call para leer un entero v0 5
syscall move 8, v0
deja lo leído en 8 ori 9, 0, 3
coloca el número 3 en el registro 9
add t0, 8, 9 coloca la suma de 8 y
9 en t0 li v0, 4
la a0, mensaje_2
syscall li v0, 1
Escribir un entero en la cónsola
move a0, t0 syscall END OF
PROGRAM
14
(No Transcript)
15
Ejemplo 2
Programa Ejemplo .data declaración de
variables losbytes .byte 1,2,3 laspalabras
.word 1,2,3 espacios .space 4 mensaje_1 .asciiz
"Hola" .text .globl main main li v0,
4 system call para imprimir un string v0 4
la a0, mensaje_1 se coloca la
direccion del string en a0 syscall
END OF PROGRAM
16
Ejercicio
  • Escriba en un editor el programa que se acaba de
    explicar
  • Cárguelo en SPIM y ejecútelo.
Write a Comment
User Comments (0)
About PowerShow.com