Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual Simuproc Completo
Manual Simuproc Completo
Introduccin a la Informtica
SimuProc
SimuProc 1.4.2.0
INDICE
1. PARTE TEORICA ............................................................................................................................ 2
1.1 Introduccin .................................................................................................................................. 2
1.2 Programar usando SIMUPROC .................................................................................................... 2
1.3 Componentes del SIMUPROC ..................................................................................................... 2
1.3.1 Memoria ................................................................................................................................... 2
1.3.2 Registros ................................................................................................................................. 3
1.3.2.1 Registros generales .......................................................................................................... 3
1.3.2.2 Registros Apuntadores...................................................................................................... 3
1.3.2.3 Registros de Pila ............................................................................................................... 3
1.3.2.4 Registros de Control (Flags) ............................................................................................. 4
1.4 Caractersticas del Simulador ..................................................................................................... 4
1.4.1 Puertos Virtuales ..................................................................................................................... 4
1.4.2 La Pila ...................................................................................................................................... 5
1.4.3 Caractersticas generales ........................................................................................................ 5
2. PARTE PRCTICA .......................................................................................................................... 6
2.2 Vista de la pantalla principal del Simuproc ................................................................................ 6
2.3 Conversin de nmeros enteros entre bases. ........................................................................... 6
2.4 Instrucciones del simulador ........................................................................................................ 7
2.5 Ejercicios a realizar ...................................................................................................................... 9
2.5.1 Instrucciones bsicas y utilizacin de datos previamente cargados en memoria ..................... 9
2.5.2 Instrucciones bsicas, se hace uso de datos ingresados desde el teclado .............................. 9
2.5.3 Uso de saltos Inicializacin de posiciones de memoria....................................................... 10
2.5.4 Generacin de sonido ............................................................................................................ 11
3. PREGUNTAS MS FRECUENTES ............................................................................................... 11
Pgina 1 de 11
SimuProc
1. PARTE TEORICA
1.1 Introduccin
SimuProc es un Simulador de un Procesador Hipottico con el cual tiene por objetivo el aprendizaje de las
nociones bsicas para empezar a programar en lenguaje ensamblador, en el cual puede observar todo el
proceso interno de ejecucin del programa a travs de cada ciclo del procesador.
El simulador incluye:
Un Editor con resaltador de sintaxis para escribir programas ms fcilmente.
Un conversor de bases (para hacer pasajes de una base origen a otra base destino, soportando
todas las bases desde base2 a base36).
Conversin de nmeros de punto flotante de decimal a IEEE 754 y viceversa
1.3.1 Memoria
La Memoria es el dispositivo que almacena toda la informacin del programa que se ejecuta, tanto datos
como instrucciones. Esta en realidad no es parte del procesador, sino que es un dispositivo a parte al que
el procesador accede para ir leyendo las instrucciones y datos del programa.
Pgina 2 de 11
SimuProc
La capacidad de la memoria Simulada es de 4096 posiciones de 16 bits cada una: desde 0 hasta 4095 en
decimal (en hexadecimal: desde 000 hasta FFF).
Esta memoria es suficiente para ejecutar gran variedad de simples y complejos programas.
El simulador trabaja con constantes y variables en binario y direcciones (posiciones de memoria) en
Hexadecimal.
1.3.2 Registros
Este Procesador consta de 3 registros de propsito general, AX, BX y CX cada uno con 16 bits de
capacidad, registros apuntadores, registros de pila y registros de control.
SP: Stack Pointer (Puntero de la pila). Indica la prxima direccin de la pila que esta disponible,
es decir, apunta a la cima de la pila. Este valor se cambia automticamente cuando se usan las
instrucciones PUSH POP.
Pgina 3 de 11
SimuProc
Estos flags se usan principalmente en instrucciones de bifurcacin (por ejemplo, si queremos que, en
caso de que el resultado de la ltima operacin fuera cero, el programa se salte varias de las
instrucciones siguientes, comprobamos el flag cero y si est activo el programa salta, esto se
consigue con la instruccin JEQ).
Editor Interno: Es una herramienta usada para escribir los programas mas fcilmente. Permite:
deshacer, rehacer, desplazar o tabular el cdigo seleccionado.
Modificador de Memoria: Se utiliza para inicializar las variables y/o constantes del programa en
ciertas posiciones de memoria cuando lo escribe. Tambin puede modificar posiciones de memoria
en cualquier momento, ya sea antes durante la ejecucin de un programa.
Conversor de Bases: Dispone un conversor de bases para realizar conversiones de una base a
cualquier otra, soporta desde base2 a base36. Tambin permite la conversin entre nmeros de
punto flotante y IEEE 754.
Estadsticas: El simulador constantemente le estar mostrando las estadsticas del programa en
ejecucin, como por ejemplo: el nmero de instrucciones ejecutadas, que clase de instrucciones y
la velocidad de la simulacin.
Vigilante de Memoria: Dispone de un vigilante de memoria con el cual se pueden observar
algunas variables en las posiciones de memoria. Posee un historial que muestra los ltimos 5
valores de las posiciones vigiladas.
Dispositivos Virtuales: Cada computadora utiliza perifricos para conectarse con el mundo
exterior. SimuProc tambin dispone unos dispositivos de E/S simulados. Estos estn conectados a
unos puertos virtuales los cuales pueden ser accedidos con las instrucciones In y Out dependiendo
del tipo de dispositivo.
Pgina 4 de 11
SimuProc
Lee los segundos del sistema, retorna un nmero en binario (entre 0 y 59) al registro especificado.
Permite generar nmeros aleatorios.
Puerto 9: Switches
Este dispositivo, consiste de 16 switches en fila enumerados de 0 a 15. Cualquier switch puede ser
encendido resultando un 1 lgico correspondiente al bit del switch.
Puerto 13: PC-Speaker
Genera sonidos a travs del altavoz de tu PC. Para generar un sonido necesita dar la frecuencia y
la duracin en milisegundos. La frecuencia debe ser entre 7Hz y 32767Hz. La frecuencia es leda
del registro especificado en la instruccin, y la duracin es leda del registro BX.
1.4.2 La Pila
La pila de este simulador es simplemente un conjunto de datos que se almacenan en una zona
de memoria, del tipo LIFO (Last In- First Out = Ultimo en entrar - Primero en salir).
La Pila es un buffer usualmente implementado como un bloque de n bytes o words consecutivos. En este
simulador cada posicin de memoria es de 16 bits.
Usos para la pila:
La pila se utiliza para pasar variables entre funciones y para almacenar variables locales.
El programador es el responsable de reservar el espacio apropiado para la pila. Un problema con las pilas
es que el programador las puede hacer muy pequeas y puede que ocurra un stack overflow o
desbordamiento de pila si se esta intentando usar la instruccin PUSH para enviar algo cuando ya la pila
esta llena; o stack underflow si se usa la instruccin POP para leer la pila estando la misma vaca.
Por cada PUSH debe de haber luego un POP. Cuando un programa o funcin termina su ejecucin la pila
debe quedar como estaba antes de que este se ejecutara, sino hay errores en este.
Para cargar programas en el simulador se pueden tipear las instrucciones manualmente por la interfaz del
programa
o
puede abrir varios tipos de archivos:
.SMP que son los creados por este mismo cuando se salvan
.TXT
.ASM (que son compatibles con la versin anterior de este simulador)
Recuerde que tambin se puede usar el editor Interno.
Ing. Larisa Toro - Ing. Roco Andrea Rodrguez
Pgina 5 de 11
SimuProc
2. PARTE PRCTICA
2.2 Vista de la pantalla principal del Simuproc
A continuacin se muestra la pantalla principal del simulador en donde se han hecho aclaraciones bsicas
sobre el contenido de la misma. Haciendo referencia a lo comentado en la parte terica de esta gua:
Cero
Negativo
Carry
Overflow
Permite seleccionar
la instruccin.
rea de Memoria.
Haciendo doble clic se accede
a esta pantalla de codificacin.
Muestra el mnemnico no, haciendo clic es posible activar o desactivar esta opcin
Pgina 6 de 11
SimuProc
Pgina 7 de 11
SimuProc
Pgina 8 de 11
SimuProc
Qu hace el programa?
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Con qu valor queda la posicin 00A?
__________________________________________________
Qu se muestra por pantalla?
__________________________________________________
__________________________________________________
__________________________________________________
Pgina 9 de 11
SimuProc
Desde el editor del SIMUPROC puede cargarse directamente las instrucciones del programa, este
procedimiento es menos amigable que cargar las instrucciones desde la pantalla principal. A
continuacin se muestra un programa que eleva un nmero ingresado por teclado a una potencia mayor
a cero ingresada tambin por teclado.
Escriba al lado de cada instruccin que accin se est realizando:
DIRECCION DE MEMORIA DE LA
INSTRUCCION
000
CLA
001
INC AX
002
STA 014
003
LDT
004
STA 012
005
LDT
006
STA 013
007
LDA 014
008
MUL 012
009
STA 014
00A
DEC 013
00B
JNE 8
00C
MSG
00D
EAP
00E
HLT
Pgina 10 de 11
SimuProc
El 90% de las instrucciones son de un procesador Intel, las otras son para abreviar otras
instrucciones mas complicadas como interactuar con el usuario para pedir datos de entrada o
escribirlos en pantalla.
Ing. Larisa Toro - Ing. Roco Andrea Rodrguez
Pgina 11 de 11