La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Laboratorio de Organización del Computador. Cómo nos podemos comunicar con un computador Add A, B 1000110010100000 8CA0 Ensamblador Hexadecimal Binario.

Presentaciones similares


Presentación del tema: "Laboratorio de Organización del Computador. Cómo nos podemos comunicar con un computador Add A, B 1000110010100000 8CA0 Ensamblador Hexadecimal Binario."— Transcripción de la presentación:

1 Laboratorio de Organización del Computador

2 Cómo nos podemos comunicar con un computador Add A, B 1000110010100000 8CA0 Ensamblador Hexadecimal Binario 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)http://www.cs.wisc.edu/~larus/spim.html

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éticas:add, 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

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.


Descargar ppt "Laboratorio de Organización del Computador. Cómo nos podemos comunicar con un computador Add A, B 1000110010100000 8CA0 Ensamblador Hexadecimal Binario."

Presentaciones similares


Anuncios Google