¿Qué valor devolverá la función MIN H4 H8 H8? Valor mínimo excluyendo ceros

¨ Salida de texto en la pantalla por programación de videoclips directo.

¨ Desarrollo de programas de aplicaciones que utilizan funciones de servicio de BIOS para trabajar con la pantalla y el teclado.

¨ Fomentar el retraso en las operaciones de software.

En [2, se consideraron varias funciones del sistema de la salida DOS en la pantalla de información simbólica. Sin embargo, las características de DOS son muy limitadas: no tiene funciones para cambiar el color de los caracteres mostrados y posicionar el cursor. Además, no hay medios para formar imágenes gráficas en DOS.

Todas las características del sistema de video de la computadora se pueden implementar mediante la interrupción del BIOS FUNKS VIDEO int 10h.. Interrumpir int 10h. Proporciona: cambiando el modo de video (texto o gráfico); retiro de información simbólica y de texto; Cambie las fuentes, configurando la paleta de colores, trabaje con una imagen gráfica. La programación del sistema de video que usa las herramientas BIOS es más engorrosa, sin embargo, las grandes capacidades y la alta tasa de producción determinan el uso generalizado de este método en los programas de aplicación.

Este documento analiza las funciones del BIOS para mantener el sistema de video de la computadora, así como las funciones para trabajar con el teclado. Enumeramos las funciones que están sujetas a su revisión en el trabajo de laboratorio.

INT 10H:

función 00h - Instalación del modo de video;

función 02H - Configuración de la posición del cursor;

función 03H - Posición de lectura y tamaño del cursor;

función 05H - Instalación del arco de video;

función 06H (07H) - Inicialización o ventana de desplazamiento hacia arriba (abajo);

función 08H - Lectura del símbolo y atributo en la posición del cursor;

función 09H - grabando un símbolo y atributo a la posición del cursor;

función 0AH: grabación de un símbolo a la posición del cursor con el atributo actual;

función 0EH: grabación de un símbolo en un modo TELETEP con el atributo actual;

función 0FH - Obtenga el modo de visualización;

función 1003H - Cambio del destino del bitte de byte de atributo más antiguo: parpadeo / brillo,

la función 13H es un registro de una cadena con un atributo específico en un modo TELETEP.

Int 16h:

00h Función 00H (10H) - leer el carácter del teclado con la expectativa;

función 01h (11H): revisar el búfer del teclado para la presencia de un símbolo;

función 02H (12H) - Banderas receptor (extendido) Teclado.

Int 15h,función 86h - retraso.

Int 1.Ah, Función 00h - Obtención del tiempo del sistema.

8.2.2. Programación de videoclips directo en modo de texto

Los modernos controladores de video admiten una variedad de modos de texto y gráficos. Los modos de texto difieren en la resolución (el número de símbolos mostrados horizontal y vertical) y la paleta de colores (monocromo o modo de 16 colores). Para los modos gráficos, la característica principal de la clasificación es el número de colores que se muestran simultáneamente y, en consecuencia, el número de bits de la memoria de video, asignados a cada punto (píxel) de la imagen. Los siguientes tipos de modos de gráficos distinguen:

Monocromo (codificación de 1 bits);

De 16 colores EGA / VGA. (Codificación de 4 bits);

256 colores Svga (Codificación de 8 bits);

- Hicolor (Codificación de 16 bits);

- Color verdadero. (Codificación de 24 bits / 32 bits).

Los modos gráficos VGA (SVGA) están fuertemente desactualizados, y los textos siguen aplicados con éxito (consulte la Tabla 3.2 p. 8.2.3).

Todo lo que se muestra en el monitor: los gráficos, el texto está presente simultáneamente en la memoria integrada en el adaptador de video. Para que aparezca la imagen en el monitor, debe grabarse en la memoria del adaptador de video. En el modo de texto, el espacio de direcciones se asigna a los sistemas compatibles con VGA para la memoria de video (excluyendo el 7º modo de video con un adaptador monocromo), comenzando con la dirección lógica B800H y que termina con la dirección BF00H: 0FFFH. Esta área se divide en 8 sectores en el número de tiendas de video (4 kb a la página). Por lo tanto, la división del capítulo del espacio de direcciones de la memoria de video en modo de texto tiene el siguiente formulario:

B800h: 0000H - Página 0, Offset en el rango 0000H - 0FFFH

B900H: 0000H - Página 1, Offset en el rango 0000H - 0FFFH

- ...........

BF00H: 0000H - Página 7, Offset en el rango 0000H - 0FFFH

El controlador de video correspondiente a la página activa se muestra en la pantalla. En los modos de texto para la imagen de cada símbolo, se dan 2 bytes: byte con Ascii-código de símbolo y byte con su atributo. Al mismo tiempo en la dirección B800h: 0000h Hay un byte con un código de símbolo (esquina superior izquierda de la pantalla), y en B800h: 0001h - Atributo de este símbolo; B800h: 0002h - el código del segundo símbolo, y en B800h: 0003h - El atributo del segundo símbolo, etc. En general, al formar una imagen directamente en el controlador de video, pasando por alto los programas de DOS y BIOS, todos los códigos de control Ascii. Perder sus funciones de control y se muestra en forma de los caracteres correspondientes. La estructura del byte del atributo se muestra en la FIG. 3.1.

Higo. 3.1. Atributos de bytes de estructura

De la fig. 3.1 Se deduce que cada personaje puede tomar cualquiera de los 16 colores posibles determinados por la combinación de 4 bits junior. Bits 4-6 Atributos de byte establecen el color de fondo debajo de este símbolo. El último bit 7, dependiendo del modo de adaptador de video, determina el brillo del fondo debajo de este símbolo (luego, el fondo también puede tomar 16 colores diferentes) o el parpadeo del símbolo ( instaladoDOS por defecto).

Al cargar la máquina, se instala una paleta estándar, los códigos de colores se muestran en la tabla. 3.1. Considere algunos ejemplos. Entonces, en el modo Flicker, el valor del atributo semi-trampa senior 8h.indica que no es un fondo gris, sino negro con un símbolo parpadeante, cuyo color todavía está determinado por el gestante más joven; El significado de la cannis senior. 0ch- Fondo rojo con un símbolo parpadeante. Cambiar el destino del bit 7 se realiza por subfunción 03h.funciones 10h. Interrupciones int 10h..

Tabla 3.1

Códigos de flores Paleta estándar

Ensalada

Turquesa

Ligeramente turquesa

Púrpura

Púrpura ligero

marrón

Brillantemente

Los códigos de caracteres de doble byte se escriben en el controlador de video en el orden en que deben aparecer en la pantalla: los primeros bytes de 80 * 2 corresponden a la primera línea de la pantalla, el segundo 80 * 2 bytes - el segundo, etc. En este caso, la transición a la siguiente línea de la pantalla se determina mediante códigos de control no de control del retorno de carro y la transferencia de la línea, pero al colocar el código en el otro lugar del videoclip. Para obtener acceso a la unidad de video desde el programa, debe tomarse en una de las direcciones de segmento de registro de datos de segmento del videoclip. Después de eso, al establecer una u otras compensaciones, puede grabar en cualquier asiento (celdas) del videoclip. Calcule el desplazamiento de la celda en la "columna de cadena" coordenadas (fila,cLM) Usted puede:

Vidadd.r \u003d (fila * 160) + (cLM * 2)

Con una gran cantidad de datos de salida, el marco de información se forma por adelantado en el búfer de usuario ubicado en el segmento de datos del programa.

LISTA 3.1.Grabación de filas en un video portapapeles. 0- páginas .

; Limpiando la pantalla

; Configure el registro de segmento ES en la página de videoclips y DS al segmento de datos

; Cambiado al videoclip de la cadena de símbolos al configurar en consecuencia

; Registres SI, DI y CX.

cLD; vista adelante

repel movsb;) *; envíe la cadena de caracteres con atributos en un videoclipboard

; Detenga el programa para observar el resultado (de lo contrario, después de que se complete el programa

; La solicitud de DOS para ingresar al comando se puede perder la información proporcionada)

; Campos de datos en el segmento de datos del programa. Símbolos y atributos: 0B0H - CVELL

; turquesa en negro, 0E4H-Arassny en amarillo

mSG DB '*', 0B0H, 'T', 0E4H, 'E', 0E4, 'S', 0E4, 'T', 0E4, '*', 0B0H

En este fragmento del programa, los códigos simbólicos del mensaje mostrado se intercalan con sus atributos. Este método para generar campos de datos destinados a la grabación directa en la memoria de video se vuelve voluminosa, pero se puede simplificar significativamente si los caracteres de salida tienen los mismos atributos. Por lo tanto, si queremos generar caracteres de texto de un segmento de datos con un solo atributo 0E4H, entonces solo necesitamos reemplazar una línea de comando marcada en el símbolo de fragmento anterior "*)" , en tres. Al mismo tiempo, la tarea de la línea de datos adquirirá el formulario familiar para nosotros.

mOV SI, Mensaje offset; Desplazamiento de la fuente

mOV DI, 160 * 12 + 36 * 2; Recepción del receptor (36 columna de la 13ª línea),

mOV CX, MSGLEN; Número de byte enviado

cLD; vista adelante

mOV AH, 0E4H; Atributo de los símbolos de salida 0E4H - Rojo en amarillo

stosw; descarga "símbolo + atributo" de AH en el controlador de video (AX → ES: DI)

ciclo de bucle; repetir msglen veces

; Campos de datos en el segmento de datos del programa.

mSG DB '* TEST *'

El método anterior de salida de texto está formateado por una línea de video sin tener en cuenta los símbolos de transferencia o sangrías desde el borde izquierdo. La introducción de reglas elementales del editor de texto en el procedimiento de salida complicará enormemente el programa. En este caso, es recomendable utilizar las funciones de BIOS para mostrar los mensajes.

Desarrollo de la estructura de los programas involucrados en la visualización de las estaciones de video arbitrarias a las que la información está previamente registrada por el método de programación de videoclips directo, producida convenientemente utilizando la función 05 h.iNT 10.h.BIOS (p. 8.2.3.2).

8.2.3. Datos de referencia sobre funciones de BIOS

8.2.3.1. Interrumpir int 10h. Funciones de video BIOS.

¨ Función 00h. Instalación del modo de video (Tabla 3.2) del video de limpieza de video de video actual (La función 06 se realiza la limpieza rápida de la pantalla.h y 07.h).

Llamada: Ah \u003d 00h,

Alabama \u003d MODO DE VIDEO (El código de modo se establece en los 7 bits más jóvenes, la instalación en 1 Bit Senior prohíbe la limpieza de la pantalla).

El desafío destruye los registros. HACHA,Bp,Si, yo.Di.

Tabla 3.2.

Modos de video de texto y páginas en el estándar. VgaSoportado
Controladores de video modernos

Modo

Resolución

Color

Tamaño de la señal

Habla a

Páginas

haltone

haltone

3 (mono. )

De forma predeterminada, DOS utiliza el modo 3 (sin embargo, el programa correctamente decorado debe verificar o instalar el modo de texto deseado con la restauración posterior del anterior).

¨ Función 02h. Configuración de la posición del cursor.

Especifica la posición del cursor en la pantalla en las coordenadas de texto desde las cuales se mostrará el texto. La cuenta regresiva del número de fila y columna se realiza desde la esquina superior izquierda. El cursor se puede instalar tanto en texto como en el gráfico, sin embargo, en modo gráfico, el cursor no es visible. BIOS admite hasta ocho cursores independientes: uno para cada página (consulte la Tabla 3.2) No importa qué página esté activa. Función 02 h.

Llamada: Ah \u003d 02h.; Bh.\u003d Número de página (0.1, ... 7), generalmente 0;

Dh \u003d línea; Dl\u003d columna.

El desafío destruye los registros. HACHA,Bp,SIy Di.

¨ Función 03h. Lea la posición y el tamaño del cursor.

Devuelve las coordenadas actuales del estado del cursor en la página seleccionada. Esto hace posible ir a trabajar temporalmente en otro lugar de la pantalla y luego regresar al lugar antiguo. Función 03 h.BIOS se puede utilizar en combinación con las funciones DOS para organizar la salida a la pantalla.

Llamada: Ah \u003d 03h, bh \u003d Número de página (0.1, ... 7), Generalmente 0.

Regreso: Dh, dl \u003d Fila y columna de la posición actual del cursor,

CH, CL.\u003d Las primeras y últimas cadenas del cursor.

La llamada destruye los registros AX, BP, SI y DI.

¨ Función 05h. Instalación de una arquitectura de video.

Establece un almacenamiento de video activo (tanto texto como gráfico).

Llamada: Ah \u003d 05h, al \u003d Número de página (0, ..., 7).

El desafío destruye los registros. HACHA,Bp,SIy Di.

Se requiere un programa que establece una página distinta de la actual para restaurar el trabajo inicial al final del trabajo.

¨ Función 06h (07h). Inicialización o ventana de desplazamiento hacia arriba (abajo).

Inicializa una ventana con coordenadas específicas, espacios. Ascii.con un atributo dado (Al \u003d 0), o desplaza los contenidos de la ventana hacia arriba (hacia abajo) al número especificado de cadenas ( Alabama\u003d Número de filas). Al desplazarse, las filas aparecen desde abajo (arriba) están llenas de espacios Ascii. Con un atributo específico. La característica es conveniente de usar para limpiar rápidamente la pantalla o una ventana rectangular.

Llamada: Ah \u003d 06h (07h);

Al \u003d 0 - limpieza Al \u003d n (n\u003e 0) - Desplazarte NORTE. líneas;

Bh \u003d. Caracteres de atributos en la ventana;

CH, CL \u003d Coordenadas de fila y columna (Y, x)esquina superior izquierda;

Dh, dl \u003d Coordenadas de fila y columna (Y, x) Esquina inferior derecha.

El desafío destruye los registros. HACHA,Bp,Siy Di.

¨ Función 08h. Leyendo un símbolo y atributo en la posición actual del cursor en la página seleccionada.

Llamada: Ah \u003d 08h., Bh \u003d. Número de página (0, ..., 7), Generalmente 0.

Regreso: Ah \u003d. Atributo del símbolo, Al \u003d asciicódigo de símbolo.

El desafío destruye los registros. Bp,SI y Di.

¨ Función 09h.. Grabación de un símbolo con un atributo específico a la pantalla a la posición del cursor. Actúa tanto gráficamente como en modos textuales. En el modo gráfico, los caracteres no deben ir a la siguiente línea. Todos los códigos en AL se tratan como simbólicos y no administran la posición del cursor. Después de mostrar el símbolo, el cursor se desplaza a la siguiente posición de la función 02H. El coeficiente de repetición le permite mostrar las cadenas de los mismos caracteres. En el modo de texto, el símbolo se muestra con el especificado en LICENCIADO EN DERECHO. Atributo. En gráfico - Contenido LICENCIADO EN DERECHO. Solo afecta el color del símbolo, pero no en el fondo debajo de él. La imagen gráfica bajo el conocido se frota.

Llamada: Ah \u003d 09h., Al \u003d ascii.-Casa el símbolo,

LICENCIADO EN DERECHO.\u003d Atributo de símbolo (modo de texto) o solo símbolo de color (modo gráfico),

Bh \u003d.número de página (0.1, ... 7), Cx.\u003d Coeficiente de repetición.

El desafío destruye los registros. HACHA,Bp,SI y Di.

¨ Función 0ah. Grabación de un símbolo con el atributo actual a la pantalla a la posición del cursor. La función actúa en los modos de gráficos y de texto. El personaje toma el atributo instalado previamente para esta posición. Todos los códigos ASCII en AL se tratan como simbólicos y no controlan la posición del cursor (como en la función 09H). Después de mostrar el símbolo, el cursor se desplaza a la siguiente posiciónfunción 02h.

Llamada: Ah \u003d 0ah, Al \u003d ascii.-Casa el símbolo,

Bh \u003d. Número de página (0.1, ... 7), Cx \u003d Coeficiente de repetición.

El desafío destruye los registros. HACHA,Bp,SI y Di.

¨ Función 0EH. Grabación de un símbolo con el atributo actual en el modo TELETEP.

Símbolo de los registros Ascii. En la posición del cursor (función preinstalada 02h.) En la página activa y cambia el cursor a la siguiente posición. Códigos Ascii.: 07h - llamada (BEL), 08h - retroceder (BS), 0DH - Transporte (CR), 0AH - traducción de línea (LF), considerado como gerentes Y se realizan las acciones correspondientes. Los códigos de control restantes se consideran como símbolos y se muestran. Existe una transición automática del cursor a la siguiente cadena después de completar la anterior, así como desplazarse por la pantalla hasta 1 cadena después de llenar la parte inferior.

Llamada: Ah \u003d 0eh Al \u003d ascii.-Casa el símbolo,

LICENCIADO EN DERECHO.\u003d Símbolo de color (solo para modo gráfico),

Bh \u003d. Número de página (0.1, ... 7), la página activa predeterminada es válida.

¨ Función 0.Fh. Obtener modo de visualización y número de página actual .

Llamada: Ah \u003d \u003d 0.Fh..

Regreso: Alabama = modo de visualización Ah.\u003d ancho de pantalla en formato de texto

Bh \u003d.número de página activo.

El desafío destruye los registros. Bp,SI y Di.

Ejemplo. El procedimiento para configurar la posición del cursor en la página actual.

Entrada : dh \u003d cadena (0 - 25), dl\u003d columna (0 - 79)

.......... Registros de restauración

¨ Función 10h. Podfunction 03h.. Bit de conmutación "Flicker / Brightness".

Especifica la designación del bits más antiguo 7 del atributo de carácter: un símbolo parpadeo o un mayor brillo del fondo.

Llamada: UNA.X.\u003d 1003h, LICENCIADO EN DERECHO.\u003d Propósito del 7º bit del atributo:

0 - mayor brillo, 1 - parpadeo (Instalado por defecto).

La función afecta a todos los símbolos de la pantalla que tienen el bitsoder del atributo de fondo.

¨ La función 13h. Registre la cadena de caracteres con los atributos específicos.

Registra una cadena a la página actual de videoclip, a partir de la posición especificada. Códigos Ascii.: 07h.- Llamada, 08h.- Paso atrás, 0ah - traducción de línea,
0dh - Devoluciones Los carruajes son considerados como gerentes, el resto, como simbólico.

Llamada: Ah \u003d 13h., Al \u003d. Modo grabación:

0 - Atributo del símbolo en LICENCIADO EN DERECHO.La cadena solo contiene códigos de caracteres, después de grabar, el cursor toma la posición original (es decir, la salida de la siguiente línea, si no cambia la posición del cursor, comienza con la posición instalada inicialmente);

1 - difiere del modo 0 en que después de grabar el cursor permanece al final de la línea;

2: la cadena contiene caracteres alternativamente y códigos de atributos (es decir, cada carácter se describe por 2 bytes - Ascii.-Code y atributo), después de grabar, el cursor toma la posición inicial;

3 - Se diferencia del modo 2 en el final de la salida, el cursor permanece al final de la línea.

Bh.\u003d Número de página (0.1, ... 7), LICENCIADO EN DERECHO.\u003d Atributo para los modos 0 y 1,

Cx.\u003d Longitud simbólica de la cadena (en longitud Solo se incluyen los códigos de caracteres, pero no los bytes de los atributos),

Dx \u003d dh.dl.\u003d Coordenadas del cursor (cadena, columna) en el punto de inicio de la salida de la línea en la pantalla,

Es: bp.\u003d Dirección para iniciar una fila en la memoria.

Preste atención a la característica de la tarea de dirección. !

1. Programas (talleres de capacitación) realizados en el entorno operativo DOS, use el modo de texto predeterminado 3, página 0.

2. Los programas de destino ancho deben solicitar el modo de video actual y la página (función 0fh, int 10h) Con sus aplicaciones en las funciones de BIOS utilizadas.

.......

MOV V_MODE, AL; GUARDE EL MODO

Mov Current_page, BH; Guardar la cadena

3. Si el programa muestra la imagen a diferentes páginas, entonces la secuencia de acciones con cada página puede ser el siguiente (modo predeterminado de la página "0"):

Instalación de una función de página 05h;

Configuración de la función de posición del cursor 02h.;

Edificio de formato de texto BIOS o DOS.

En el futuro, la visualización cíclica del contenido de las páginas al cambiar de función puede ser 05 h,iNT 10.h.. Al salir del programa, asegúrese de restaurar el distribuidor "0" deseado. Hazlo, por ejemplo, puedes.

..........

..........

; Análisis de tampón de teclado por la función DOS 06H INT 21H para completarla con prensado; teclas arbitrarias

mOV ah, 06h; función de entrada sin esperar

mov dl, 0ffh; entrada

out_Program: Restaurar la función de página 05h, int 10h

..........

Los videoclips pueden ser formateados repetidamente y el método de programación de memoria directa. La selección de páginas se realiza mediante la inicialización correspondiente del registro del segmento. ES (Vea el párrafo 8.2.2). La visualización del contenido de contenido también se puede completar con su conmutación secuencial utilizando la función. 05h, int 10h.

4. La estructura del programa de demostración que explora la función "Flicker - Brillo del fondo" (Función 10h.Sub función 03h, int 10h).

; Limpiando la pantalla

..........

; Inicialización de 2 ventanas locales, cada una con su atributo y texto. Al especificar

; Los atributos de color más antiguo (7º por número) se seleccionan igual a "1".

.........

continuar:; enciende el parpadeo

mov bl, 1; parpadeo

; Introducir un retraso durante 3 segundos.

.........

; Incluir un mayor brillo

.........

; Introducir un retraso durante 3 segundos.

.........

; Análisis de tampón de teclado DOS 06H INT 21H Función para completarla con prensado

Claves arbitrarias

.........

jnz out_program; zf \u003d 0, hay un símbolo, en la salida

jMP continúa; zf \u003d 1, sin símbolo, continuará

out_Program:; Restaurar parpadeo (predeterminado)

..........

salida: MOV AX, 4C00H; Llame a la función de terminación del programa

.........

5. Si el programa está organizado por un ciclo de salida de datos infinito en las funciones de la pantalla BIOS (09 h, 0.Ah, 0Eh, 13.h)entonces no puede ser una emergencia para interrumpir usando pulsaciones de teclas Ctrl + C. (es decir, para salir del programa, como se puede hacer al usar las funciones de DOS correspondientes). Para que pueda hacer esto, encienda la función en el cuerpo del ciclo 0bh. Interrupciones Int 21h..

8.2.3.3. Interrumpir Int 16h.

¨ Función 00h (10h). Leyendo el símbolo del teclado con la expectativa.

Lee un símbolo y un código de escaneo desde el búfer de anillo. Después de leer, se eliminan del búfer y se devuelven al registro. HACHA.. Si el búfer está vacío, espere la entrada.Cada tecla en el teclado corresponde al llamado código de escaneo correspondiente a solo esta clave. Este código se envía por el teclado cada vez que presiona y libera la tecla y se procesa en el controlador de interrupciones del BIOS. Int 09.h.. Función 00h Da la oportunidad de obtener un código de prensa sin interceptar a este controlador. Si se presiona la tecla Ascii-símbolo, entonces:

Al - ASCII.-Casa el símbolo, Ah - Escanear el código clave.

Si la tecla presionó la tecla Ascii-código, entonces:

Al - 00h, Ah -avanzado Ascii-el código.

Llamada: Ah \u003d 00.h. (83/84-clave).

Regreso: Al \u003d ascii.-Code el símbolo representado en la llave / 00h,

Ah.\u003d Código de escaneo / Avanzado Ascii.-Codifique las llaves.

Función 10.h (Ah \u003d \u003d 10) - 00h para el teclado extendido (101 / 102- clave
Ascii-códigos para llaves F11F12., así como por una serie de otras combinaciones.
En la calidad del signo de las claves de control o sus combinaciones, además del valor. 00 h., son usados 0ah, 0dh y E0h.

¨ Función 01h (11h). Verificación del tampón de teclado para la presencia de un símbolo en él.

Determina si hay caracteres de espera en el tampón de anillo; Devuelve la bandera de la espera y el símbolo en sí cuando se presenta. Sin embargo, el símbolo y su código de escaneo no se eliminan del búfer y se pueden obtener nuevamente cuando se repite una función 00 h INT 16.h.. Esta función se refiere al número de asíncrono: determinar el estado del búfer de entrada, devuelve el control de
gramo.

Llamada: Ah \u003d 01h. (83/84-clave), 11h.(101/102-Clave.).

Regreso: Zf \u003d.1, si el búfer está vacío y ZF.\u003d 0, si hay un carácter de espera en el búfer. En este caso:

Al \u003d ascii.-Comprar el símbolo / 00h, Ah.\u003d Código de clave de escaneo / Avanzado Ascii-el código.

Función 11.h (Ah \u003d 11.h) -opción avanzada de función 01 h. Para el teclado extendido (101/102 -Clave.). Te permite extenderse Ascii.-Codios para llaves F11F12., así como por una serie de otras combinaciones. Como señal de claves de control o sus combinaciones, además del valor. 00 h., son usados 0ah, 0dh y E0h.

¨ Función 02.h (12.h). Conseguir las banderas del teclado.

Devuelve los bytes de la bandera del teclado que describen el estado de las teclas de control registradas en el área de datos de BIOS a la dirección 0000 h: 0417.h.

Llamada: Ah \u003d 02.h.

Regreso: A L.\u003d Banderas de teclado de 1er byte.

Los bits de byte tienen los siguientes valores:

0: 1 - derecha Cambiar. Presionado

1: 1 - izquierda Cambiar. Presionado

2: 1 - control (cualquiera) presionado

3: 1 - Alt. (cualquiera) presionado

4: 1 - Modo Bloqueo de desplazamiento.

5: 1 - Modo Num lock

6: 1 - Modo Bloq Mayús.

7: 1 - Modo Insertar. Activo

Función 12.h (Ah \u003d 12.h) -opción avanzada de función 02 h.para un teclado extendido (101 / 102- clave). Muestra el mismo valor de byte que la función 02 h., por la dirección 0000 h: 0417.h., y, además, el segundo byte de estado del teclado (dirección 0000H: 0418H) con los siguientes valores:

0: 1 - izquierda control Presionado 4: 1 - presionado Bloqueo de desplazamiento.

1: 1 - izquierda Alt. Presionado 5: 1 - presionado Num lock

2: 1 - derecha control Presionado 6: 1 - presionado Bloq Mayús.

3: 1 - derecha Alt. Presionado 7: 1 - presionado Syseg.

8.2.3.4. Retraso del software

Los retrasos en el software se utilizan en los casos en los que, en cualquier punto del programa, debe suspender su ejecución por un tiempo. Por tipo de ejecución, los retrasos del programa se dividen en dos tipos: retrasos implementados sobre la base de la implementación del programa "vacío" de ciclos, y retrasos implementados sobre la base del temporizador del sistema de la computadora. El listado 3.2 muestra un ejemplo de la implementación del primer retardo de tipo.

LISTA 3.2. Retraso de software basado en la ejecución de ciclos anidados con el equipo Círculo..

Proc Retraso; Supram

MOV CX, N; N - Contador de ciclo externo

EXTERIOR: PUSH CX; Guarde los contenidos del contador de ciclo externo

MOV CX, 0; Asegurar el número máximo de repeticiones (64k veces)

Ciclo interno

Interno: bucle interno; ciclo interno

Pop cx; restaurar los contenidos del contador de ciclo externo

Loop exterior; repite el ciclo colgante n veces

LISTA 3.2 Parámetro NORTE. Realiza el papel de un multiplicador de tiempo de retardo a gran escala.

t. culo \u003dN *t. Ejecuciones del ciclo interno..

En este caso, la unidad de tiempo más pequeña (es decir, ", la marca") es el momento de realizar un ciclo interno, a su vez, desde el momento de la ejecución 65535 veces el comando Círculo.. Parámetro NORTE.seleccionado experimentalmente para obtener t. espalda (en MSEK o segundos) teniendo en cuenta la velocidad de una computadora en particular.

Desde la consideración de este ejemplo, las desventajas de este enfoque son obvias cuando se requiere garantizar un retraso de tiempo en el programa, independientemente del tipo de computadora utilizado. Es razonable determinar el tiempo del demorado del programa directamente por el temporizador. Las señales de salida del temporizador con una frecuencia de 18.2 veces por segundo no dependen del rendimiento de la computadora y desempeñan el papel de un contador diario. La implementación de este método utiliza la función. 00 h. BIOS interrupciones Int 1.Ah.

Int 1a. h, función 00 00 h. Contador de ciclos de tiempo de lectura.

BIOS Interrumpir el controlador del temporizador del sistema ( Int 8.) cuenta el número de interrupciones (cada 55 ms o 18.2 veces por segundo) en una doble palabra de memoria con la dirección 0040h: 006s.h.. Esta función devuelve el valor acumulado (código binario) y lo restablece en 0 . En el registro Alabama Devoluciones 0 Si el contenido del contador no excedió el valor correspondiente a las 24 horas (cuando se alcanza este valor, el contador se restablece), de lo contrario regresa Al \u003d.1.

Llamada: An \u003d 00.h..

Regreso: CX: DX. - el número de ciclos de tiempo del sistema desde la medianoche,

Alabama - Bandera de transición en un día.

Ejemplos de valores devueltos en CX: DX.:

1 seg 12. h. o 18

1 minuto 04 44 h. o 1092,

1 hora 1 00 07 h. o 65543,

24 horas 18 00 b0 h. o 1 573 040.

Para los retrasos de 14 segundos más pequeños, solo puede usar el revista Bye Dx

LISTA 3.3. B Este ejemplo establece un retraso de 5 segundos, lo que corresponde a 91 temporizador de cuenta regresiva

..........

mOV AH, 0; FUNCIÓN "LECTURA" CICLOS DE TEMPORIZADOR

iNT 1AH; Obtenga el valor del medidor de ciclo en CX: DX

añadir dx, 91; agregar 5 segundos. A la palabra más joven en dx

mOV BX, DX; Recuerdo el valor requerido en BX y realiza

; Verificación permanente de los valores del contador de tiempo.

repetir: int 1Ah; otra vez obtenemos el valor del mostrador

cMP DX, BX; comparar con el deseado

jne repite; si no solo, entonces repite otra vez,

; De lo contrario, el retraso ha terminado

Si se requiere la introducción del retraso de alta precisión, entonces es necesario usar la función 86h. BIOS interrupciones Int 15h. Le permite determinar el tiempo de retardo en microsegundos. Durante el retraso, se permiten interrupciones. La gestión del programa se devuelve después de la expiración del tiempo especificado.

Int 15h, función 86h.

Llamada: Ah \u003d 86.h, s.X. : Dx \u003d. Tiempo de retraso en MKSEK.

Regreso: Cf \u003d 0. - Ejecución normal, Cf \u003d 1. - La función no es compatible.

Ejemplo: Cx:Dx \u003d.0098h:9680h. \u003d 10 000 000 μSEK \u003d 10 segundos.

8.3. Opciones de una tarea individual.

1. Inicialice una pantalla con un atributo específico. Para imponer una ventana más pequeña local con otro atributo de color. En la parte central de la ventana, muestre el texto (varias líneas) de la memoria con el desplazamiento cíclico de la ventana de la ventana en varias filas hacia arriba y hacia abajo. Cambiar el tipo de desplazamiento está configurado por el retardo de software (2 ... 3 seg.). Proporcionar salida del programa.

2. Inicialice dos construcciones de video, cada una con su atributo y texto grabado (algunos caracteres de texto deben tener un color excelente). Organice un cambio cíclico de tiendas de video con un período de 2 ... 3 seg. Proporcionar salida del programa con la restauración de la página actual.

3. Inicialice 2 ventanas locales en la pantalla. Cada ventana con su atributo y texto con múltiples líneas. Organice los atributos de conmutación cíclica de la primera ventana a la segunda y la espalda. El ciclo de conmutación se establece en un retardo de tiempo de 2 ... 3 seg. Proporcionar salida del programa.

4. En la pantalla Inicialice 2 ventanas locales. Cada ventana con su atributo y texto en varias líneas. Organice el texto cíclico que cambia de una ventana a otra con un retardo de tiempo de 2 ... 3 seg. Proporcionar salida del programa.

5. En la pantalla Inicializar ventana_1, con el atributo y el texto en varias líneas. Después de un tiempo de retardo 2 ... 3 segundos imponen parcialmente una ventana_2 en él con otro atributo y texto. Proceso de proceso. Proporcionar salida del programa.

6. En la ventana Inicializar la ventana local con un atributo (y texto), informe a la deriva en una dirección horizontal (vertical). Cuando la frontera llega a la pantalla, la ventana cambia la deriva en la dirección opuesta. El paso de movimiento de la ventana local en el espacio de la pantalla debe ser muchas veces menos que el tamaño de la pantalla en sí.

7. En la ventana Inicializar la ventana local con una pantalla de atributo (y texto). Después de presionar la tecla Comando, la ventana comienza a cambiar sus dimensiones (pulsate), aumentando y disminuyendo con un cierto período. Una etapa temporal de cambiar el tamaño de una ventana debe ser mucho menor que un período.
Pulsación.

8. Inicialice la pantalla y la ventana local con sus atributos. Organice el modo de salida de texto a la ventana del teclado local. Proporcione la capacidad de editar texto, así como desplazarse de las ventanas al llenarla.

9. Inicialice la pantalla y dos pequeñas ventanas locales en él. Usa la llave<Pestaña.\u003e Organiza el cursor de conmutación de una ventana a otra. Clave seleccionada<Pestaña.\u003e La ventana adquiere un mayor brillo. Proporcionar salida del programa.

10. Inicialice la pantalla y dos ventanas locales en ella. En la ventana izquierda, traiga la primera mesa hasta la mitad superior. Ascii.y derecha - la segunda mitad. Proporcionar limpieza de ventanas y salida del programa.

11. Inicialice la pantalla y dos ventanas locales en ella (cada una con su atributo y texto). Organice el bit de conmutación cíclico "Brillo del fondo / FLICKER". Salir del programa debe restaurar el valor del bit predeterminado.

12. Inicializar la pantalla y dos ventanas locales en ella. En la ventana izquierda, retire la segunda mitad de la tabla. Ascii. C Símbolos de pseudográfico. Usando la navegación del cursor, use las teclas (¬, -, ®, ¯) para organizar la posibilidad de reproducción continua de líneas directas en la segunda ventana.

13. Desarrolle un programa para generar el texto en la pantalla programando directamente un videoclip usando elementos de formato (sangría desde el borde izquierdo, transferencia de texto a la siguiente cadena después de cruzar la palabra del borde derecho).

Entrada: DS:SI - habla a Asci-líneas Ah.- atributos;

Cx.- el número de caracteres de salida;

DH /Dl - línea ( fila) / columna ( cLM.);

Sangrar_L,Sangrar_R. - Campos de sangría (en columnas) a la izquierda y derecha.

Es necesario optimizar el cálculo del búfer de video de la dirección. ES:Di. El procedimiento debe devolver el valor inicial del registro. ES.

14. Uso de la programación de memoria de video directa, complete varias páginas de videoclip con su posterior visualización (salida a la pantalla) en modo cíclico. Cuando salga del programa para restaurar la página actual.

15. Desarrolle un programa de dibujo rectangular usando caracteres gráficos en la codificación ASCII. Las coordenadas de la esquina superior izquierda (cadena, columna) y la derecha inferior deben ingresarse desde el teclado después de la invitación correspondiente.

8.4. Preguntas de control

1. Característica breve de las capacidades proporcionadas por el Programador de Sistemas de E / S básico BIOS, en comparación con las funciones del servicio DOS.

2. Nombra el volumen de la memoria de video para la imagen de un carácter y, en consecuencia, un solo video de monitor de video en modo de texto.

3. Dale a la característica característica del símbolo en el videoclip.

4. Desarrollar macros para:

¨ Limpieza de la pantalla con una configuración de cursor en la esquina superior izquierda de la pantalla;

¨ Cursor posicionando en un punto arbitrario de la pantalla con memorización de sus coordenadas en la memoria utilizando variables fila y cLM.;

¨ Mensaje de salida mes. largo leng. y atributo de color atribuir de la posición definida por las variables fila y cLM..

5. ¿Qué función BIOS proporciona al usuario información completa en la tecla del teclado?

Este artículo describe la sintaxis de la fórmula y el uso de la función. Min. En Microsoft Excel.

Descripción

Devuelve el valor más pequeño en la lista de argumentos.

Sintaxis

Min (Number1; [Number2]; ...)

Los argumentos de las minas de las funciones se describen a continuación.

    Número 1, Number2, ... El argumento "Number1" es obligatorio, los números subsiguientes son opcionales. De 1 a 255 números, entre los que se requiere encontrar el más pequeño.

Comentarios

    Los argumentos pueden ser números o números que contienen nombres, matrices o referencias.

    Los valores lógicos y las representaciones de texto de los números que se ingresan directamente en la lista de argumentos se tienen en cuenta.

    Si los argumentos no contienen números, la función MIN devuelve un valor de 0.

    Los argumentos que son valores de errores o textos que no se transforman en números conducen a errores.

Ejemplo

Copie los datos de muestra de la siguiente tabla e insértelos en la celda A1 de la nueva hoja de Excel. Para mostrar los resultados de la fórmula, selecciónelos y presione la tecla F2, y luego la tecla Intro. Si es necesario, cambie el ancho de las columnas para ver todos los datos.

La función MIN se utiliza para encontrar el número mínimo en el rango en estudio y devuelve el número correspondiente.

La función de la mina está diseñada para buscar el valor mínimo en el rango de datos en estudio y devuelve el resultado correspondiente.

Ejemplos de uso de funciones Min y Mina en Excel

La tabla de Excel contiene datos en la fecha de nacimiento de los trabajadores de oficina. Determinar la edad mínima del empleado.

Tabla de datos:

Para los cálculos, utilizamos la fórmula de resolución (resultado correcto solo cuando presiona la combinación de CTRL + MAYS + ENTER):


El único argumento es el año de expresión (hoy ()) - el año (B3: B10), que devuelve una matriz de valores numéricos igual a la diferencia del año en curso y el año de nacimiento de cada empleado. Como resultado de los cálculos, obtenemos:


La fórmula ha calculado automáticamente que el empleado más joven tiene 27 años.



Cómo calcular la suma de valores mínimos no negativos en Excel

La tabla de Excel contiene varias columnas de datos numéricos. Encuentre el valor total de los valores mínimos no negativos contenidos en estas columnas. Adicional para encontrar el número más pequeño de la tabla disponible.

Tabla de origen:


Para determinar los números no negativos mínimos, use la fórmula de la matriz:

!}

El único argumento es una función si realiza una inspección de la matriz de datos sobre la aparición de números positivos. Si se realiza la condición, la función MIN toma una matriz como un argumento que contiene solo números positivos. De manera similar, encontramos valores mínimos para las columnas restantes. El resultado obtenido (CTRL + MAYÚS + ENTER):


Encuentre el número más pequeño en la tabla con la ayuda de la fórmula:

Los argumentos de la función son los valores devueltos por cada una de las funciones MIN para el vector de datos especificado. Utilizar como una fórmula de matriz. Resultado (CTRL + SHIFT + ENTER):


Busque varios valores más pequeños en condiciones de Excel

Alguna compañía trabajó anteriormente con un proveedor de productos. Sin embargo, se hizo saber que algunos otros proveedores ofrecen precios más aceptables. La tabla de Excel contiene productos y códigos de descuento ofrecidos por otros proveedores. Si no hay descuentos, el valor lógico se muestra si el número es positivo, los bienes cuestan más. Encuentre el mayor descuento para los mismos productos solo a diferentes precios de diferentes proveedores.

Tabla de origen:

Fórmula para el cálculo (fórmula de massif):

\u003d 0; sin descuentos; minine (si (A3: A15 \u003d D1; B3: B15; ""))) "Clase \u003d" Fórmula "/\u003e

Algoritmo informático:

  1. Función Si comprueba la condición de la mina (si (A3: A15 \u003d D1; B3: B15; "))\u003e \u003d 0, donde la mía devuelve el valor de descuento mínimo para el producto, el código que se especifica en la celda D1.
  2. La función de la mina tiene en cuenta los valores lógicos. Un caso es posible cuando no hay descuento para ningún producto (todos los valores son falsos), y se devolverá el resultado 0 (cero). En este caso, la línea de texto "sin descuentos" será devuelta. Se producirá un evento similar si todos los descuentos son solo números positivos.
  3. Si la condición no se ejecuta, se devolverá el descuento máximo (el valor más negativo) para el código del producto especificado.

Calculamos los mayores descuentos para otros bienes. Como resultado, obtenemos (Ctrl + Shift + Enter):


Características de uso de funciones Min y Mine en Excel

La función MIN tiene el siguiente registro de sintaxis:

Min (Number1; [Number2] ...)

Descripción de los argumentos:

  • number1 es un argumento obligatorio que caracteriza el primer número desde el rango en el que se requiere encontrar el valor mínimo;
  • [Number2] ... - Los argumentos opcionales segundos y posteriores caracterizan los números seguros y posteriores del rango de prueba.

La función de la mina tiene el siguiente registro de sintaxis:

Mina (valor1; [valor2] ...)

Descripción de los argumentos:

  • el valor 1 es un argumento obligatorio que caracteriza la primera entrada en el rango en el que desea encontrar el valor mínimo;
  • [Valor2] ... - los argumentos opcionales segundos y posteriores caracterizando la segunda y posterior ingresación de los datos en estudio.

Notas 1:

  1. La diferencia en la sintaxis enfatiza la diferencia semántica entre las dos funciones: MIN funciona solo con valores numéricos, las minas, además, tienen en cuenta el tipo de datos lógicos.
  2. Si solo se transmiten cadenas de texto como argumentos de las minas de funciones y los números no textuales de números, las funciones se devolverán a 0.
  3. La función de las minas que lleva un vínculo con el rango de datos como un argumento, ignora no solo la verdad y las mentiras lógicas, así como las cadenas de texto y las celdas vacías.
  4. Si el argumento mínimo es una fórmula que devuelve un error, el resultado del código de error también será el resultado de la ejecución de estas funciones. Se recomienda verificar los datos utilizando la función de error.
  5. Las funciones de las minas y las minas no tienen funciones lógicas, analógicas, como se implementan, por ejemplo, la función de la cuenta (contada), por lo que se debe realizar la verificación de datos al realizar las funciones mínimas como un argumento (si, si inhibe y otras) .

Notas 2:

  1. La función de la mina devuelve un valor de 0 (cero) si el rango a la que se transmitió el enlace como un argumento es contenido o representaciones textuales de números.
  2. Ambas funciones se utilizan para encontrar las cantidades mínimas en el rango de valores transmitidos como un argumento, pero hay varias diferencias entre ellos:
  • Si uno de los argumentos de la función es un valor lógico (verdad o falso, que se puede convertir a valores numéricos 1 y 0, respectivamente), este valor se tendrá en cuenta en los cálculos. Por ejemplo, una función \u003d min (100; verdad; falso; 10) devuelve el valor de 0.
  • Si una referencia a un rango que contiene datos de datos lógicos se transfirió como un argumento de la función MIN de la función MIN. Por ejemplo, una función \u003d MIN (A1: A4) volverá a 10 si el rango de celdas A1: A4 contiene los siguientes datos: 100, verdad, mentiras y 10, respectivamente.
  • Para tener en cuenta los datos de tipo lógico, también se debe usar la función de la mina. Por ejemplo, la grabación \u003d la mina (A1: A4) devolverá el valor 0 (mentiras lógicas equivalentes a numéricas 0), si las celdas A1: A4 contienen datos como en el párrafo anterior.

Desea que la inscripción "Datos de resumen" en la tabla izquierda estuvo en el centro del área seleccionada, como en la tabla derecha. ¿Qué botón debe presionar?

Desea que la inscripción "Datos de resumen" en la tabla derecha se encuentren en la mesa izquierda. ¿Qué botón debe presionar?

641. ¿Qué valor aparecerá en la celda seleccionada si la función \u003d MIN (H4: H8) se introduce allí?

· 11479

Desea que el número en la celda correcta se muestre como el número a la izquierda. ¿Cuál es el elemento del menú que necesita para elegir?

Usted desea en la celda C19 resaltada la diferencia entre las celdas A19 - B19. ¿Cómo necesitas iniciar la fórmula de entrada?

· Cancelar

· Desde el signo "menos"

· De la señal "igual"

· En el nombre de la celda

644. Si estira el área seleccionada con números 1, 2, 3 por ángulo inferior derecho, sosteniendo el botón izquierdo del ratón, el resultado será como un fragmento:

Con la ayuda de qué herramienta se obtiene la imagen, como en las células A24: A28?

¿Qué pestaña debe ir a agregar diapositivas a la presentación?

Para cambiar el diseño de diseño de "título y objeto", ¿debe ir al marcador?

¿Qué botón debe hacer clic para que el texto seleccionado del fragmento 1 se convierta en una lista marcada, como en un fragmento 2?

¿Qué botón debe hacer clic para que el texto seleccionado del Fragmento 1 se convierta en un aspecto tan en un fragmento 2?

¿Qué botón debe hacer clic para que la palabra "celular" en la tabla superior parezca en la parte inferior?

¿Cómo cambiar al modo de demostración de diapositivas?

¿Qué significa el icono especificado cerca del número de diapositivas?

· Doblar incluido en una pantalla arbitraria

· La diapositiva se omitirá al mostrar una presentación.

· Los efectos de animación se utilizan en la diapositiva.

· Slide contiene archivos de video

¿Cuál es el elemento del menú para elegir obtener el resultado, como en la imagen de la derecha?

¿Qué acceso directo debe usar para iniciar el navegador para ver las páginas web?

Debe ir de inmediato al sitio www.kremlin.ru. ¿En qué campo ingresar a la dirección deseada?

¿Qué pestaña necesita para ir a imprimir texto desde el sitio?