La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Page 1 Interrupciones M.C. José Andrés Vázquez Flores Primavera 2016.

Presentaciones similares


Presentación del tema: "Page 1 Interrupciones M.C. José Andrés Vázquez Flores Primavera 2016."— Transcripción de la presentación:

1 Page 1 Interrupciones M.C. José Andrés Vázquez Flores Primavera 2016

2 Page 2 Interrupciones Una interrupción es el rompimiento en la secuencia de un programa para ejecutar un programa especial llamando una rutina de servicio cuya característica principal es que al finalizar regresa al punto donde se interrumpió el programa.

3 Page 3 Clases de interrupciones Interrupciones por software: Son aquellas programadas por el usuario, es decir, el usuario decide cuándo y dónde ejecutarlas. Interrupciones por hardware: Son aquellas provocadas por dispositivos externos al procesador, no son programados, esto es, que pueden ocurrir en cualquier momento en el programa. Existen dos tipos: –Interrupciones por hardware mascarables. Aquellas en las que el usuario decide si quiere o no ser interrumpido. –Interrupciones por hardware no mascarables (NMI). Aquellas que siempre interrumpen al programa.

4 Page 4 Tipos de interrupciones En la familia de procesadores 8088/86 las instrucciones por software se ejecutan con ayuda de las instrucciones INT e IRET. Se tienen 256 interrupciones diferentes. Desde la interrupción 0 hasta la interrupción 255 (FF). Asociado con el concepto de interrupciones se tiene un área de memoria llamada vector de interrupciones la cual contiene las direcciones de las rutinas de servicio de cada interrupción. Esta área se encuentra en el segmento 0000:0000

5 Page 5 Operaciones de INT e IRET INT 1.Salvar el registro de banderas 2.Salvar el CS de la dirección de regreso 3.Salvar el IP de la dirección de regreso 4.Calcula el área donde está la dirección de la rutina de servicio tipo*4 en el vector de interrupciones. 5.Ejecuta la rutina de servicio. IRET 1.Desempila dirección de regreso 2.Desempila banderas

6 Page 6 Tabla de interrupciones TipoDirecciónUsoSistema 00000División por ceroBIOS 10004Ejecución paso a pasoDEBUG 20008NMI (Non Maskable Interrupt)BIOS 3000CPuntos de rupturaDEBUG 40010OverflowBIOS 50014Print ScreenBIOS 6 – 7No usadas 80020TimerBIOS 90024TecladoBIOS A – DNo usadas E0038DiscoBIOS F003CImpresoraBIOS 100040E/S videoBIOS 110044Lista del equipoBIOS 120048Tamaño de memoriaBIOS 13004CE/S discoBIOS 140050E/S SerialBIOS 150054E/S casetteBIOS 160058Entrada TecladoBIOS

7 Page 7 Tabla de interrupciones Las interrupciones del BIOS siempre están disponibles al usuario (ROM), en cambio las del DOS solo si el sistema se ha cargado en memoria. Funciones de la interrupción 21h que permiten E/S FunciónDescripción 01hLee un carácter del teclado con ECHO. Regresa en AL el ASCII del carácter (lo lee y lo escribe en pantalla) 02hEscribe un carácter en pantalla. Enviar en DL el ASCII del carácter que se quiere escribir 03hLee un carácter de la entrada auxiliar (serial) 04hEscribe un carácter en el dispositivo auxiliar (serial) 05hEscribe un carácter en la impresora. Enviar en DL el carácter a escribir.

8 Page 8 Tabla de interrupciones La interrupción 21 permite leer del teclado, escribir en video, escribir en impresora, leer y escribir en el dispositivo auxiliar (Puerto serial), entre otras funciones. 06hE/S directa de la consola (teclado + video) Si al llamar a esta función DL=FFh entonces implica que se quiere una lectura de carácter. Si hubo un carácter presionado ZF=0 y en AL esta el carácter. Si no hay carácter presionado ZF=1. Si DL<>0FFh entonces escribe dicho carácter en pantalla. 07hLee un carácter sin eco. Regresa en AL el carácter. 09hDespliega una cadena en pantalla. Enviar DS:DX=dirección de la cadena. Debe ser una cadena de códigos ascii que termina con “$” 0ahLee un buffer de caracteres. Enviar DS:DX=apuntador al buffer. Mc = máximo número de caracteres a leer. Nc=número de caracteres leídos. Buffer mc nc caracteres

9 Page 9 LA PANTALLA ES UNA MALLA DE POSICIONES DIRECCIONABLES, EN LAS CUALES SE PUEDE COLOCAR EL CURSOR. UBICACIÓN EN PANTALLAFORMATO DECIMAL RENGLONCOLUMNA Esquina superior izquierda00 Esquina superior derecha0079 Centro de pantalla1239/40 Esquina inferior izquierda2400 Esquina inferior derecha2479 Funciones de la interrupción 10h que permiten Manejo de Video

10 Page 10 EL SISTEMA PROPORCIONA ESPACIO EN LA MEMORIA PARA UN AREA DE DESPLIEGUE DE VIDEO O BUFFER. EL AREA DE DESPLIEGUE MONOCROMATICO INICIA EN LA LOCALIDAD DE BIOS B0000[0]H Y PERMITE UTILIZAR 4K BYTES DE MEMORIA: 2K PARA CARACTERES Y 2K PARA ATRIBUTOS PARA CADA CARÁCTER, COMO VIDEO INVERSO, INTERMITENCIA, INTENSIDAD Y SUBRAYADO.

11 Page 11 COLOCACION DEL CURSOR (EL MODO GRAFICO NO PERMITE EL USO DEL CURSOR) SE DEBE CARGAR EL NUMERO DE PAGINA (O PANTALLA), POR LO COMUN 0 EN EL REGISTRO BH. EN EL REGISTRO DX EL RENGLON Y COLUMNA REQUERIDA. EJM: MOV BH, 00 MOV DH, 05 ; RENGLON 5 MOV DL, 12 ; COLUMNA 12 MOV AH, 02H ; FUNCION COLOCACION INT 10H

12 Page 12 LIMPIAR LA PANTALLA PARA LIMPIAR TODA LA PANTALLA ESPECIFIQUE EN EL RENGLON:COLUMNA (00:00H) Y EN EL RENGLON COLUMNA FINAL (18:4FH) CARGAR LOS REGISTROS: AH = FUNCION 06H AL = 00H PARA LA PANTALLA COMPLETA BH = NUMERO DEL ATRIBUTO CX = RENGLON:COLUMNA INICIAL DX = RENGLON:COLUMNA FINAL EL ATRIBUTO 71H ESTABLECE LA PANTALLA EN FONDO BLANCO (7) CON PRIMER PLANO AZUL (1)

13 Page 13 PROCESAMIENTO AVANZADO DE LA PANTALLA FUNCIONES DE INT 10H (BIOS) 00H Establece el modo de video0BH Establece la paleta de colores 01H Establece el modo de cursor0CH Escribe el pixel punto 02H Establece la posición del cursor0DH Lee el pìxel punto 03H Lee la posición del cursor0EH Escribe en teletipo 04H Lee la posición de la pluma óptica0FH Obtiene el modo actual de video 05H Selecciona la pagina activa11H Genera carácter 06H Recorre la pantalla hacia arriba12H Selecciona rutina alterna de pantalla 07H Recorre la pantalla hacia abajo13H Despliega cadena de caracteres 08H Lee el atributo o carácter en la posición del cursor 1BH Regresa la información de funcionalidad o de estado 09H Despliega el atributo o carácter en la posición del cursor 1CH Guarda o restaura el estado de video 0AH Despliega el carácter en la posición del cursor

14 Page 14 ADAPTADORES DE VIDEO MDAAdaptador de pantalla monocromática HGCTarjeta de gráficos Hércules CGAAdaptador de gráficos en colores EGAAdaptador de gráficos mejorado MCGAAdaptador de gráficos en multicolores (PS/2 modelos 25 y 30) VGAMatriz de gráficos de video

15 Page 15 ADAPTADORES DE VIDEO EL ADAPTADOR DE VIDEO CONSTA DE TRES PARTES:  EL CONTROLADOR DE VIDEO. GENERA LAS SEÑALES DE RASTREO DEL MONITOR PARA EL MODO SELECCIONADO, TEXTO O GRAFICO.  EL VIDEO DE BIOS. ACTUA COMO UN INTERFAZ CON EL ADAPTADOR DE VIDEO, CONTIENE RUTINAS COMO PARA ESTABLECER EL CURSOR Y DESPLEGAR CARACTERES.  EL AREA DE DESPLIEGUE. CONTIENE LA INFORMACION QUE EL MONITOR VA A MOSTRAR. LAS INTERRUPCIONES QUE MANEJAN EL DESPLIEGUE EN PANTALLA DE FORMA DIRECTA TRANSFIEREN A ESTA AREA SUS DATOS. LAS LOCALIDADES DEL ADAPTADOR DE VIDEO DEPENDEN DE LOS MODOS DE VIDEO QUE SE ESTEN USANDO.

16 Page 16 DIRECCIONES DE INICIO PARA ADAPTADORES DE VIDEO A000:[0] Utilizada para descripción de fuentes cuando esta en modo de texto y para gráficos de alta resolución para EGA, MCGA, VGA B000:[0] Modo de texto monocromático para MDA, EGA, VGA B100:[0] Para HCG B800:[0] Modos de texto para CGA, MCGA, EGA y VGA y modos gráficos para CGA, EGA, MCGA y VGA.

17 Page 17 ESPECIFICACIONES DEL MODO DE VIDEO LA FUNCION 00H DE INT 10H DE BIOS, PUEDE DESIGNAR EL MODO PARA EL PROGRAMA QUE SE ESTA EJECUTANDO ACTUALMENTE O PUEDE CONMUTAR ENTRE TEXTO Y GRAFICO. PARA DESIGNAR UN NUEVO MODO: MOV AH, 00H ; PETICION PARA DESIGNAR EL MODO MOV AL, 03H ; TEXTO O ESTANDAR A COLOR 80 X 25 INT 10H ; LLAMA AL BIOS PARA MONITORES DESCONOCIDOS, PUEDE UTILIZAR INT 10H Y FUNCION 0FH, LA CUAL REGRESA EN AL EL MODO DE VIDEO ACTUAL.

18 Page 18 MODO DE TEXTO EL MODO DE TEXTO SE UTILIZA PARA EL DESPLIEGUE NORMAL EN LA PANTALLA DE CARACTERES ASCII MODOTAMAÑOTIPO ADAPTADOR RESOLUCIONCOLORES 0025 FILAS, MONO, 40 COLUMNAS MONO CGA EGA MCGA VGA 320 X 200 320 X 350 320 X 400 360 X 400 0125 FILAS, COLOR, 40 COLUMNAS COLOR CGA EGA MCGA VGA 320 X 200 320 X 350 320 X 400 360 X 400 16 16 DE 64 16 DE 262,144 0225 FILAS, MONO, 80 COLUMNAS MONO CGA EGA MCGA VGA 640 X 200 640 X 350 640 X 400 720 X 400 0325 FILAS, COLOR, 80 COLUMNAS COLOR CGA EGA MCGA VGA 640 X 200 640 X 350 640 X 400 720 X 400 16 16 DE 64 16 DE 262,144 0725 FILAS, MONO, 80 COLUMNAS MONO MDA EGA VGA 720 X 350 720 X 400

19 Page 19 MODO DE TEXTO: Byte de atributo UN BYTE DE ATRIBUTO EN MODO DE TEXTO DETERMINA LAS CARACTERISTICAS DE CADA CARÁCTER MOSTRADO. CUANDO UN PROGRAMA ESTABLECE UN ATRIBUTO, PERMANECE ACTIVADO; ESTO ES, TODOS LOS CARACTERES SUBSECUENTES DESPLEGADOS TIENEN EL MISMO ATRIBUTO HASTA QUE OTRA OPERACIÓN LO CAMBIE.  FORMATO: INTERMITENCIAFONDO PANTALLAINTEN SIDAD CARÁCTER DESPLEGADO BLRGBIRGB 76543210 LOS BITS RGB: 000 ES NEGRO Y 111 ES BLANCO

20 Page 20 MODO DE TEXTO: Despliegue monocromático PARA UN MONITOR MONOCROMATICO, EL BIT 0 ESTABLECE EL ATRIBUTO DE SUBRAYADO  COMBINACIONES: FONDOFRENTECARACTERISTICASFONDOPRIMER PLANOHEX BLRGBIRGB NEGRO NO DESPLIEGA0000000000H NEGROBLANCONORMAL0000011107H NEGROBLANCOINTERMITENTE1000011187H NEGROBLANCOINTENSO000011110FH BLANCONEGROVIDEO INVERSO0111000070H BLANCONEGROINVERSO, INTERMITENTE11110000F0H SUBRAYADO0000000101H

21 Page 21 MODO DE TEXTO: Despliegue a color  COMBINACIONES: COLORIRGB IRGB NEGRO0000GRIS1000 AZUL0001AZUL CLARO1001 VERDE0010VERDE CLARO1010 CIAN0011CIAN CLARO1011 ROJO0100ROJO CLARO1100 MAGENTA0101MAGENTA CLARO 1101 CAFÉ0110AMARILLO1110 BLANCO0111BLANCO BRILLANTE 1111

22 Page 22 PAGINAS DE PANTALLA LOS MODOS DE TEXTO LE PERMITEN ALMACENAR DATOS EN MEMORIA DE VIDEO EN PAGINAS. LOS NUMEROS DE PAGINA SON DESDE 0 HASTA 3 PARA EL MODO NORMAL DE 80 COLUMNAS ( Y 0 HASTA 7 PARA LAS DE 40 COLS). EN MODO DE 80 COLS, LAS DIRECCIONES DE INICIO SON:  PAGINA 0 A PARTIR DE B800:[0]  PAGINA 1 A PARTIR DE B900:[0]  PAGINA 2 A PARTIR DE BA00:[0]  PAGINA 3 A PARTIR DE BB00:[0] SOLO SE PUEDE DESPLEGAR UNA PAGINA A LA VEZ.

23 Page 23 PAGINAS DE PANTALLA CADA CARÁCTER QUE SE MUESTRA EN LA PANTALLA NECESITAN DOS BYTES DE MEMORIA: UN BYTE PARA EL CARÁCTER Y UN SEGUNDO BYTE PARA SU ATRIBUTO. DE ESTA FORMA UNA PAGINA COMPLETA DE CARACTERES, PARA 80 COLUMNAS Y 25 LINEAS, SE NECESITA 80 X 25 X 2 = 4000 BYTES. LA CANTIDAD DE MEMORIA REALMENTE ASIGNADA A CAA PAGINA ES 4K O 4096 BYTES, ASI QUE DESPUES DE CADA PAGINA LE SIGUEN 96 BYTES NO UTILIZADOS.

24 Page 24 INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTO (DETALLADO) LA INTERRUPCION CONSERVA EL CONTENIDO DE LOS REGISTROS BX, CX, DX, DI, SI y BP, PERO NO EL AX.

25 Page 25 MODO DE VIDEO : 00h SE REQUIERE: Código 00h en AH Código de modo en AL ; 03 para color ; 07 para monocromático TAMAÑO DEL CURSOR : 01h SE REQUIERE: CH (Bits 4-0) = Parte superior del cursor CL (Bits 4-0) = Parte inferior del cursor PARA AJUSTAR EL TAMANO DEL CURSOR ENTRE LA PARTE SUPERIOR Y LA INFERIOR: 0:14 (CH:CL)

26 Page 26 ESTABLECE POSICION DEL CURSOR : 02h SE REQUIERE: AH = 02h BH = Numero de pagina ( 0,1,2,3) DH = Renglón DL = Columna

27 Page 27 LEE POSICION DEL CURSOR : 03h SE REQUIERE: AH = 03h BH = 0h ; MODO NORMAL DEVUELVE: AX y BX SIN CAMBIOS CH = LINEA INICIAL CURSOR CL = LINEA FINAL CURSOR DH = RENGLON DL = COLUMNA

28 Page 28 SELECCIONAR PAGINA ACTIVA : 05h SE REQUIERE: AH = 05h AL = Numero de pagina ( 0,1,2,3)

29 Page 29 RECORRER HACIA ARRIBA LA PANTALLA : 06h SE REQUIERE: AH = 06h AL = Numero de líneas o cero para toda la pantalla BH = ATRIBUTO CX = Renglon:Columna Inicial DX = Renglon:Columna Final

30 Page 30 RECORRER HACIA ABAJO LA PANTALLA : 07h SE REQUIERE: AH = 07h AL = Numero de líneas o cero para toda la pantalla BH = ATRIBUTO CX = Renglon:Columna Inicial DX = Renglon:Columna Final

31 Page 31 LEER ATRIBUTO O CARACTER : 08h SE REQUIERE: AH = 08h BH = NUMERO DE PAGINA DEVUELVE: AL = CARÁCTER AH = ATRIBUTO PARA UN CARÁCTER NO ASCII, DEVUELVE 00H

32 Page 32 DESPLEGAR ATRIBUTO O CARACTER : 09h SE REQUIERE: AH = 09h AL = UN CARÁCTER ASCII BH = NUMERO DE PAGINA BL = ATRIBUTO CX = NUMERO DE VECES QUE LA OPERACIÓN DESPLIEGA DE MANERA REPETIDA EL CARÁCTER QUE ESTA EN AL.

33 Page 33 DESPLEGAR UN CARACTER : 0Ah SE REQUIERE: AH = 0Ah AL = UN CARÁCTER ASCII BH = NUMERO DE PAGINA CX = NUMERO DE VECES QUE LA OPERACIÓN DESPLIEGA DE MANERA REPETIDA EL CARÁCTER QUE ESTA EN AL. ESTA FUNCIÓN UTILIZA EL ATRIBUTO ACTUAL

34 Page 34 ESCRIBIR EN TELETIPO : 0Eh SE REQUIERE: AH = 0Eh AL = UN CARÁCTER ASCII BH = NUMERO DE PAGINA BL = COLOR DEL PRIMER PLANO (MODO GRAFICO).

35 Page 35 OBTENER MODO DE VIDEO : 0Fh SE REQUIERE: AH = 0Fh DEVUELVE: AL = MODO ACTUAL DE VIDEO AH = CARACTERES POR LINEA BH = NÚMERO DE PAGINA ACTUAL

36 Page 36 DESPLIEGA UNA CADENA DE CARACTERES : 13h SE REQUIERE: AH = 13h AL = SUBFUNCION BH = NUMERO DE PAGINA BL = ATRIBUTO BP = DIRECCION DE LA CADENA CX = LONGITUD DE LA CADENA DX = POSICION RELATIVA INICIO PANTALLA SUBFUNCIÓN: 00 Despliega el atributo y la cadena; no avanza el cursor 01 Despliega el atributo y la cadena; avanza el cursor 02 Despliega el carácter y después el atributo; no avanza cursor 03 Despliega el carácter y después el atributo; avanza el cursor

37 Page 37 MODO GRAFICO MODOTIPO ADAPTADOR RESOLUCIONCOLORES 04COLOR CGA,EGA,MCGA,VGA320 X 2004 05MONO CGA,EGA,MCGA,VGA320 X 200 06MONO CGA,EGA,MCGA,VGA640 X 200 0DCOLOR EGA,VGA320 X 20016 0ECOLOR EGA,VGA640 X 20016 0FMONO EGA,VGA640 X 350 10COLOR EGA,VGA640 X 35016 11COLOR MCGA, VGA640 X 4002 DE 262,144 12COLOR VGA640 X 4002 DE 262,14416 13COLOR MCGA,VGA320 X 200256 DE 262,144

38 Page 38 MODO GRAFICO: Pixeles EL MODO GRAFICO UTILIZA PIXELES PARA GENERAR PATRONES EN COLOR. CADA BYTE REPRESENTA 4 PIXELES.  FORMATO: C1C0C1C0C1C0C1C0 0123 Byte Pixel NROC1C0PALETA 0PALETA 1 000FONDO 101VERDECIAN 210ROJOMAGENTA 311CAFEBLANCO

39 Page 39 INTERRUPCION 10H DEL BIOS PARA EL MODO GRAFICO LEE POSICION PLUMA OPTICA : 04h SE REQUIERE: AH = 04h DEVUELVE: AH = 0 SI EL ESTADO DE FUNCIONANDO Y 1 SI NO ESTA DX = RENGLON EN DH Y COLUMNA EN DL CH/BX = POSICION DE PIXEL, CON LINEA (HORIZONTAL) DE LA MALLA EN EL BH Y COLUMNA O PUNTO EN EL BX

40 Page 40 INTERRUPCION 10H DEL BIOS PARA EL MODO GRAFICO ESTABLECE UNA PALETA DE COLORES : 0Bh SE REQUIERE: AH = 0Bh BH = 00 SELECCIONA EL COLOR DE FONDO, EN DONDE BL CONTIENE EL NUMERO DEL COLOR EN LOS BITS 0-3 (CUALQUIERA 16 COLORES) BH = 01 SELECCIONA LA PALETA PARA GRAFICOS, EN DONDE BL CONTIENE LA PALETA (0 ó 1)

41 Page 41 INTERRUPCION 10H DEL BIOS PARA EL MODO GRAFICO ESCRIBE UN PIXEL PUNTO : 0Ch SE REQUIERE: AH = 0CH AL = COLOR DEL PIXEL BH = NUMERO DE PAGINA CX = COLUMNA DX = RENGLON

42 Page 42 INTERRUPCION 10H DEL BIOS PARA EL MODO GRAFICO LEE UN PIXEL PUNTO : 0Dh SE REQUIERE: AH = 0Dh BH = NUMERO DE PAGINA CX = COLUMNA DX = RENGLON DEVUELVE: AL = COLOR DEL PIXEL

43 Page 43 DETERMINACION DEL TIPO DE ADAPTADOR DE VIDEO DETERMINAR SI ESTA INSTALADO VGA: 1Ah SE REQUIERE: AH = 1Ah AL = 0 DEVUELVE: AL = 1AH SI ES VGA


Descargar ppt "Page 1 Interrupciones M.C. José Andrés Vázquez Flores Primavera 2016."

Presentaciones similares


Anuncios Google