sim ul adores

Upload: martin-valencia-alejo

Post on 10-Oct-2015

50 views

Category:

Documents


0 download

TRANSCRIPT

  • 5/20/2018 Sim Ul Adores

    1/70

    Tutorial de WIDE Avocet Systems

    Microprocesadores

    El siguiente tutorial indica paso a paso como generar un projecto y editar un programa en ensamblador.

    Ademas de simular el cdigo hexadecimal generado. El simulador WIDE simula al microprocesador Z80.

    1. Abrir Wide de tu desktop o de SART de windows

    2. Crear un projecto en Project New project

  • 5/20/2018 Sim Ul Adores

    2/70

    3. Dar nombre al projecto y guardarlo Save

    4. Ahora, abrir un archivo nuevo File New

  • 5/20/2018 Sim Ul Adores

    3/70

    5. Editar ti archivo Fil Save

    6. Guardar archivo con extensin file_name.asm

  • 5/20/2018 Sim Ul Adores

    4/70

    5. Editar ti archivo Fil Save

  • 5/20/2018 Sim Ul Adores

    5/70

    7. Antes de realizar la compilacin es necesario especificar que el archivo a compilar esta escrito en

    ensamblador. Project Settings (Alt+F7)

    8. El siguiente paso es compilar nuestro archivo file_name.asm Build Build o

    mediante (F7)

  • 5/20/2018 Sim Ul Adores

    6/70

    10. El siguiente paso es simular paso a paso nuestro archivo generado en Hexadecimal

    (file_name.HXB).

    Debug Stepping Low Level Step o mediante (Ctrl + F11)

  • 5/20/2018 Sim Ul Adores

    7/70

    11. Al iniciar la simulacin de nuestro programa, la ventana de Diassembly se abrir y mediante

    (Ctrl + F11) se realizara paso a paso la ejecucin del programa.

  • 5/20/2018 Sim Ul Adores

    8/70

    12. Para poder observar el contenido de la memoria y de los registros del microprocesador se realiza lo

    siguiente: Debug Views Memory o Registers (Alt+5) o (Alt+6)

  • 5/20/2018 Sim Ul Adores

    9/70

    13. Finalmente para detener la simulacin se realiza lo siguiente: Debug Stop Debugging

    o (Shift+F5)

    Cuando se mandan datos a un puerto de salida, como en el ejemplo siguiente. Donde el dato

    23H se transfiere al acumulador y este es puesto en OUTPRT, el cual esta definido por la direccin

    0C1H. Se genera un archivo portc1.OUT donde se encuentra el cdigo ASCII del

    numero 23H. En este caso 23H es equivalente al smbolo en cdigo ASCII de #.

    LD A,23H

    HALT

    SOURCE: .EQU 120H

    DEFB 0AH,0BH

  • 5/20/2018 Sim Ul Adores

    10/70

    Estructura de Computadores

    Tutorial del lenguaje ensamblador del

    MIPS

    Lenguaje ensamblador es la representacin simblica de la codificacin binaria del computador (lenguaje mquina).

    Los lenguaje mquina son bastante similares.

    Una herramienta llamada ensamblador (assembler) traduce el lenguaje ensamblador a instrucciones binarias.

    Un ensamblador lee un nico archivo fuente en lenguaje ensamblador, y produce un archivo objeto que contiene

    instrucciones mquina e informacin de mantenimiento que ayuda a combinar varios archivos objeto en un programa.

    Un mdulo puede tener referencias a subrutinas y datos definidos en otros mdulos y bibliotecas. El cdigo de unmdulo no puede ejecutarse cuando contiene referencias sin resolver a rtulos de otros archivos objeto o bibliotecas.

  • 5/20/2018 Sim Ul Adores

    11/70

    Es el lenguaje de salida de los compiladores. Un compilador traduce un programa escrito en lenguaje de alto nivel

    (lenguaje fuente, C) en un programa equivalente en lenguaje mquina o ensamblador (lenguaje objeto).

    Es un lenguaje ms con el que escribir programas en los que la velocidad o tamao son crticos, o para explotar las

    caractersticas hardware que no tienen anlogos en lenguajes de alto nivel.

    Cada lnea puede contener, como mximo, una sentencia.

    Los comentarios van al final de la sentencia, precedidos por #. El ensamblador los ignora. Los nombres seguidos por :

    son rtulos (etiquetas). Nombran la siguiente posicin de memoria, y van al principio de la lnea

    Los operandos pueden ser:

    Un registro: $4 o $a0, que puede ir entre parntesis.

    Un identificador: Caracteres alfanumricos, _ y . , sin comenzar con un nmero.

    Una cadena alfanumrica encerrada entre dobles comillas (), donde puede haber

    caracteres especiales segn convenio C (nueva lnea=\n, tabulador=\t, comillas=\...).

    Un valor numrico, en base 10. Si van precedidos de 0x indican valores hexadecimal

    Ejemplo:

    Un programa puede estar escrito en cdigos distintos:

    M.C Cdigo en lenguaje de alto nivel (fuente).

    M.S Cdigo ensamblador . Puede jugar dos papeles, dependiendo del tipo de compilador:

    E l l j d lid d l il d ( di bl d i l )

  • 5/20/2018 Sim Ul Adores

    12/70

    E l l j d lid d l il d ( di bl d i t l )

    Lenguaje con el que escribir programas (cdigo ensamblador con rtulos ). Es an importante para escribir

    programas en los que la velocidad o tamao son crticos, o para explotar caractersticas hardware que no tienen

    anlogos en lenguajes de alto nivel.

    M.OBJ Cdigo mquina (objeto). Contiene instrucciones mquina (binarias) e informacin de mantenimiento que

    ayuda a combinar varios archivos objeto en un programa.

    M.EXE Cdigo ejecutable

    compilador ensamblador enlazador

    Traduce un cdigo en lenguaje de

    alto nivel en uno equivalente en

    lenguaje ensamblador (puede

    tambin producir lenguaje

    mquina directamente con laayuda de un ensamblador

    integrado ).

    Crean saltos y rtulos cuando no

    aparecen en el lenguaje

    de programacin

    Programa que traduce de lenguaje

    ensamblador a lenguaje mquina .

    Lee un nico archivo fuente en

    ensamblador y produce un archivo

    objetoUn mdulo puede contener

    referencias a subrutinas y datos

    definidos en otros mdulos y

    bibliotecas. El cdigo de un

    mdulo no puede ejecutarse si

    contiene referencias sin

    resolver a rtulos de otros

    archivos objeto o bibliotecas

    Combina una coleccin de

    archivos objeto y de biblioteca en

    un archivo ejecutable, que el

    computador ejecuta

    Toda instruccin MIPS necesita 32 bits (igual que una palabra de datos y un registro)

  • 5/20/2018 Sim Ul Adores

    13/70

    El ensamblador incrementa el n de instrucciones disponibles a los programadores en lenguaje ensamblador y a los

    compiladores, mediante las pseudoinstrucciones.

    Son instrucciones del lenguaje ensamblador que no necesitan ser implementadas en hardware.

    El ensamblador MIPS maneja pseudoinstrucciones reservando $1 para su uso como registro temporal

    Ejemplo 2

    blt = pseudoinstruccin saltar sobre < que

    Implementar blt en hardware lo complicara, pues aumentara la duracin del ciclo de reloj, o bien esta instruccintendra ciclos de reloj extra por instruccin (por simplicidad, queremos que las instrucciones se ejecuten en un n de

    ciclos de reloj iguales). Dos instrucciones ms rpidas seran ms tiles

    Los nombres que comienzan con un punto (.data, .globl, ..) son directivas del ensamblador: indican al ensamblador

    cmo traducir un programa pero no producen instrucciones mquina

  • 5/20/2018 Sim Ul Adores

    14/70

    cmo traducir un programa, pero no producen instrucciones mquina

    .byte/half/word Almacena los n valores de 8/16/32 bits en bytes/medias

    .double/float Almacena los n nmeros de punto flotante de doble/simple

    .data Los elementos si uientes son almacenados en el se mento de

    .kdata Los elementos si uientes son almacenados en el se mento de

    .text Los elementos siguientes son almacenados en el segmento de.ktext Los elementos siguientes son almacenados en el segmento de

    .s ace Asi na n b tes de es acio en el se mento actual debe ser se .

    .extern sym size Declara que el dato almacenado en sym ocupa size

    b tes es un lobal. El ensamblador lo one en arte del. lobl s m Declara s m como lobal: se uede referenciar desde otros

    Hay 32 registros ($0, $1, ..., $31) de 32 bits (palabra).

    Cuando un programa tiene ms variables que registros, el compilador almacena las variables ms utilizadas en los

    registros, y las restantes en memoria: derramar registros (spilling).

    Nombr

    Nme

    Uso

    zero 0 Constante 0 (valor cableado)

    at 1 Reservado para el ensamblador

    v0, v1 2, 3 Evaluacin de expresin y resultado de una funcin

    a0, ...., 4, ...., Argumentos a rutina (resto de argumentos, a pila)

    t0, ...., 8, ...., Temporales (no preservados a travs de llamada, guardar

    s0, ...., 16, ...., Guardado temporalmente (preservado a travs de llamada,t8, t9 24, 25 Temporales (no preservados a travs de llamada, guardar

    k0, k1 26, 27 Reservados para el ncleo del S.O.

    gp 28 Puntero global, apunta a la mitad de un bloque de 64K en seg.

    sp 29 Puntero de pila, apunta la primera posicin libre en la pila

    fp 30 Puntero de encuadre

    ra 31 Direccin de retorno (usada por llamada de procedimiento)

    MIPS es una arquitectura de carga/almacenamiento

    Slo las instrucciones de carga y almacenamiento acceden a memoria, segn los clculos efectuados sobre valores en

    los registros.

    Alineacin: una cantidad est alineada si su direccin de memoria es un mltiplo de su tamao en bytes

    Ejemplo: Una palabra de 32 bits debe almacenarse en direcciones mltiplo de 4.

    Casi todas las instrucciones de carga y almacenamiento operan slo sobre datos alineados. Instrucciones para alinear

  • 5/20/2018 Sim Ul Adores

    15/70

    Formato Clculo de la direccin Ejemplo

    (registro) Contenido del registro lw $t0,($t2)

    valor Valor inmediato (vin) lw $t0,0x10010008

    valor (registro) vin + cr lw

    identificador direccin del identificador lw $t0,array

    identificador +/- valor did +/- vin lw $t0,array+8

    identificador (registro) did + cr lw $t0,array($t1)

    identificador +/- valor did +/- vi + cr lw $t0,array+4($t1)

    Registros para tratar las excepciones e interrupciones.

    Son accedidos por las instrucciones lwc0, mfc0, mtc0 y swc0

    SPIM slo implementa los siguientes :

    Nombre N

    Uso

    BadVAdre

    8 Direccin de memoria en donde ocurre la

    Status 12 Mscara de interrupcin y bits de habilitacin

    Cause 13 Tipo de excepcin y bits de interrupcinEPC 14 Direccin de la instruccin que caus la

    Instrucciones para manejar excepciones.

    rfe Vuelta desde Restaura el registro Status

    syscall Llamada al sistema El registro $v0 contiene el nmero de la

    llamada al sistema (ver la tabla de llamadasbreak Produce excepcin n Provoca la excepcin n. La exception

    1 se reserva para el depuradornop no operacin No hace nada

    Cdigos de excepciones

  • 5/20/2018 Sim Ul Adores

    16/70

    6 IBUS Error de bus durante una ca tura de instruccin7 DBUS Error de bus durante una car a o almacenamiento8 SYSCA

    Exce cin llamada al sistema9 BKPT Exce cin rovocada or un unto de ru tura break oint 10 RI Excepcin de instruccin reservada12 OVF Excepcin provocada por overflow aritmtico

    Conjunto de servicios parecidos al SO a travs de la instruccin syscall.

    $v0: cdigo de llamada al sistema

    $a0, $a1, o $f12: argumentos

    Resultados tras syscall: $v0 (o $f0)

    El ensamblador MIPS direcciona bytes individuales. Las palabras de memoria son de 32 bits (4 Bytes).

    La memoria direccionable tiene un tamao de 230 palabras.

    Las instrucciones de carga y almacenamiento comunican datos entre memoria y registros. La instruccin debe

    suministrar una direccin de memoria.

    Las direcciones comienzan en 0.

    El compilador asigna estructuras de datos (como los arrays) a posiciones de memoria, colocando la direccin

    adecuada de comienzo en las instrucciones de carga o almacenan.

  • 5/20/2018 Sim Ul Adores

    17/70

    Una direccin de memoria es la direccin de 1 byte de memoria

    Si esa dir. es la del primer byte de una palabra (00), es como si fuera la dir. de la palabra. MIPS considera este

    direccionamiento para la memoria virtual.

    Los segmentos de pila y datos son expandibles dinmicamente.

    Estn tan distantes como sea posible, y pueden crecer para utilizar el espacio completo de direcciones del programa.

    En C, malloc encuentra y devuelve un nuevo bloque de memoria, expandiendo el rea dinmica con la llamada del

    sistema sbrk, que hace que el S.O. aada ms pginas al espacio de direcciones virtuales del programa,

    inmediatamente antes del segmento de datos dinmicos

  • 5/20/2018 Sim Ul Adores

    18/70

    Gobierna el uso de registros cuando los procedimientos de un programa se compilan separadamente. Son convenios

    software, no hardware

  • 5/20/2018 Sim Ul Adores

    19/70

    SPIM es un simulador que ejecuta programas ensamblador del MIPS R2000

    Contiene un depurador y proporciona algunos servicios como el sistema operativo

    SPIM es un simulador virtual

    Para hacer frente a la difcil programacin de la arquitectura MIPS, SPIM hace:

    Oculta instrucciones (saltos y cargas) retardadas (segmentacin), reorganizando las instrucciones para ajustar los

    huecos del retardo.

    Amplia el conjunto de instrucciones del hardware real mediante pseudoinstrucciones, simulando stas mediante

    cortas secuencias de instrucciones reales.

  • 5/20/2018 Sim Ul Adores

    20/70

    Editamos el cdigo ensamblador file.s en cualquier procesador de texto ASCII. Abrimos PCSPIM

    Cargamos file.s mediante File -> Open

  • 5/20/2018 Sim Ul Adores

    21/70

  • 5/20/2018 Sim Ul Adores

    22/70

    Clear Registers Pone todos los registros con el valor cero (0x00000000).

    Reinitialize Borra el contenido de los registros y de la memoria, e inicia el simulador. Reload

    Reinitializa el simulador, y carga el cdigo ensamblador actual.

    Go Ejecuta el cdigo actual.

    Break/Continue Durante la ejecucin, la para. Si est parada, la contina. Single Step Ejecuta instruccina instruccin.

    Multiple Step... Ejecuta un nmero de instrucciones especificado por el usuario. Breakpoints... Abre una

    ventana para especificar las posiciones de los puntos de ruptura.

    Set Value... Abre una ventana para establecer valores de memoria o de registros. Symbol table

    Muestra la tabla de smbolos en la ventana de mensajes.

    Settings Ventana para seleccionar las opciones de SPIM.

    SIMULADOR DE LOS MICROPROCESADORES UAMICRO

    (onesta opcin se pueden cargar en la memoria de la UAMICRO programas que se e11cuentrcn en disco asi comosalvarlos.activar la opcin Archivos aparece una ventana en la UAMICRO con las siguientes opciones

  • 5/20/2018 Sim Ul Adores

    23/70

    Pantalla de la UAMICRO con las nuevas opciones

    Podemos activar una de las opciones desplazndose con las flechas arriba y abajo.

    CARGAR.- Al seleccionar la opcin cargar, aparece otra ventana pidiendo el nombre del Archivo a cargar. Es

    importante hacer notar que el nombre del archivo debe estar exento de Extensin ya que el simulador de la una

    extensin predeterminada. Si el archivo que se intentar cargar no existe. entonces aparece un mensaje de Error el cual

    desaparece presionando la tecla

    Esc:

    Pantalla que muestra la activacin de la opcin Cargar

    Si el archivo existe para la versin de la UAMICRO que se est activando, entonces

    apareceran las instrucciones que corresponden al programa en la memoria del simulador, asicomo los valores con los que se guardaron los registros.

  • 5/20/2018 Sim Ul Adores

    24/70

    presionada es "N", entonces el simulador pedir otro nombre para el archivo

    Al activar la opcin Salvar, se pide un nombre sin extensin

    DIRECTORIO- activar esta opcin, el simulador nos despligalo archivos que se encuentran

    Con el Directorio actual de trabajo indicando el numero de archivos y la cantidad de espacio

    ocupado as como la cantidad libre, adems de desplegar las caractersticas de cada uno como son fecha. hora y

    tamao.

    Ejemplo del desplegado del Directorio al utilizar esta opcin del simulador

    DOSSHELL.- Esta opcin permite salir temporalmente al sistema operativo, dejando residente al simulador. Para

  • 5/20/2018 Sim Ul Adores

    25/70

    DOSSHELL. Esta opcin permite salir temporalmente al sistema operativo, dejando residente al simulador. Para

    Pantalla de trabajo que deja el simulador al momento de activar el dosshell

    E.IEMI'LOS DE PROGRAMAS PARA LAS UAMICROS

    I,osprogramas que aqu se muestran tienen el objetivo de enriquecer la cantidad de

    Ejemplos que se mencionan en el libro Sistemas Digitales pero solamente se harn uso de unas cuantas

    instrucciones de cada una de las UAMICROS.

    EJEMPLO 1

    SIMUMLADOR:UAMICROS

    DESCRIPCION: cuenta regresiva de2 en 2 desde 20h hasta OOh

  • 5/20/2018 Sim Ul Adores

    26/70

    EJEMPLO 2

    SIMUMLADOR: UAMICROS

  • 5/20/2018 Sim Ul Adores

    27/70

    SIMUMLADOR: UAMICROS

    SIMULADOR / EMULADOR DEL MICROPROCESADOR

    65C02

    Simulador SIM-650C.

    La interfaz que forma el simulador Sin -650C Se divide en diferentes secciones:

    Programa: Representacin mnemnica de Ia memoria, slo on las zonas en las que riene sentido dicha

    represenracin como son la zona de programa de usuario (0400H-l FFFH) y kzonade Rom (E000H-FFFFH).

    Memoria: Contendo hexadecinal de cada posicin de memoria.

    Registros: Valor que poseen los registros internos de este microprocesador como son;

    Contador de programa (PC)

    Punteio do pila (SP)

  • 5/20/2018 Sim Ul Adores

    28/70

    Registro Y (Y)

    Registro & estado (P)

    Va de usuario: Valor de cada uno de los registros infernos de configuracin de esta Via.

    Pagina Ccro: Acceso rapido al contenido de memoria de a pagina cero de este sistema

    Pila: Posicion del puntero de Piia y contenido de esta en todo momento.

    Dispone adems de diferentes herramientas de ayuda como son: -

    Visorparaexaminar el

    progr ama de usuario cargado en sus tres posibles formatos Hex.aMm o lst. Editor de texto para insertar cdigo en el programa de usuario o bien para crear uno nuevo

    Herramienta de ayuda para el carnbio de sistema de numeracin -

    Buscador de mnemOnicos o seduencia de codigo

    Localizador de posiciorles de memoria

    Comunicacin con el microinstruccinMI-650C. -

    Posibilidad de veR La ejecucin de rutinas Del programa monitor. -

    PanLalla de display Teclado y Puertos como apoyo en Ia simulacin, de las rutinas que hacen uso de estos elementos

    Visor para Ia comprobacin de las operaciones aritmticas. lgicas y & rotacin.

    Botn para activar Ia interupcion LRQ y ejecutar a rutina de interrupcin

  • 5/20/2018 Sim Ul Adores

    29/70

    Botn para activar Ia interupcion LRQ y ejecutar a rutina de interrupcin

  • 5/20/2018 Sim Ul Adores

    30/70

  • 5/20/2018 Sim Ul Adores

    31/70

    CONJUNTO DE HERRAMIENTAS MSX88

  • 5/20/2018 Sim Ul Adores

    32/70

    Actualmente, el kit de aprendizaje MSX88, est compuesto por las siguientes herramientas:

    A S M 8 8 : Ensamblador para la CPU SX88.

    LINK88: Programa montador para el MSX88

    MSX88: Emulador del sistema microcomputador, cuya CPU es SX88.

    La CPU SX88, como cualquier otra, tiene su propio ensamblador, ste es el ASM88., que es capaz de ensamblar

    cualquier programa fuente escrito en lenguaje de ensamble del SX88, generando dos ficheros a partir del primero; un

    fichero objeto con extensin .OBJ, destinado a ser procesado nicamente por el montador LINK88, y un fichero

    listado con extensin .LST, cuya generacin es opcional.

    El ASM88 es un ensamblador cruzado, es decir, se ejecuta en una mquina distinta - el PC bajo MS-DOS- , de en la

    que corrern los programas que ensambla - el MSX88-. El cdigo que produce es no reubicable, se ha de elegir una

    ubicacin fija para los programas y datos dentro del espacio de memoria definido en el MSX88, de esta manera

    siempre se tiene un control total sobre lo que se est haciendo

    Su invocacin se realiza desde el DOS, tecleando;

    indica que ste es opcional, ya que de no ser suministrado en la invocacin, ser el propio ensamblador quien lo

    solicitar.

    LINK88 es el nombre del programa montador de los programas objetos producidos por el ASM88., que al

    igual que el ltimo, es un montador cruzado.

    No tiene funciones de enlazador, pues el tamao de los programas a ejecutar en el MSX88, hace que carezca

    de sentido la realizacin de una programacin modular. Pero an as, se mantiene esta herramienta dentro del entorno,

  • 5/20/2018 Sim Ul Adores

    33/70

    A pesar de que los ficheros objetos y ejecutables tendrn un aspecto muy similar. el MSX88, no es capaz de

    cargar los programas si estos no han sido procesados antes por LINK88.

    MSX88 es el programa que constituye el ncleo del entorno de herramientas. Es un emulador de un sistema

    digital basado en microprocesador, cuya CPU denominada SX88, se puede ver como un 8088 simplificado.

    Desde sus comienzos, en los que tan slo contaba de CPU y memoria, MSX88 ha sufrido una notable

    evolucin, pasando actualmente a incorporar un bloque de periferia, admitiendo diversos conexionados y

    configuraciones. An as, lo que se ha conservado como una constante a lo largo de las diversas versiones de este

    emulador, es la equivalencia, en la medida de lo posible, de sus elementos con CPUs y perifricos de la familia

    aadir, nunca quitar u olvidar, a lo aprendido sobre el MSX88.

    Para arrancar el programa, tan slo es necesario teclear desde el DOS;

    MSX88 CR>

  • 5/20/2018 Sim Ul Adores

    34/70

    Descripcin del MSX88

    BLOQUES CONSTITUTIVOS

  • 5/20/2018 Sim Ul Adores

    35/70

    PANTALLAS Y CONFIGURACIONES

    Las distintas formas de conectar el conjunto CPU-Memoria con los perifricos, determinan las diferentes

    configuraciones posibles en MSX88. A su vez, cada uno de stos modos de conexionado, se muestra al usuario a

    travs de dos pantallas; pantalla 0 y pantalla

    1. La primera de ellas, es la pantalla principal que inicialmente se muestra tras arrancar el programa (figura-

    1), siendo comn a todas las configuraciones. En sta, se representa la CPU mostrando toda su arquitectura

    interna, la memoria, y el bloque de periferia que a la vez que evidencia su presencia, oculta su

    complejidad, junto con buses que constituyen los caminos de comunicacin entre stos bloques. Se

    concibe como una pantalla bsica orientada a los usuarios que se inician en el tema, en la que los

    objetivos de estudio se centrarn en el funcionamiento bsico de la CPU.

    La pantalla 1 (figuras 2 a 5) se centra en el estudio de los perifricos. sta a diferencia de la anterior, vara

    en funcin de la configuracin en la que se encuentre el emulador en un determinado momento. An as,

    existen una serie de elementos, situados en la parte superior, que se mantendrn constantes a lo largo de

    todas las configuraciones; se trata del conjunto CPU-Memoria, representado a la izquierda, y de los

    perifricos PIC y Timer, que se visualizan en la parte derecha. El resto de los elementos que se visualicen

    en esta pantalla, vendrn determinados por la configuracin o modo de conexionado seleccionado por el

    usuario

  • 5/20/2018 Sim Ul Adores

    36/70

    usuario.

    Conexionado 0: Es el ms simple de todos ellos (figura 2), pues no contempla los elementos relacionados

    con las interrupciones. A los elementos constantes situados en la parte superior, que sern invariantes para

    el resto de conexionados, incorpora el PIO conectado a una barra de Leds y a otra de microconmuta-dores.

    Conexionado 1: Este, (figura 3) sustituye la barra de Leds y microconmutadores de la configuracinanterior por una impresora con un Interfaz Centronics, que habr de ser implementado por el usuario.

    Conexionado 2: Esta configuracin (figura 4) es idntica a la anterior con la salvedad de haber

    sustituido el PIO por un dispositivo que hace handshaking, implementando el Interfaz Centronics necesario para

    conectarse a la impresora. La relacin entre ste y la CPU se lleva a cabo bien a travs de interrupciones, o bien por

    consulta de estado.

    Conexionado 3: Es la configuracin ms compleja de todas (figura 5), pudindose ver como un conexionado 2, al

    que se le ha incorporado un CDMA conectado al Hand y a los buses del sistema

  • 5/20/2018 Sim Ul Adores

    37/70

    LENGUAJE MAQUINA1

    El set de instrucciones que ofrece esta CPU es una parte real del repertorio de instrucciones del

    microprocesador 8086/88, que recoge solamente las instrucciones ms generales y usuales.

  • 5/20/2018 Sim Ul Adores

    38/70

    p , q g g y

    Las instrucciones del SX88 estn codificadas con cero, uno o dos operandos (registro, memoria, dato

    inmediato). Las operaciones se hacen entre registros, registros y memoria, datos inmediatos y registros, o

    entre datos inmediatos y memoria, pero nunca entre memoria y memoria. Los modos de direccionamiento de los

    operandos indican la manera de calcular la direccin real de stos.

    Los siguientes tipos de direccionamiento son utilizados en las instrucciones de esta CPU para referenciar a

    los operando involucrados en la instruccin:

    Direccionamiento inmediato.

    El operando es un dato inmediato contenido en la instruccin, con lo que el tamao de la

    instruccin viene condicionado por el tamao del operando.

    Direccionamiento directo.

    En la instruccin se indica la direccin real de memoria en la que est contenido el operando. Si el

    operando ocupa varias posiciones de memoria consecutivas, en la instruccin figurar la direccin ms

    baja.

    Direccionamiento indirecto a travs del registro BX.

    La direccin de memoria donde est el operando viene determinada por el contenido del

    registro BX.

    Direccionamiento relativo a contador de programa.

    Este tipo de direccionamiento se utiliza en las instrucciones de salto condicional, en

    las que la direccin de salto se obtiene sumando al registro IP el desplazamiento contenido en la propia

    instruccin.

    TIP0S DE INSTRUCCI0NES2

    Desde un punto de vista funcional se pueden distinguir los siguientes tipos de instrucciones:

    Instrucciones de transferencia de datos: MOV.

    Instrucciones aritmtico-lgicas:

    - Instrucciones aritmticas: ADD, ADC, SUB, SBB.

    - Instrucciones lgicas: AND, OR, XOR, NEG, NOT.

  • 5/20/2018 Sim Ul Adores

    39/70

    Instrucciones de manejo de la Pila: PUSH, POP, PUSHF, POPF.

    Instrucciones de cambio de flujo de programa:

    - Instrucciones de salto incondicional: JMP.

    - Instrucciones de salto condicional: JZ, JNZ, JS, JNS, JC, JNC, JO, JNO.

    - Instrucciones asociadas a subrutinas: CALL, RET.

    Instrucciones de gestin de las Interrupciones: INT, IRET, STI, CLI.

    Instrucciones de control:NOP, HLT.

    Instrucciones de entrada/salida: IN, OUT.

    CODIG0 MAGUINA DE LAS INSTRUCCI0NES2

    A continuacin, se muestra el cdigo mquina de cada una de las instrucciones de la

    CPU SX88. En su codificacin, se han utilizado las siguientes abreviaturas:

    W: Indica el tamao de los operandos:

    W SIGNIFICADO

    0 operandos de 8 bits

    1 operandos de 16 bits

    r r r

    = =0 0 0 AL AX

    0 0 1 CL CX

    0 1 0 DL DX

    0 1 1 BL BX

    1 0 0 AH SP

  • 5/20/2018 Sim Ul Adores

    40/70

    1 0 1 CH

    1 1 1 BH --

    INSTRUCCI0NES DE TRANSFERENCIA2

    MOV memoria, registro

    Direccionamiento directo:

    1000100W 00rrr110 LSB dir MSB dir

    Direccionamiento indirecto:

    1000100W 00rrr111

    MOV registro, memoria

    Direccionamiento directo:

    1000101W 00rrr110 LSB dir MSB dir

    Direccionamiento indirecto:

    1000101W 00rrr111

    MOV memoria, dato inmediato

    Direccionamiento directo:

    1100011W 00000110 LSB dir MSB dir LSB dato MSB dato

    Direccionamiento indirecto:

    1100011W 000000131 LSB dato MSB dato

  • 5/20/2018 Sim Ul Adores

    41/70

    MOV i d i di

    MOV registro, REGISTRO

    1000101W 11rrrRRR

    INSTRUCCI0NES ARITMETIC0-LOGICA S2

    INSTRUCCIONES ARITMTICAS.

  • 5/20/2018 Sim Ul Adores

    42/70

    ADD memoria, registro

    Direccionamiento directo:

    0000000W 00rrr110 LSB dir MSB dir

    Direccionamiento indirecto:

    0000000W 00rrr111

    ADD registro, memoria

    Direccionamiento directo:

    0000001W 00rrr110 LSB dir MSB dir

    Direccionamiento indirecto:

    0000001W 00rrr111

    ADD memoria, dato inmediato

    Direccionamiento directo:

    1000000W 00000110 LSB dir MSB dir LSB dato MSB dato

    Direccionamiento indirecto:

    1000000W 00000111 LSB dato MSB dato

    ADD registro, dato inmediato

    1000000W 11000rrr LSB dato

    ADD registro, REGISTRO

  • 5/20/2018 Sim Ul Adores

    43/70

    ADC memoria, registro

    Direccionamiento directo:

    0001000W 00rrr110 LSB dir MSB dir

    Direccionamiento indirecto:

    0001000W 00rrr111

    ADC registro, memoria

    Direccionamiento directo:

  • 5/20/2018 Sim Ul Adores

    44/70

    0001001W 00rrr110 LSB dir MSB dir

    Direccionamiento indirecto:

    0001001W 00rrr111

    ADC memoria, dato inmediato

    Direccionamiento directo:

    1000000W 00010110 LSB dir MSB dir LSB dato MSB dato

    Direccionamiento indirecto:

    1000000W 00010111 LSB dato MSB dato

    ADC registro, dato inmediato

    1000000W 11010rrr LSB dato MSB dato

    ADC registro, REGISTRO

    0001001W 11rrrRRR

    SUB memoria, registro

    Direccionamiento directo:

    0010100W 00rrr110 LSB dir MSB dir

    Direccionamiento indirecto:

    0010100W 00rrr111

  • 5/20/2018 Sim Ul Adores

    45/70

    SUB registro, memoria

    Direccionamiento directo:

    0010101W 00rrr110 LSB dir MSB dir

    Direccionamiento indirecto:

    0010101W 00rrr111

    SUB memoria, dato inmediato

    Direccionamiento directo:

    1000000W 00101110 LSB dir MSB dir LSB dato MSB dato

    Direccionamiento indirecto:

    1000000W 00101111 LSB dato MSB dato

  • 5/20/2018 Sim Ul Adores

    46/70

    SUB registro, dato inmediato

    1000000W 11101rrr LSB dato MSB dato

    SUB registro, REGISTRO

    0010101W 11rrrRRR

    SBB memoria, registro

    Direccionamiento directo:

    0001100W 00rrr110 LSB dir MSB dir

    Direccionamiento indirecto:

    0001100W 00rrr111

    SBB registro, memoria

    Direccionamiento directo:

    0001101W 00rrr110 LSB dir MSB dir

    Direccionamiento indirecto:

    0001101W 00rrr111

    SBB memoria, dato inmediato

    Direccionamiento directo:

    1000000W 00011110 LSB dir MSB dir LSB dato MSB dato

  • 5/20/2018 Sim Ul Adores

    47/70

    1000000W 00011110 LSB dir MSB dir LSB dato MSB dato

    Direccionamiento indirecto:

    1000000W 00011111 LSB dato MSB dato

    SBB registro, dato inmediato

    1000000W 11011rrr LSB dato MSB dato

    SBB registro, REGISTRO

    0001101W 11rrrRRR

  • 5/20/2018 Sim Ul Adores

    48/70

    INSTRUCCIONES LGICAS.

    AND memoria, registro

    Direccionamiento directo:

    0010000W 00rrr110 LSB dir MSB dir

    Direccionamiento indirecto:

    0010000W 00rrr111

    AND registro, memoria

    Direccionamiento directo:

    0010001W 00rrr110 LSB dir MSB dir

    Direccionamiento indirecto:

    0010001W 00rrr111

    AND memoria, dato inmediato

    Direccionamiento directo:

    1000000W 00100110 LSB dir MSB dir LSB dato MSB dato

    Direccionamiento indirecto:

    1000000W 00100111 LSB dato MSB dato

    AND registro, dato inmediato

    1000000W 11100rrr LSB dato MSB dato

  • 5/20/2018 Sim Ul Adores

    49/70

    AND registro, REGISTRO

    0010001W 11rrrRRR

    OR memoria, registro

    Direccionamiento directo:

    0000100W 00rrr110 LSB dir MSB dir

    Direccionamiento indirecto:

    0000100W 00rrr111

  • 5/20/2018 Sim Ul Adores

    50/70

    OR registro, memoria

    Direccionamiento directo:

    0000101W 00rrr110 LSB dir MSB dir

    Direccionamiento indirecto:

    0000101W 00rrr111

    OR memoria, dato inmediato

    Direccionamiento directo:

    1000000W 00001110 LSB dir MSB dir LSB dato MSB dato

    Direccionamiento indirecto:

    1000000W 00001111 LSB dato MSB dato

    OR registro, dato inmediato

    1000000W 11001rrr LSB dato MSB dato

    OR registro, REGISTRO

    0000101W 11rrrRRR

    XOR memora, registro

    Direccionamiento directo:

    0011000W 00rrr110 LSB dir MSB dir

    Direccionamiento indirecto:

  • 5/20/2018 Sim Ul Adores

    51/70

    0011000W 00rrr111

    XOR registro, memoria

    Direccionamiento directo:

    0011001W 00rrr110 LSB dir MSB dir

    Direccionamiento indirecto:

    0011001W 00rrr111

    XOR memoria, dato inmediato

    Direccionamiento directo:

    1000000W 00110110 LSB dir MSB dir LSB dato MSB dato

  • 5/20/2018 Sim Ul Adores

    52/70

    Direccionamiento indirecto:

    1000000W 00110111 LSB dato MSB dato

    XOR registro, dato inmediato

    1000000W 11110rrr LSB dato MSB dato

    XOR registro, REGISTRO

    0011001W 11rrrRRR

    NEG memoria

    Direccionamiento directo:

    1111011W 00011110 LSB dir MSB dir Direccionamiento indirecto:

    1111011W 00011110 LSB dir MSB dir

    NEG registro

    1111011W 00011111

    NOT memoria

    Direccionamiento directo:

    1111011W 00010110 LSB dir MSB dir

    Direccionamiento indirecto:

  • 5/20/2018 Sim Ul Adores

    53/70

    1111011W 00010111

    NOT registro

    1111011W 11010rrr

    4.2.2.2 INSTRUCCI0NES DE C0MPARACIdN2

    CMP memoria, registro

    Direccionamiento directo:

    0011100W 00rrr110 LSB dir MSB dir

  • 5/20/2018 Sim Ul Adores

    54/70

    Direccionamiento indirecto:

    0011100W 00rrr111

    CMP registro, memoria

    Direccionamiento directo:

    0011101W 00rrr110 LSB dir MSB dir

    Direccionamiento indirecto:

    0011101W 00rrr111

    CMP memoria, dato inmediato

    Direccionamiento directo:

    1000000W 00111110 LSB dir MSB dir LSB dato MSB dato

    Direccionamiento indirecto:

    1000000W 00111111 LSB dato MSB dato

    CMP registro, dato inmediato

    1000000W 11111rrr LSB dato MSB dato

    CMP registro, REGISTRO

    0011101W 11rrrRRR

  • 5/20/2018 Sim Ul Adores

    55/70

    4.2.2.2 INSTRUCCI0NES DE INCREMENT0IDECREMENT02

    INC memoria

    Direccionamiento directo:

    1111111W 00000110 LSB dir MSB dir

    Direccionamiento indirecto:

    1111111W 00000111

    INC registro

    1111111W 11000rrr

  • 5/20/2018 Sim Ul Adores

    56/70

    DEC memoria

    Direccionamiento directo:

    1111111W 00001110 LSB dir MSB dir

    Direccionamiento indirecto:

    1111111W 00001111

    DEC registro

    1111111W 11001rrr

    4.2.2.2 INSTRUCCI0NES DE MANEJ0 DE LA PILA2

    PUSH registro

    01010rrr

    POP registro

    01011rrr

    PUSHF

    10011100

    POPF

  • 5/20/2018 Sim Ul Adores

    57/70

    10011101

    4.2.2.2 INSTRUCCI0NES DE CAMBI0 DE FLUJ0 DE PR0GRAMA2

    INSTRUCCIN DE SALTO INCONDICIONAL.

    JMP direccin

    11101001 LSB dir MSB dir

    INSTRUCCIONES DE SALTO CONDICIONAL.

    JZ desplazamiento

    01110100 desplazam.

  • 5/20/2018 Sim Ul Adores

    58/70

    JNZ desplazamiento

    01110101 desplazam.

    JS desplazamiento

    01111000 desplazam.

    JNS desplazamiento

    01111001 desplazam.

    JC desplazamiento

    01110010 desplazam.

    JNC desplazamiento

    01110011 desplazam.

    JO desplazamiento

    01110000 desplazam.

    JNO desplazamiento

    01110001 desplazam.

    INSTRUCCIONES ASOCIADAS A SUBRUTINAS. CALL

  • 5/20/2018 Sim Ul Adores

    59/70

    di i

    11101000 LSB dir MSB dir

    RET

    11000011

    4.2.2 S21NSTR5CC10NES DEGEST1dN DE LAS 1NTERR5PC10NES2

    INT nmero

    11001101 nmero

  • 5/20/2018 Sim Ul Adores

    60/70

    IRET

    11001111

    STI

    11111011

    CLI

    11111010

    INSTRUCIONES DE C0NTR0L2

    NOP

    10011000

    HLT

    11110100

  • 5/20/2018 Sim Ul Adores

    61/70

    INSTRUCCIONES DE ENTRADA Y SAL1DA2

    IN AL, direccin

    11100100 direccin

    IN AX, direccin

    11100101 direccin

    OUT direccin , AL

    11100110 direccin

    OUT direccin, AX

    11100111 direccin

    N AL, DX

    11101100

  • 5/20/2018 Sim Ul Adores

    62/70

    IN AX, DX

    11101101

    OUT DX, AL

    11101110

    OUT DX, AX

    11101111

    La memoria del MSX88 se representa en pantalla como un bloque en cuyo interior existe unaventana de 9 posiciones. La posicin central de sta, representa el octeto que est siendo direccionado

    en cada momento de la ejecucin de un programa.

    Adems, en la pantalla principal, es posible visualizar una segunda ventana idntica a la descrita,

    concibindose sta ltima como un rea de datos, que a diferencia de la primera, durante la

    ejecucin de un programa, permanecer fijada en torno a la posicin especificada por el usuario.

    El MSX88 posee un total de 64 Kbytes direccionados linealmente.El usuario tiene a su

    disposicin, un total de 32 Kbytes (desde la posicin 0000H hasta la 7FFFH), estando los 32

    Kbytes de memoria alta ocupados por el programa monitor (sistema operativo). Por ello, las escrituras

    por encima de la direccin 7FFFH pueden dar lugar a comportamientos anmalos de la aplicacin.

  • 5/20/2018 Sim Ul Adores

    63/70

    En el primer Kbyte se encuentra la tabla de vectores de interrupcin, tal como ocurre en el

    microprocesador en el que se inspira.

    Las interrupciones de la CPU SX88 son las mismas que las del 8086/88, siendo stas las

    siguientes:

    Hardware: Lneas INT y NMI. Conectadas a distintos perifricos en funcin de la

    configuracin.

    Software: Instruccin INT xx.

    l proceso de atencin de una interrupcin es idntico al usado por la CPU 8086/88, siendo todas

    vectorizadas, excepto NMI que es de salto indirecto.

    La tabla de vectores de interrupcin es el nexo de unin entre un tipo de interrupcin (0...255) y

    el procedimiento que ha sido designado para atenderla. Cada interrupcin vectorizada tiene un cdigo

    que la identifica para la CPU. Existen por lo tanto 256 entradas en la tabla, una para cada tipo deinterrupcin.

    Cada entrada de la tabla es una doble palabra (4 bytes) que contiene la direccin del

    procedimiento que va a dar servicio al tipo de interrupcin correspondiente. La palabra (16 bits)

    situada en la direccin ms alta de memoria estar siempre a cero debido a que la memoria del

    MSX88 slo consta de un segmento de 64 Kbytes, mientras que la segunda es donde el usuario deber

    cargar la direccin lgica (en el SX88 coincide con la direccin fsica) de comienzo de la rutina de

    tratamiento de la interrupcin que corresponda.

    Las 256 posibles interrupciones, correspondientes a los cdigos del 0 al 0FFH, estn organizadas

    en la siguiente forma:

    - Cuatro interrupciones software que ocupan las posiciones correspondientes a los tipos

    0, 3, 6, y 7.:

  • 5/20/2018 Sim Ul Adores

    64/70

    TIPO 0: Finaliza la ejecucin de un programa.

    TIPO 3: Sirve para poner puntos de parada despus de la ejecucin de instrucciones

    concretas.

    TIPO 6: Espera para leer un carcter del teclado y lo almacena en la posicin de

    memoria cuya direccin se indica en el registro BX.

    TIPO 7: Escribe en la pantalla de comandos un bloque de datos. La direccin de

    comienzo del bloque se deber cargar en el registro BX ,y el nmero de datos

    que componen el bloque en el registro AL.

    - 251 interrupciones libres para ser utilizadas por el usuario.

    Como todo sistema microcomputador, MSX88 posee una serie de perifricos propios, pudindose

    establecer una clara distincin entreperifricos internos, yperifricos externos.

    Dentro de este grupo se distinguen los siguientes:

    PIO: Puertos paralelo de entrada/salida.

    HAND-SHAKE: Perifrico de Handshaking.

    PIC: Controlador de interrupciones.

    TIMER: Contador de eventos.

    CDMA: Controlador de Acceso directo a memoria.

  • 5/20/2018 Sim Ul Adores

    65/70

    Conjunto de dispositivos integrado por la pantalla, las unidades de disco y el teclado del ordenador

    donde se ejecuta MSX88, y adems por los siguientes:

    Barra de LEDS.

    Barra de Microconmutadores.

    Impresora.

    Es una interfaz de entrada/salida de propsito general, que presenta dos puertos paralelo de 8 bits,denominados A y B, pudindose programar sus bits individualmente como entrada o salida. Tras un reset,

    ambos puertos son configurados como entradas.

    Posee cuatro registros internos de ocho bits:

    Dos de datos: PA y PB, destinados a contener el dato presente en los puertos A y B,

    respectivamente.

    Dos de control: CA y CB, que permiten programar individualmente los bits de los puertos Ay B, respectivamente. La programacin, consiste en realizar una operacin de escritura sobre el bit

    correspondiente al que se programa. Escribiendo un 0 el bit quedar configurado como salida,

    mientras que un 1 lo configura como entrada.

    7.2.212 Seleccin de regisrrss2

    El acceso a los registros, tanto en lectura como en escritura, se hace de acuerdo a la siguiente tabla:

    A1 A0 Registro

    0 0 PA

    0 1 PB

    1 0 CA

    1 1 CB

  • 5/20/2018 Sim Ul Adores

    66/70

    Para lograr un acceso se debe activar tambin la seal CS del PIO. El acceso ser de escritura o

    de lectura en funcin del estado de las seales IOW e IOR..

    7.2.2.2 Csnexin en el sisrema.2

    En el sistema, los registros del PIO se sitan a partir de la direccin 30H, y la conexin de sus

    lneas es la que sigue:

    - CS: conectada a la salida CS2 de la lgica de seleccin de la periferia.

    - IOR , IOW: se conectan a las lneas del mismo nombre de la lgica de generacin de las sealesde lectura/escritura.

    - D0...D7: conectados a los bits correspondientes del bus de datos del sistema.

    A0,, A1: conectadas a los bits menos significativos del bus de direcciones (A0 y A1,,

    respectivamente).

    - PA0...PA7, PB0...PB7: tienen dos posibles conexiones en funcin de la configuracin en que se

    encuentre el PIO:

    - Configuracin 0 (figura 2): se conectan a los correspondientes bits de los buses de los

    microinterruptores (PA0...PA7), y de los leds (PB0...PB7).

    - Configuracin 1 (figura 3): se conectan a un bus Centronics de impresora,

    correspondindose con las siguientes lneas del interfaz:

    PA0: lnea busy .

    PA1: lnea strobe.

    PB0...PB7: lneas de datos.

  • 5/20/2018 Sim Ul Adores

    67/70

    Interfaz de periferia que cumple la temporizacin especificada en el interfaz Centronics, no

    admitiendo modo de programacin alguno. Se comunica con la CPU por consulta de estado o a travs de

    interrupciones, en funcin del BIT 7 de su registro de estado.

    Internamente posee dos registros de 8 bits:

    - DATO: Registro de datos. Una operacin de escritura sobre ste permite sacar un dato a las lneas

    D0...D7, mientras que una lectura del mismo proporciona el ltimo dato sacado por las lneas

    D0...D7.

    - EST: Registro de estado. Su formato es el que se muestra a continuacin:

    INT STR BUSY

    El significado de los bits es el que sigue:

    - En lectura:

    BIT 0: 0: Lnea BUSY desactivada.

    1: Lnea BUSY activada.

    BIT 1: 0: Lnea STROBE desactivada

    1: Lnea STROBE activada

    BITS 2...6: No tienen sentido.

    BIT 7: 0: No se activar la lnea INT.

    1: Se activar la lnea INT cuando la lnea BUSY no est

    activada.

    - En escritura:

    BIT 0...6: Su contenido es indiferente.

  • 5/20/2018 Sim Ul Adores

    68/70

    BIT 7: 0: Inhibe la activacin de la lnea INT.

    1: La lnea INT se activar al desactivarse la lnea BUSY.

    ELECCIN DE REGISTRO

    El acceso a los registros, tanto en lectura como en escritura, se hace de acuerdo a la siguiente

    tabla:

    A

    0

    DATO

    0

    1

    Regis

    tro

    Para lograr un acceso se debe activar tambin al seal CS del HAND. El acceso ser de escritura o

    de lectura en funcin del estado de las seales IOW e IOR..

    Conexin en el sisrema.2

    En el sistema, los registros del HAND se sitan a partir de la direccin 40H, siendo la conexin

    de sus lneas la que sigue:

    - CS: conectada a la salida CS2 de la lgica de seleccin de la periferia.

    - IOR , IOW: se conectan a las lneas del mismo nombre de la lgica de generacin de las seales

    de lectura/escritura.

    - D0...D7: conectados a los bits correspondientes del bus de datos del sistema.

    - A0: conectadas al bit menos significativo del bus de direcciones (A0).

    - STROBE, BUSY, P0...P7: se conectan a las lneas correspondientes del Interfaz

  • 5/20/2018 Sim Ul Adores

    69/70

    Centronics de la impresora..

    - INT: su conexin vara en funcin de la configuracin en que se halle el HAND:.

    - Configuracin 2 (figura 4): se conecta a la entrada INT2 del Controlador de

    Interrupciones (PIC).

    - Configuracin 3 (figura 5): se encuentra conectada a la entrada DREQ del

    CD

    MA.

    Contador de eventos, que realiza una cuenta ascendente los pulsos de la seal aplicada a su entrada

    INT, restaurndose el valor inicial de cuenta al final de la misma.

    Posee dos registros internos de ocho bits

    - COMP: Registro de comparacin, que determina el mdulo de la cuenta del TIMER.

    - CONT: Registro contador, que muestra la cuenta de los pulsos de la seal aplicada a la entrada INT

    del perifrico. La coincidencia de su valor con el del registro anterior provoca la activacin de lasalida OUT.

    Seleccin de regisrrss2

    El

    ac

    Registro

    0

    1

    CON

    T

    COM

    Para lograr un acceso, se debe activar tambin la seal CS del TIMER El tipo de acceso

    (escritura o lectura) lo determina el estado de las seales IOW e IOR..

    Conexin en el sisrema.2

  • 5/20/2018 Sim Ul Adores

    70/70

    En el sistema, los registros de este dispositivo se sitan a partir de la direccin 10H. Su conexin

    tiene lugar en todas y cada una de las configuraciones, en el modo que a continuacin se expone:

    - CS: esta lnea se conecta a la salida CS1 de la lgica de seleccin de la periferia.

    - IOR , IOW: conectadas a las lneas del mismo nombre de la lgica de generacin de las seales

    de lectura/escritura.

    - D0...D7: conectados a los bits correspondientes del bus de datos del sistema.

    - A0: lnea de seleccin que se conecta al bit menos significativo del bus de direcciones

    (A0).

    - IN: a esta entrada se le aplica un reloj de frecuencia 1 Hz.

    - OUT: se conecta a la entrada de interrupcin INT1 del PIC, por lo que provocar una

    interrupcin al activarse cuando los valores de los dos registros internos del dispositivo

    coincidan.

    CONCLUSIONES

    LOS SIMILADORES permite al usuario una herramienta completa para emular el comportamiento funcional

    y operacin de un sistema de desarrollo basado en microprocesadores permite entender y profundizar en la

    comprensin de los diferentes bloques del sistema practicar los conceptos aplicaciones y uso de la

    programacin de interrupcin y entra y salida y por ultimo dominar y practicar el flujo de ejecucin de

    instrucciones de un programa y su ejecucin y depuracin paso a paso