41
Lenguaje de maquina Unidad III Programación en Lenguaje Ensamblador. Bios: Rutinas de Servicios Tema:

Int 21h y 10h

Embed Size (px)

DESCRIPTION

ASSEMBLER

Citation preview

  • Lenguaje de maquinaBios: Rutinas de Servicios Tema:

  • Objetivo GeneralAdquirir una slida comprensin del funcionamiento interno de los microprocesadores.

    Conocer y emplear eficientemente el entorno de programacin del Lenguaje Ensamblador.

    Elaborar programas a nivel avanzado que permiten manejar eficientemente los recursos del microprocesador

  • Objetivo TerminalImplementar correctamente rutinas para el manejo de dispositivos de almacenamiento.

  • Objetivo InstruccionalDesarrollar aplicaciones que afecten al Sistema Bsico de Entrada y Salida (BIOS)

  • SEMANA 14_1

  • PROCESAMIENTO DE LA PANTALLALA INSTRUCCION INT, PARA LA MAYORIA DE LOS PROPOSITOS MANEJA ENTRADA Y SALIDA. LOS DOS TIPOS DE INTERRUPCIONES TRATADOS AQUI SON LAS FUNCIONES DE INT 10H DEL BIOS Y LAS FUNCIONES DE INT 21H DEL DOS PARA MOSTRAR SALIDAS EN PANTALLA Y ACEPTAR ENTRADAS DESDE EL TECLADO.Lenguaje de maquina

    FUNCIONES DE INT 10H (BIOS)FUNCIONES DE INT 21H (DOS)02H Fija del cursor02H Despliega en pantalla06H Recorre la pantalla09H Despliega en pantalla40H Despliega en pantalla

  • LA PANTALLALA PANTALLA ES UNA MALLA DE POSICIONES DIRECCIONABLES, EN LAS CUALES SE PUEDE COLOCAR EL CURSOR.Lenguaje de maquina

    UBICACIN EN PANTALLAFORMATO DECIMALRENGLONCOLUMNAEsquina superior izquierda0000Esquina superior derecha0079Centro de pantalla1239/40Esquina inferior izquierda2400Esquina inferior derecha2479

  • LA PANTALLAEL 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 CARCTER, COMO VIDEO INVERSO, INTERMITENCIA, INTENSIDAD Y SUBRAYADO.Lenguaje de maquina

  • 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 10HLenguaje de maquina

  • LIMPIAR LA PANTALLAPARA LIMPIAR TODA LA PANTALLA ESPECIFIQUE EN EL RENGLON:COLUMNA (00:00H) Y EN EL RENGLON COLUMNA FINAL (18:4FH)

    CARGAR LOS REGISTROS:AH = FUNCION 06HAL = 00H PARA LA PANTALLA COMPLETABH = NUMERO DEL ATRIBUTOCX = RENGLON:COLUMNA INICIALDX = RENGLON:COLUMNA FINAL

    EL ATRIBUTO 71H ESTABLECE LA PANTALLA EN FONDO BLANCO (7) CON PRIMER PLANO AZUL (1)Lenguaje de maquina

  • PROCESAMIENTO AVANZADO DE LA PANTALLALenguaje de maquina

    FUNCIONES DE INT 10H (BIOS)FUNCIONES DE INT 10H (BIOS)00H Establece el modo de video0BH Establece la paleta de colores01H Establece el modo de cursor0CH Escribe el pixel punto02H Establece la posicin del cursor0DH Lee el pxel punto03H Lee la posicin del cursor0EH Escribe en teletipo04H Lee la posicin de la pluma ptica0FH Obtiene el modo actual de video05H Selecciona la pagina activa11H Genera carcter06H Recorre la pantalla hacia arriba12H Selecciona rutina alterna de pantalla07H Recorre la pantalla hacia abajo13H Despliega cadena de caracteres08H Lee el atributo o carcter en la posicin del cursor1BH Regresa la informacin de funcionalidad o de estado09H Despliega el atributo o carcter en la posicin del cursor1CH Guarda o restaura el estado de video0AH Despliega el carcter en la posicin del cursor

  • ADAPTADORES DE VIDEOLenguaje de maquina

    MDAAdaptador de pantalla monocromticaHGCTarjeta de grficos HrculesCGAAdaptador de grficos en coloresEGAAdaptador de grficos mejoradoMCGAAdaptador de grficos en multicolores (PS/2 modelos 25 y 30)VGAMatriz de grficos de video

  • ADAPTADORES DE VIDEOEL ADAPTADOR DE VIDEO CONSTA DE TRES PARTES:EL CONTROLADOR DE VIDEO. GENERA LAS SEALES 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.Lenguaje de maquina

  • DIRECCIONES DE INICIO PARA ADAPTADORES DE VIDEOLenguaje de maquina

    A000:[0]Utilizada para descripcin de fuentes cuando esta en modo de texto y para grficos de alta resolucin para EGA, MCGA, VGAB000:[0]Modo de texto monocromtico para MDA, EGA, VGAB100:[0]Para HCGB800:[0]Modos de texto para CGA, MCGA, EGA y VGA y modos grficos para CGA, EGA, MCGA y VGA.

  • ESPECIFICACIONES DEL MODO DE VIDEOLA 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 MODOMOV AL , 03H ; TEXTO O ESTANDAR A COLOR 80 X 25INT 10H ; LLAMA AL BIOS

    PARA MONITORES DESCONOCIDOS, PUEDE UTILIZAR INT 10H Y FUNCION 0FH, LA CUAL REGRESA EN AL EL MODO DE VIDEO ACTUAL. Lenguaje de maquina

  • MODO DE TEXTOEL MODO DE TEXTO SE UTILIZA PARA EL DESPLIEGUE NORMAL EN LA PANTALLA DE CARACTERES ASCIILenguaje de maquina

    MODOTAMAOTIPOADAPTADORRESOLUCIONCOLORES0025 FILAS , MONO , 40 COLUMNASMONOCGAEGAMCGAVGA320 X 200320 X 350320 X 400360 X 4000125 FILAS , COLOR , 40 COLUMNASCOLORCGAEGAMCGAVGA320 X 200320 X 350320 X 400360 X 4001616 DE 6416 DE 262,14416 DE 262,1440225 FILAS , MONO , 80 COLUMNASMONOCGAEGAMCGAVGA640 X 200640 X 350640 X 400720 X 4000325 FILAS , COLOR , 80 COLUMNASCOLORCGAEGAMCGAVGA640 X 200640 X 350640 X 400720 X 4001616 DE 6416 DE 262,14416 DE 262,1440725 FILAS , MONO , 80 COLUMNASMONOMDAEGAVGA720 X 350720 X 350720 X 400

  • MODO DE TEXTO: Byte de atributoUN BYTE DE ATRIBUTO EN MODO DE TEXTO DETERMINA LAS CARACTERISTICAS DE CADA CARCTER MOSTRADO. CUANDO UN PROGRAMA ESTABLECE UN ATRIBUTO, PERMANECE ACTIVADO; ESTO ES , TODOS LOS CARACTERES SUBSECUENTES DESPLEGADOS TIENEN EL MISMO ATRIBUTO HASTA QUE OTRA OPERACIN LO CAMBIE.

    FORMATO: LOS BITS RGB: 000 ES NEGRO Y 111 ES BLANCOLenguaje de maquina

    INTERMITENCIAFONDO PANTALLAINTENSIDADCARCTER DESPLEGADOBLRGBIRGB76543210

  • MODO DE TEXTO: Despliegue monocromticoPARA UN MONITOR MONOCROMATICO, EL BIT 0 ESTABLECE EL ATRIBUTO DE SUBRAYADO

    COMBINACIONES: Lenguaje de maquina

    FONDOFRENTECARACTERISTICASFONDOPRIMER PLANOHEXBLRGBIRGBNEGRONEGRONO DESPLIEGA0000000000HNEGROBLANCONORMAL0000011107HNEGROBLANCOINTERMITENTE1000011187HNEGROBLANCOINTENSO000011110FHBLANCONEGROVIDEO INVERSO0111000070HBLANCONEGROINVERSO, INTERMITENTE11110000F0HSUBRAYADO0000000101H

  • MODO DE TEXTO: Despliegue a color

    COMBINACIONES: Lenguaje de maquina

    COLORIRGBCOLORIRGBNEGRO0000GRIS1000AZUL0001AZUL CLARO1001VERDE0010VERDE CLARO1010CIAN0011CIAN CLARO1011ROJO0100ROJO CLARO1100MAGENTA0101MAGENTA CLARO1101CAF0110AMARILLO1110BLANCO0111BLANCO BRILLANTE1111

  • PAGINAS DE PANTALLALOS 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.Lenguaje de maquina

  • PAGINAS DE PANTALLACADA CARCTER QUE SE MUESTRA EN LA PANTALLA NECESITAN DOS BYTES DE MEMORIA: UN BYTE PARA EL CARCTER 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 LA SIGUEN 96 BYTES NO UTILIZADOS.Lenguaje de maquina

  • INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTOLA INTERRUPCION CONSERVA EL CONTENIDO DE LOS REGISTROS BX, CD, DX, DI, SI y BP, PERO NO EL AX.Lenguaje de maquina

  • MODO DE VIDEO : 00hSE REQUIERE: Cdigo 00h en AH Cdigo de modo en AL ; 03 para color ; 07 para monocromticoINTERRUPCION 10H DEL BIOS PARA EL MODO TEXTOTAMAO DEL CURSOR : 01hSE REQUIERE:CH (Bits 4-0) = Parte superior del cursorCL (Bits 4-0) = Parte inferior del cursor

    PARA AJUSTAR EL TAMANO DEL CURSOR ENTRE LA PARTE SUPERIOR Y LA INFERIOR: 0:14 (CH:CL)Lenguaje de maquina

  • ESTABLECE POSICION DEL CURSOR : 02hSE REQUIERE: AH = 02h BH = Numero de pagina ( 0,1,2,3) DH = Rengln DL = ColumnaINTERRUPCION 10H DEL BIOS PARA EL MODO TEXTOLenguaje de maquina

  • INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTOLEE POSICION DEL CURSOR : 03hSE REQUIERE:AH = 03hBH = 0h ; MODO NORMAL

    DEVUELVE: AX y BX SIN CAMBIOS CH = LINEA INICIAL CURSOR CL = LINEA FINAL CURSOR DH = RENGLON DL = COLUMNALenguaje de maquina

  • SELECCIONAR PAGINA ACTIVA : 05hSE REQUIERE: AH = 05h AL = Numero de pagina ( 0,1,2,3) INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTOLenguaje de maquina

  • INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTORECORRER HACIA ARRIBA LA PANTALLA : 06hSE REQUIERE:AH = 06hAL = Numero de lneas o cero para toda la pantallaBH = ATRIBUTOCX = Renglon:Columna InicialDX = Renglon:Columna FinalLenguaje de maquina

  • INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTORECORRER HACIA ABAJO LA PANTALLA : 07hSE REQUIERE:AH = 07hAL = Numero de lneas o cero para toda la pantallaBH = ATRIBUTOCX = Renglon:Columna InicialDX = Renglon:Columna FinalLenguaje de maquina

  • INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTOLEER ATRIBUTO O CARACTER : 08hSE REQUIERE:AH = 08hBH = NUMERO DE PAGINADEVUELVE:AL = CARCTERAH = ATRIBUTO

    PARA UN CARCTER NO ASCII, DEVUELVE 00HLenguaje de maquina

  • INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTODESPLEGAR ATRIBUTO O CARACTER : 09hSE REQUIERE:AH = 09hAL = UN CARCTER ASCIIBH = NUMERO DE PAGINABL = ATRIBUTOCX = NUMERO DE VECES QUE LA OPERACIN DESPLIEGA DE MANERA REPETIDA EL CARCTER QUE ESTA EN AL.Lenguaje de maquina

  • INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTODESPLEGAR UN CARACTER : 0AhSE REQUIERE:AH = 0AhAL = UN CARCTER ASCIIBH = NUMERO DE PAGINACX = NUMERO DE VECES QUE LA OPERACIN DESPLIEGA DE MANERA REPETIDA EL CARCTER QUE ESTA EN AL.

    ESTA FUNCION UTILIZA EL ATRIBUTO ACTUALLenguaje de maquina

  • INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTOESCRIBIR EN TELETIPO : 0EhSE REQUIERE:AH = 0EhAL = UN CARCTER ASCIIBH = NUMERO DE PAGINABL = COLOR DEL PRIMER PLANO (MODO GRAFICO).Lenguaje de maquina

  • INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTOOBTENER MODO DE VIDEO : 0FhSE REQUIERE:AH = 0Fh

    DEVUELVE:AL = MODO ACTUAL DE VIDEOAH = CARACTERES POR LINEABH = NUMERO DE PAGINA ACTUALLenguaje de maquina

  • INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTODESPLIEGA UNA CADENA DE CARACTERES : 13hSE REQUIERE:AH = 13hAL = SUBFUNCIONBH = NUMERO DE PAGINABL = ATRIBUTOBP = DIRECCION DE LA CADENACX = LONGITUD DE LA CADENA DX = POSICION RELATIVA INICIO PANTALLASUBFUNCION:00 Despliega el atributo y la cadena; no avanza el cursor01 Despliega el atributo y la cadena; avanza el cursor02 Despliega el carcter y despus el atributo; no avanza cursor03 Despliega el carcter y despus el atributo; avanza el cursorLenguaje de maquina

  • MODO GRAFICOLenguaje de maquina

    MODOTIPOADAPTADORRESOLUCIONCOLORES04COLORCGA,EGA,MCGA,VGA320 X 200405MONOCGA,EGA,MCGA,VGA320 X 20006MONOCGA,EGA,MCGA,VGA640 X 2000DCOLOREGA,VGA320 X 200160ECOLOREGA,VGA640 X 200160FMONOEGA,VGA640 X 35010COLOREGA,VGA640 X 3501611COLORMCGA, VGA640 X 4002 DE 262,14412COLORVGA640 X 4002 DE 262,1441613COLORMCGA,VGA320 X 200256 DE 262,144

  • MODO GRAFICO: PixelesEL MODO GRAFICO UTILIZA PIXELES PARA GENERAR PATRONES EN COLOR. CADA BYTE REPRESENTA 4 PIXELES.

    FORMATO: BytePixelLenguaje de maquina

    C1C0C1C0C1C0C1C00123

    NROC1C0PALETA 0PALETA 1000FONDOFONDO101VERDECIAN210ROJOMAGENTA311CAFEBLANCO

  • INTERRUPCION 10H DEL BIOS PARA EL MODO GRAFICOLEE POSICION PLUMA OPTICA : 04hSE REQUIERE:AH = 04h

    DEVUELVE:AH = 0 SI EL ESTADO DE FUNCIONANDO Y 1 SI NO ESTADX = RENGLON EN DH Y COLUMNA EN DLCH/BX = POSICION DE PIXEL, CON LINEA (HORIZONTAL) DE LA MALLA EN EL BH Y COLUMNA O PUNTO EN EL BXLenguaje de maquina

  • INTERRUPCION 10H DEL BIOS PARA EL MODO GRAFICOESTABLECE UNA PALETA DE COLORES : 0BhSE REQUIERE:AH = 0BhBH = 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)

    Lenguaje de maquina

  • INTERRUPCION 10H DEL BIOS PARA EL MODO GRAFICOESCRIBE UN PIXEL PUNTO : 0ChSE REQUIERE:AH = 0CHAL = COLOR DEL PIXELBH = NUMERO DE PAGINACX = COLUMNADX = RENGLON

    Lenguaje de maquina

  • INTERRUPCION 10H DEL BIOS PARA EL MODO GRAFICOLEE UN PIXEL PUNTO : 0DhSE REQUIERE:AH = 0DhBH = NUMERO DE PAGINACX = COLUMNADX = RENGLON

    DEVUELVE:AL = COLOR DEL PIXELLenguaje de maquina

  • DETERMINACION DEL TIPO DE ADAPTADOR DE VIDEODETERMINAR SI ESTA INSTALADO VGA: 1AhSE REQUIERE:AH = 1AhAL = 0

    DEVUELVE:AL = 1AH SI ES VGALenguaje de maquina