Exposicion lenguaje de maquina 9 y 10

Preview:

Citation preview

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

Recommended