exposicion lenguaje de maquina 9 y 10
Post on 27-Jul-2015
473 Views
Preview:
TRANSCRIPT
YULYCARLOS AREVALO
ELICEO LOPEZANDRES MAURICIO SANJUAN
Una de las características básicas definidas en un sistema basado en microcomputador es su interfaz hombre máquina que define su capacidad de interacción con los usuarios del sistema. Para estas interfaces la entrada de datos por teclado, ratón, disco duro y el despliegue de datos en pantalla es básico.
La función 02H de la interrupción INT 10H de BIOS permite realizar la operación de ubicación del cursor. La ubicación del cursor determina dónde será desplegado el siguiente carácter. Al colocar en el registro AH, 02H se está indicando la función colocar cursor a la INT 10H; indique el número de página en BH, y en DX el número de columna y fila de la nueva posición.
MOV AH, 02H ; Petición de colocar el cursor
MOV BH, 00 ; Número de página
MOV DH, 08 ; Fila 08
MOV DL, 10 ; Columna 10
INT 10H ; Interrupción que llama al BIOS.
La función 06H de la INT 10H de BIOS maneja el borrado de la pantalla. Se puede limpiar toda la pantalla o parte de ella. Con el registro AH en 06H se define borrado de una parte de la pantalla; con registro AL en 00 se define borrado completo de pantalla; en BH defina el atributo de pantalla, en los registros CX y DX defina el punto de inicio y el punto de fin para definir el área de borrado.
MOV AX, 0600H ; Define borrado de una parte de la pantalla.
MOV BH, 71H ; Fija atributos para la pantalla, blanco (7), sobre azul (1).
MOV CX, 0000H ; Fija el valor para la esquina superior izquierda fila:columna.
MOV DX, 0000H ; Fija el valor para la esquina inferior derecha fila:columna.
INT 10H
La función 09H de la INT 21H de DOS maneja el despliegue de una cadena en pantalla. Para ello defina la cadena que quiere desplegar, terminada en el delimitador de signo pesos ( $ ) o ( 024H ); este delimitador se utiliza para finalizar el despliegue.
Con AH en 09H, cargue en DX la dirección de la cadena, y solicite la INT 021H
MOV AH, 09H ; Define el despliegue de cadena.
LEA DX,’CADENA’ ; Carga la dirección de la cadena a desplegar
INT 21H
La función 0AH de la INT 21H es utilizada para aceptar datos desde el teclado. Esta función requiere la definición de algunos parámetros de acuerdo con el procesamiento de la INT. Indique el número máximo de caracteres de entrada, defina un byte para almacenar el número de caracteres introducidos por el usuario; éste se almacena como un valor binario, y un tercero para almacenar los caracteres tecleados desde izquierda a derecha.
MAXLEN DB 10 ; Número máximo de caracteres de entrada
ACTLEN DB ? ; Número real de caracteres de entrada
NAMEFLD DB 20 DUP (´´) ; Caracteres introducidos desde teclado.
INCARPARM LABEL BYTE ; Define lista de parámetros
ADAPTADOR DE VIDEO: El adaptador de video consta de tres unidades básicas.
El controlador de video: esta unidad “es el caballo de batalla”, genera las señales de rastreo del monitor para el modo seleccionado, texto o gráfico. El procesador de la computadora envía instrucciones a los registros del controlador y lee ahí la información de estado.
El video de BIOS: Actúa como una interfaz con el adaptador de video, contiene rutinas como para establecer el cursor y desplegar caracteres.
El área de despliegue de video: En memoria contiene la información que el monitor va a mostrar. Las interrupciones que manejan el despliegue en pantalla de forma directa transfieren a esta área sus datos.
* PCI
El modo de texto se utiliza para el despliegue normal en la pantalla de caracteres ASCII. El procesamiento es semejante tanto para monocromáticos como a color, salvo que a color no permite el atributo de subrayado.
MODO TAMAÑO TIPO ADAPTADOR RESOLUCION COLORES00 (25 RENGLONES, 40 COLS) MONO CGA
EGA MCGAVGA
320 * 200320 * 350320 * 400360 * 400
01 (25 RENGLONES, 40 COLS) COLOR CGAEGA MCGAVGA
320 * 200320 * 350320 * 400360 * 400
1616 DE 6416 DE 262, 14416 DE 262, 144
02 (25 RENGLONES, 80 COLS) MONO CGAEGA MCGAVGA
640 * 200640 * 350640 * 400720 * 400
03 (25 RENGLONES, 80 COLS) COLOR CGAEGA MCGAVGA
640 * 200640 * 350640 * 400720 * 400
1616 DE 6416 DE 262, 14416 DE 262, 144
07 25 RENGLONES, 80 COLS) MONO MDAEGAVGA
720*350720*350720 * 400
UN byte de atributo en modo de texto (no en modo grafico) determina las características de cada carácter mostrado. Puede utilizar las funciones de la INT 10H para generar un tributo de la pantalla y realizar acciones .
INTERMITENCIA FONDO FRENTE
BLINK R G B I R G B
7 6 5 4 3 2 1 0
Para un monitor monocromático, el bit “0” establece el atributo de subrayado. Para especificar atributos, puede establecer combinaciones de bits como se muestra a continuación.
FONDO FRENTE CARACTERISTICA FONDOBL R G B
FRENTEI RGB
HEX
NEGRO NEGRO NO DESPLIEGA 0 0 0 0 0 0 0 0 00H
NEGRO BLANCO NORMAL 0 0 0 0 0 1 1 1 07H
NEGRO BLANCO INTERMITENCIA 1 0 0 0 0 1 1 1 87H
NEGRO BLANCO INTENSO 0 0 0 0 1 1 1 1 0FH
BLANCO NEGRO VIDEO INVERSO 0 1 1 1 0 0 0 0
70H
BLANCO NEGRO INVERSO, INTERMITENTE
1 1 1 1 0 0 0 0 F0H
SUBRAYADO 0 0 0 0 0 0 0 1 01H
En muchos monitores a color, el fondo puede mostrar uno de ocho colores y los caracteres pueden mostrar uno de 16 colores. La intermitencia e intensidad solo se aplica al primer plano.Los colores básicos rojo, verde y azul puede combinarlos en el byte de atributo para formar un total de ocho colores (incluyendo blanco y negro) y puede establecer alta intensidad, para un total de 16 colores.
COLOR IRGB COLOR IRGB
NEGRO 0000 GRIS 1000
AZUL 0001 AZUL CLARO 1001
VERDE 0010 VERDE CLARO 1010
CIAN 0011 CIAN CLARO 1011
ROJO 0100 ROJO CLARO 1100
MAGNETA 0101 MAGNETA CLARA 1101
CAFÉ 0110 AMARILLO 1110
BLANCO 0111 BLANCO BRILLANTE 1111
La INT de BIOS define una serie de servicios para el manejo de video, dependiendo del valor que se carga en el registro AX, los registros BX, CX, DI, SI, y BP no se modifican y se utiliza para pasar parámetros a los servicios. Algunos de los servicios de la interrupción son:
00H Establece el modo de video 0BH Establece la paleta de colores
01H Establece el tamaño del cursor 0CH Escribe el pixel punto
02H Establece la posición del cursor 0DH Lee el pixel punto
03H Lee la posición del cursor 0EH Escribe en teletipo
04H Lee la posición de la Pluma Óptica 0FH Obtiene el modo actual de video
05H Selecciona la pagina active 11H Genera carácter
06H Recorre la pantalla hacia arriba 12H Selecciona rutina alterna de pantalla
07H Recorre la pantalla hacia abajo 13H 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
La función 13H permite desplegar cadenas y manipular los atributos. Los registros ES:BP deben contener la dirección del segmento: desplazamiento de la cadena que se despliega.
MOV AH, 13H ; Función para despliegue de cadena de caracteresMOV AL, Subfunciòn ; 0, 1, 2, ò 3MOV BH, # Pagina ; Numero de páginaMOV BL, Atributo ; Atributo de la página MOV BP, Dirección ; Dirección de la cadena ES:BPMOV CX, Longitud ; Longitud de la cadena en caracteresMOV DX, Pantalla ;Posición relativa del inicio de la pantallaINT 10H
Los adaptadores gráficos tienen dos modos de operación: texto (por Omisión) y gráfico. Utilice la función OOH de la INT 10H para establecer el modo gráfico o de texto (AL = OCH modo gráfico, AL = 03H modo texto).
Establecer una paleta de colores Escribir un píxel punto Leer un píxel punto Información funcionalidad estado Guardar o restaurar el estado de
video
El teclado proporciona tres tipos básicos de teclas:1. Las teclas desde la A a la Z, números desde el O
hasta el 9 y carácterres como %, $ y #.2. Teclas de función extendida; teclas de función de
programa, teclas de panel numérico, y las teclas repetidas en los teclados de 101 teclas
3. Teclas de control para Alt, CtrI, Shift que funcionan en conjunción con otras teclas.
La INT 211-1 de DOS define una serie de servicios para el manejo de entrada del teclado. Algunos de los servicios de la interrupción que se pueden llamar son:
La INT 16 del BIOS es utilizada para atención del teclado, proporciona los siguientes servicios dependiendo de lo que se cargue en AH:
Una tecla de función extendida solicita una acción en lugar de enviar un carácter. Cada tecla tiene un código de rastreo, iniciando en 01 para Esc. Por medio de estos códigos un programa puede determinar el origen de cualquier tecleo.
Para caracteres que tienen dos teclas (-, +, * ) se genera en AL el carácter ASCIl y AH y valor del código de rastreo diferente para cada tecla.
Cuando presiona una tecla, el procesador del teclado genera el código de rastreo de la tecla y solicita la INT 09H. Esta interrupción apunta a una rutina de manejo de interrupción en el BIOS de ROM.
Cuando se presiona una tecla, el procesador del teclado de manera automática genera un código de rastreo y la INT 09H. Cuando se suelta la tecla en un periodo de medio segundo, genera un código de rastreo y emite otra INT 09H. El segundo código de rastreo indica a la rutina de interrupción que se ha liberado la tecla. Si mantiene la tecla oprimida por más de medio segundo, el proceso de teclado se convierte en tecleo automático, y repite de manera automática la operación de la tecla.
Inicia en el segmento 40[0]H; la dirección 41 AH indica posición siguiente a leer por la INT 16H, la dirección 41 CH indica la posición siguiente para la INT 09H para almacenar un carácter ingresado. La dirección de inicio del buffer de teclado es 41 EH, 16 palabras (32 bytes), los caracteres y los códigos de rastreo son almacenados en esta buffer y extraídos o leídos por medio de la INT 16H.
Ejemplos
top related