Interrupciones en el simulador MSX88. Facundo Quiroga

Documentos relacionados
Acceso Directo a Memoria

SISTEMAS BASADOS EN MICROPROCESADOR 2º Grado Ingeniería Informática (EPS UAM) EXAMEN FINAL EXTRAORDINARIO JULIO 2013 ENUNCIADO DEL PROBLEMA

Práctica 3: El teclado del PC

Arquitectura de Computadores II 8086 Parte II

Práctica 3: El teclado del PC

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A

Registros SFR vistos hasta ahora: Microcontroladores PIC

Conceptos de Arquitectura de Computadoras Curso 2015

Instrucciones Lógicas y Registro de Banderas

INTRODUCCIÓN. Interrupciones.

SISTEMAS BASADOS EN MICROPROCESADORES

SISTEMAS BASADOS EN MICROPROCESADORES

Tema 4. La pila, los procedimientos y las macros

CON LOS VALORES ASCII

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

Entrada/Salida. Polling e Interrupciones. Verano de Mariano Moscato. Organización del Computador 1

81,9(56,'$'32/,7e&1,&$'(0$'5,' (8,77(/(&2081,&$&,Ï1 '(3$57$0(172'(,1*(1,(5Ë$<$548,7(&785$67(/(0È7,&$6

Introducción Ejercicio Interrupciones Ejercicio DMA Cierre. Entrada/Salida. Organización del Computador I. Facundo Pessacg

Conmutación de Tareas

SISTEMA MÍNIMO BASADO EN EL PIC16F84

Microprocesadores, Tema 3 (2):

Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas. Entrada/Salida. Polling e Interrupciones. Francisco García Eijó

Examen Parcial de Arquitectura de Computadoras Prof: Ing. José ESTRADA MONTES

Entradas y Salidas. Componentes básicos de una PC

62/8&,21(6$/(;$0(1'( /$%25$725,2'((6758&785$6'(/26&20387$'25(6 &8562)(%5(52

Controlador Programable de Interrupciones i8259

Práctica 2. Registros y posiciones de memoria

Práctica 5 - Entrada/Salida

O B J E T I V O I N T R O D U C C I O N M A R C O T E O R I C O

Tema 5: La pila, las macros y los procedimientos

Departamento de Sistemas e Informática

Ciclos de máquina. Otro ejemplo: decremento de un registro par (donde rp = HL, DE, BC, SP) DCX rp

Introducción Ejercicio Interrupciones Ejercicio Cierre. Entrada/Salida. Organización del Computador I. Facundo Pessacg

Interrupciones. Sistemas con Microcontroladores y Microprocesadores.

Diseño de Controladores Digitales: Trabajo Practico Final

Estructura de Computadores: Tema 1. Introducción. Índice. Arquitectura del i8086

PRONTUARIO I. INFORMACIÓN GENERAL

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio

Carrera: Técnico Superior en Técnicas Digitales. Alumnos: Emiliano Teseo y José Luis Fernández

ESTRUCTURA DE COMPUTADORES I (Capítulo 14: DIRECTIVAS) 1/32 14-DIRECTIVAS

Tema 5.1: Presentación de datos en pantalla

ESTRUCTURA Y ORGANIZACIÓN DE COMPUTADORES

MANUAL BÁSICO DE USUARIO TELEFONIA IP CORPORATIVA OPENSTAGE 15

Microprocesadores, Tema 4:

Universidad Nacional de Ingeniería Arquitectura de Maquinas I. Unidad II: Arquitectura y Programacion de un Microprocesador (80X86)

Mapas de Memoria y E/S

Microcontrolador PIC16F84: Arquitectura

MANUAL DE CONFIGURACION DE CLIENTE DE CORREO ELECTRONICO EN OFFICE

Apéndice: circuitos integrados E/S

Tema 5. Presentación de datos por pantalla

Introducción Ejercicio Interrupciones Ejercicio Cierre. Entrada/Salida. Organización del Computador I. Departamento de Computación - FCEyN UBA

Tema 2. Presentación de datos por pantalla. La ROM-BIOS

Programas Residentes En Lenguaje Ensamblador

ESTRUCTURA DE COMPUTADORES I (Capítulo 16:El Teclado) 1/5 16-EL TECLADO

TEMA 8 GESTION DE LAS INTERRUPCIONES

Manual de referencia rápida Enero 2013

PRACTICA 4. REALIZAR ENCENDIDO-APAGADO DE DIODOS LED

Arquitectura Interna del 8088

5 - Lenguaje Ensamblador

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Comunicación de CPU y Memoria con I/O

Interrupciones de Reloj y Teclado.

Lenguaje Ensamblador. Equipo 3. Alberto Abraham Gomez Cruz Edgar

Iniciación del mouse El servicio utilizado es el 00, este servicio inicializa el controlador del mouse como sigue:

P1.- Para facilitar la tarea, suponemos definido en el segmento de datos lo siguiente:

Arquitectura de Computadores I Ejercicios de laboratorio de E/S 1

Controlador de Interrupciones (Versión programable) Manual de Usuario

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 1 - INTRODUCCIÓN JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ


Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15

SISTEMAS BASADOS EN MICROPROCESADORES (2º - GRADO ING. INFORMÁTICA) EJERCICIO CLASE

El TIMER 0. (c) Domingo Llorente

(2) Unidad 2. Modelo de Programación del 80x86 de Intel SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

(4) Unidad 4. Recursos de Programación SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

Packet Tracer: Navegación de IOS

Apellidos Nombre DNI

Tema 4. Lenguaje máquina y lenguaje ensamblador

BLOQUE 3. Enrique Mandado Pérez María José Moure Rodríguez. Microcontroladores

EVIDENCIA ROUTERS PRESENTADO AL INSTRUCTOR. Jorge Zambrano APRENDICES: Oscar Salazar SERVICIO NACIONAL DE APRENDIZAJE (SENA) TECNICO EN SISTEMAS

Terminales del P 8085 (vistos hasta ahora)

INTERRUPCIONES 1/13 /INT IRQ0 /INTA D PRN Q CLRN VCC 9 DFF NOT INPUT VCC

PROCESAMIENTO DE LOS DATOS. Procesamiento de datos ascii a binario y de binario a ascii

Manual Básico de la funcionalidad JEFE-SECRETARIA en los nuevos terminales telefónicos IP de CISCO

Sistemas de E/S. Arquitectura de Computadores 3º Plan 96. Indice. 1. Problemática de la E/S 2. Módulos E/S 3. Instrucciones de E/S 4.

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Arquitectura de Computadores

Periféricos Avanzados Práctica 3. Programación del puerto paralelo.

Arquitectura de Computadores

H. IS L G N E PAG. 3

INSTRUCCIONES DE USO DE SISTEMA DE BANCA EN LINEA (NETBANK)

KIT INICIO BASICX-24 S310210

GUIA RAPIDA DE ENCRIPTACION WI-FI DE THOMSON TCW710

En la ventana de comandos se puede escribir la orden ipconfig y al pulsar INTRO se mostrarán los datos de configuración de la tarjeta de red de forma

Conexión de las balanzas TRU-TEST XR3000, ID3000, SR3000 y Ezyweigh 7 con el lector de caravanas Baqueano

MANUAL BÁSICO DE USUARIO H.U.R.S TELEFONIA IP CORPORATIVA OPENSTAGE 15

Ensamblador. Interrupciones. Dentro de una computadora existen dos clases de interrupciones:

Microprocesadores de la línea Intel - Anexo

Periféricos: Timer. Cesáreo Fernández Martínez Álvaro Sánchez Miralles

Direcciones únicas permiten la comunicación entre estaciones finales. Selección de caminos está basada en la ubicación.

ÍNDICE. Introducción...pág. 1. Implementación de la práctica...pág. 2. Interrupciones...pág. 2

int int. 1622

Transcripción:

Interrupciones en el simulador MSX88 Facundo Quiroga

Escribiendo una subrutina de interrupción para la tecla F10 1 org 1000h 2 mensaje db "Has presionado la tecla F10!" 3 fin db? 4 org 3000h 5 rutf10: mov bx,offset mensaje 6 mov al, offset fin-offset mensaje 7 ; mostrar el mensaje en pantalla 8 int 7 9 ;avisar al PIC que termino la interrupcion (DESPUES) 10 11 ; IRET y no ret porque volvemos de una interrupcion 12 iret 13 org 2000h 14 ; configuracion del PIC (DESPUES) 15 loop: jmp loop ; bucle infinito 16 end 17

Cómo encontrar la subrutina: Vector de interrupciones

Ubicación del vector de interrupciones

Estructura del vector de interrupciones

Configurando el vector de interrupciones Nosotros elegimos el número de interrupción. Digamos, el 12. 1 org 3000h 2 rutf10: mov bx,offset mensaje 3... 4 Forma 1 de configurarlo, en el programa principal: 1 mov bx, 48 ; 12*4 2 mov [bx],3000h 3 Forma 2 de configurarlo, en cualquier lado: 1 org 48; 12*4 2 dir_rutf10 dw 3000h 3

PIC: Conexion de los dispositivos

Memoria de entrada salida

in, out y registros de entrada salida Cada dispositivo tiene uno, tienen direcciones. Se cambian con out. Se leen con in. Siempre con el registro al como intermediario. Si quiero ponerle el valor 5 al registro con dirección 20h, hago 2 cosas: mov al,5. out 20h,al Si quiero leer el valor del registro 20h, simplemente hago in 20h,al

DirecciónRegistro Nombre Propósito E/S 20h EOI Fin de interrupción 21h IMR Máscara de interrupciones Avisa al PIC que se terminó una interrupción Sus bits indican qué líneas de interrupción están habilitadas. Si el bit N vale 1, las interrupciones del dispositivo conectado a la línea INTN serán ignoradas. Si vale 0, las interrupciones del dispositivo serán atendidas en algún momento. Sólo importan los 4 bits menos significativos. S S 22h IRR Interrupciones pedidas Sus bits indican qué dispositivos están solicitando una interrupción. Si el bit N vale 1, entonces el dispositivo conectado a la línea INTN está haciendo una solicitud. Sólo importan los 4 bits menos significativos. E 23h ISR Interrupción en servicio 24h INT0 ID de Línea INT0 25h INT1 ID de Línea INT1 26h INT2 ID de Línea INT2 27h INT3 ID de Línea INT3 Sus bits indican si se está atendiendo la interrupción de algún dispositivo. Si el bit N vale 1, entonces el dispositivo conectado a la línea INTN está siendo atendido. Cómo en el MSX88 sólo se puede atender un dispositivo por vez, nunca habrá más de un bit del registro con el valor 1. Sólo importan los 4 bits menos significativos. Almacena el ID de la interrupción asociada al dispositivo F10 para buscar en el vector de interrupciones la dirección de comienzo de la subrutina que lo atiende. Almacena el ID de la interrupción asociada al dispositivo Timer para buscar en el vector de interrupciones la dirección de comienzo de la subrutina que lo atiende. Almacena el ID de la interrupción asociada al dispositivo Handshake para buscar en el vector de interrupciones la dirección de comienzo de la subrutina que lo atiende. Almacena el ID de la interrupción asociada al dispositivo CDMA para buscar en el vector de interrupciones la dirección de comienzo de la subrutina que lo atiende. E S S S S

Configurando el PIC para recibir interrupciones de la tecla F10 1 EOI EQU 20h 2 IMR EQU 21h 3 INT0 EQU 24h 4 5 org 2000h 6 ; configuracion del PIC 7 cli ; desactivar todas las interrupciones 8 mov al,1111110b 9 out IMR,al; configuro el IMR 10 mov al,12 11 out INT0,al; configuro como 12 el identificador del F10 12 sti ; activar todas las interrupciones 13 14 loop: jmp loop ; bucle infinito 15 end

Ejemplo completo 1 org 3000h 2 rutf10 : mov bx, offset mensaje 3 mov al, offset fin offset mensaje 4 int 7 ; mostrar el mensaje en pantalla 5 mov al,20h 6 out EOI,al 7 iret 8 9 org 48; 12 4 10 dir_rutf10 dw 3000h; escribo sobre el vector de interrupciones 11 12 EOI EQU 20h 13 IMR EQU 21h 14 INT0 EQU 24h 15 16 org 2000h 17 cli ; desactivar todas las interrupciones 18 mov al,1111110b 19 out IMR,la; configuro el IMR 20 mov al,12 21 out INT0,al; configuro como 12 el identificador del F10 22 sti ; activar todas las interrupciones 23 24 loop : jmp loop ; bucle infinito 25 end