INT 10h , INT 10H o INT 16 es una instrucción en lenguaje ensamblador para un procesador x86 que genera una interrupción de software BIOS 10 hexadecimal , el vector de interrupción número 17 en la arquitectura x86 . El BIOS generalmente asocia un controlador de interrupción de modo real con este vector para proporcionar un servicio de video. Incluye configurar el modo de video del adaptador de video, la salida de caracteres y líneas, las primitivas de gráficos (leer y escribir píxeles en el modo de gráficos).
Llamar a INT 10h es bastante lento, por lo que muchos programas acceden directamente al adaptador de video, sin el BIOS. La configuración del modo de video, que generalmente se realiza una vez, se puede realizar mediante el BIOS. Sin embargo, el renderizado debe ser rápido, por lo que el acceso directo a la memoria de video es mejor para esto que llamar a las interrupciones del BIOS para cada píxel.
Función | Código de función | Opciones | Valor devuelto |
---|---|---|---|
Configuración del modo de vídeo | AH=00h | AL = número de modo | AL = indicador de modo de video / byte de modo CRT del controlador |
Establecer la forma del cursor del modo de texto | AH=01h | CH = línea de inicio, CL = línea final
Por lo general, una familiaridad tiene 8 líneas, 0-7. Entonces CX=0607h es un cursor subrayado normal, CX=0007h es todo familiaridad. Si el bit 5th CH está configurado, generalmente significa "Ocultar cursor". Por lo tanto, CX=2607h es un cursor invisible. Algunas tarjetas de video tienen 16 líneas por carácter, 00h-0Fh. Algunas tarjetas gráficas no usan el bit 5th CH. En este caso, para ocultar, establezca CH > CL (por ejemplo, CX=0706h) |
|
Establecer la posición del cursor | AH=02h | BH=página, DH=fila, DL=columna | |
Obtener la posición y la forma del cursor | AH=03h | BH = página | AX = 0, CH = Fila inicial de la forma del cursor, CL = Fila final de la forma del cursor, DH = Fila, DL = Columna |
Obtener la posición del lápiz óptico (no funciona en sistemas VGA ) | AH=04h | AH = estado (0 = inactivo, 1 = activo), BX = píxel X, CH = píxel Y, CX = número de fila de píxeles para los modos 0Fh-10h, DH = carácter Y, DL = carácter X | |
Establecer página activa | AH=05h | AL = número de página | |
Desplazarse hacia arriba | AH=06h | AL = número de líneas para desplazarse (0 = borrar, CH, CL, DH, DL utilizado), BH = atributo de color.
CH = número de fila superior, CL = número de columna izquierda, DH = número de fila inferior, DL = número de columna derecha |
|
Desplácese hacia abajo | AH=07h | véase más arriba | |
Leer caracteres y atributos en la posición del cursor | AH=08h | BH = página | AH = color, AL = símbolo |
Escribir caracteres y atributos en la posición del cursor | AH=09h | AL = carácter, BH = página, BL = color, CX = cuántas veces escribir un carácter | |
Escribir carácter en la posición del cursor | AH=0Ah | AL = carácter, BH = página, CX = cuántas veces escribir un carácter | |
Establecer color de fondo/borde | AH=0Bh, BH=00h | BL = Color de fondo/borde (borde solo en modos de texto) | |
Establecer paleta | AH=0Bh, BH=01h | BL = ID de paleta (tiene sentido en los adaptadores CGA , pero las tarjetas gráficas más nuevas admiten esto en muchos o todos los modos gráficos) | |
Establecer píxel | AH=0 canales | AL=color, BH=página, CX=x, DX=y | |
Leer color de píxel | AH=0Dh | BH=página, CX=x, DX=y | AL = color |
Salida de caracteres de la consola | AH=0Eh | AL = carácter, BH = página, BL = color (solo modo gráfico) | |
Obtener el modo de video actual | AH=0Fh | AL = modo de video, AH = número de columnas de caracteres, BH = página actual | |
Cadena de salida (EGA y superior) | AH=13h | AL = modo de salida , BH = página, BL = color, CX = longitud de línea, DH = línea (en pantalla), DL = columna, ES:BP = dirección |