You are on page 1of 61

La lista de todas las interrupciones que actualmente son soportados por el emulador.

Referencia rpida:

INT 10h/00h INT 10h/01h INT 10h/02h INT 10h/03h INT 10h/05h INT 10h/06h INT 10h/07h INT 10h/08h INT 10h/09h 10h/0Ah INT INT 10h/0Ch 10h/0Dh INT INT 10h / 0Eh INT 10h/13h

10h/1003h INT INT 11h 12h INT INT 13h/00h INT 13h/02h INT 13h/03h INT 15h/86h INT 16h/00h INT 16h/01h INT 19h INT 1Ah/00h INT 20h

INT 21h INT 21h/01h INT 21h/02h INT 21h/05h INT 21h/06h INT 21h/07h INT 21h/09h 21h/0Ah INT INT 21h/0Bh 21h/0Ch INT INT 21h/0Eh INT 21h/19h INT 21h/25h 21h/2Ah INT INT 21h/2Ch

INT 21h/35h INT 21h/39h 21h/3Ah INT INT 21h/3Bh 21h/3Ch INT INT 21h/3Dh 21h/3Eh INT INT 21h/3Fh INT 21h/40h INT 21h/41h INT 21h/42h INT 21h/47h INT 21h / 4Ch INT 21h/56h

33h/0000h INT INT 33h/0001h 33h/0002h INT INT 33h/0003h

la lista corta de las interrupciones soportadas con las descripciones: INT 10h / AH = 0 - Modo de juego de vdeo. de entrada: AL = modo deseado de vdeo. estos modos de vdeo son compatibles: 00h - modo texto. 40x25. 16 colores. 8 pginas. 03h - modo texto. 80x25. 16 colores. 8 pginas. 13h Modo grfico. 40x25. 256 colores.320x200 pxeles. 1 pgina.

ejemplo:
mov al , 13h mov ah , 0 int 10h

INT 10h / AH = 01h - Juego en modo texto forma del cursor. de entrada: CH = lnea inicial del cursor (bits 0-4) y opciones (bits 57). CL = Lnea de cursor inferior (bits 0-4). cuando el bit 5 de CH se establece en 0 , el cursor es visible. cuando el bit 5 es 1 , el cursor no es visible.

; Ocultar cursor de texto parpadeante: mov ch , 32 mov ah , 1 int 10h , Mostrar el cursor de texto estndar parpadeando: mov ch , 6 mov cl , 7 mov ah , 1 int 10h , Muestran en forma de caja cursor de texto parpadeante: mov ch , 0 mov cl , 7 mov ah , 1 int 10h ; Nota: algunas BIOS requeridas CL ser> = 7, ; Formas equivocadas de lo contrario cursor se muestran.

INT 10h / AH = 2 - Posicin de conjunto cursor. de entrada: DH = fila. DL = columna. BH = nmero de pgina (0 .. 7).

ejemplo:
mov dh , 10 mov dl , 20 mov bh , 0 mov ah , 2 int 10h

INT 10h / AH = 03h - obtener la posicin del cursor y el tamao. de entrada: BH = nmero de pgina. retorno: DH = fila. DL = columna. CH = lnea inicial del cursor. CL = lnea inferior del cursor.

INT 10h / AH = 05h - pgina de seleccin de vdeo activa. entrada: AL . = nuevo nmero de pgina (0 .. 7) de la pgina activa se muestra. INT 10h / AH = 06h - scroll ventana hacia arriba. INT 10h / AH = 07h - desplcese hacia abajo la ventana. de entrada: AL . = nmero de lneas que se realiza desplazamiento (00h = toda la ventana transparente) BH = atribuyen . utiliza para escribir lneas en blanco en la parte inferior de la ventana de CH, CL . = fila, columna de la esquina superior izquierda de ventana DH, DL fila = , columna de la esquina inferior derecha de la ventana.

INT 10h / AH = 08h - leer el carcter y atributo en la posicin del cursor. de entrada: BH . = nmero de pgina retorno: AH = atributo . AL = carcter.

INT 10h / AH = 09h - escribir el carcter y atributo en la posicin del cursor. de entrada: AL . carcter = para mostrar BH = nmero de pgina. BL = atributo . CX = nmero de veces para escribir caracteres.

INT 10h / AH = 0AH - escritura nico personaje en la posicin del cursor. de entrada: AL . carcter = para mostrar BH = nmero de pgina. CX = nmero de veces para escribir caracteres.

INT 10h / AH = 0Ch - cambie el color de un solo pxel. de entrada: AL = pxel de color CX . columna = DX = fila. ejemplo:
mov al , 13h mov ah , 0 int 10h ; conjunto de grficos del modo de vdeo. mov al , 1100b mov cx , 10 mov dx , 20 mov ah , 0CH int 10h ; pixel set.

INT 10h / AH = 0Dh - obtener color de un solo pxel. de entrada: CX . columna = DX . = fila de salida: AL = pxel de color

INT 10h / AH = 0Eh - Salida de teletipo. de entrada: AL = carcter a escribir. funciona esta muestra un carcter en la pantalla, el avance del cursor y el desplazamiento de la pantalla segn sea necesario. la impresin se hace siempre a la corriente activa pgina. ejemplo:

mov al , 'a'

mov ah , 0EH int 10h ; Nota: en sistemas especficos esta ; Funcin no puede utilizarse en modo grfico.

INT 10h / AH = 13h - escritura cadena. de entrada: AL = modo de escritura: bit 0 : cursor actualizacin despus de la escritura; bit 1 : cadena contiene atributos . BH . = nmero de pgina BL = atributo . si la cadena contiene slo caracteres (bit 1 de AL es cero) CX = nmero de caracteres en string (atributos no se cuentan). DL, DH = columna, fila donde se va a empezar a escribir. ES: BP apunta a string para ser impreso.

ejemplo:
mov al , 1 mov bh , 0 mov bl , 0011_1011b mov cx , msg1end - compensar msg1 ; calcular el tamao del mensaje. mov dl , 10 mov dh , 7 empuje cs pop es mov pb , compensar msg1 mov ah , 13h int 10h jmp msg1end msg1 db "hola, mundo!" msg1end:

INT 10h / AX = 1003h - Intensidad de palanca / parpadeando. de entrada: BL = modo de escritura: 0 : habilitar colores intensos. 1 :. permitir a parpadear (no soportado por el emulador y ventanas de smbolo del sistema) BH = 0 (para evitar problemas en algunos adaptadores).

ejemplo:
mov ax , 1003h mov bx , 0 int 10h

bit tabla de colores: atributo de carcter es de 8 bit con valor, bajo 4 bits puestos tanto en color, de alta 4 bits fijados color de fondo. nota: el emulador y ventanas de lnea de comandos del sistema no son compatibles con fondo de parpadear, sin embargo, para que los colores tienen el mismo aspecto en dos y en el modo de pantalla completa es necesario desactivar el fondo de parpadear.
COLOR HEX BIN 0 0000 negro 1 0001 azul 2 0010 verde 3 0011 cyan 4 rojo 0100 5 0101 magenta 6 0110 marrn 7 0111 gris claro 8 1000 gris oscuro 9 1001 azul claro A 1010 luz verde B 1011 cian claro C 1100 luz roja D 1101 magenta claro E 1110 amarillo F 1111 blanco

nota:
, El uso de este cdigo para la compatibilidad con DOS / cmd indicador del modo de pantalla completa: mov ax , 1003h mov bx , 0 , deshabilitar parpadear. int 10h

11h INT - obtener la lista de BIOS del equipo. regreso: AX = equipo BIOS lista de palabras, de hecho esta llamada devuelve el contenido de la palabra en 0040h: 0010h. Actualmente esta funcin se puede utilizar para determinar el nmero de serie instalada de unidades de disquete.
Los campos de bits para el BIOS detecta el hardware instalado: bit (s) Descripcin 15-14 Nmero de dispositivos paralelos. 13 Reservado. 12 puertos juego instalado. Nmero 11-9 de dispositivos serie. 8 Reservados. 7-6 Nmero de unidades de disco flexible (menos 1): 00 solo disquete; 01 dos disquetes; 10 tres discos; 11 cuatro disquetes. 5-4 Modo vdeo inicial: 00 EGA, VGA, PGA, o de otro tipo con BIOS de video a bordo; 01 40x25 de color CGA. 10 80x25 CGA color (por defecto emulador). 11 80x25 texto mono. 3 Reservado. 2 PS / 2 para ratn est instalado. Un coprocesador matemtico instalado. 0 Ajuste al arrancar desde un disquete.

12h INT - obtener el tamao de la memoria.

regreso: AX = kilobytes de memoria contigua a partir de las direcciones 00000h absolutos, esta llamada devuelve el contenido de la palabra en 0040h: 0013h. Las unidades de disquete se emulan mediante FLOPPY_0 (.. 3) archivos.

INT 13h / AH = 00h - Sistema de disco de restablecimiento.

INT 13h / AH = 02h - lee los sectores del disco en la memoria. INT 13h / AH = 03h - escribe sectores del disco. de entrada: AL = nmero de sectores para leer / escribir (debe ser distinta de cero) CH = nmero de cilindros (0 .. 79). CL = nmero de sector (1 .. 18). DH = nmero cabeza (0 .. 1). DL = unidad nmero (0 .. 3, para el emulador que depende de la cantidad de archivos FLOPPY_). ES: BX apunta al bfer de datos.

volver: CF establecido en caso de error. CF claro caso de xito. AH estado = (0 - si tiene xito). AL = nmero de sectores transferidos.

Nota: cada sector tiene 512 bytes.

INT 15h / AH = 86h - Funcin BIOS espera. de entrada: CX: DX = intervalo en microsegundos volver: CF claro caso de xito (intervalo de espera transcurrido), CF situado en error o cuando se espere funcin ya est en marcha. Nota: la resolucin del perodo de espera es de 977 microsegundos en muchos sistemas (1 milln de microsegundos - 1 segundo). Windows XP no es compatible con esta interrupcin (siempre establece CF = 1).

INT 16h / AH = 00h - obtener pulsacin de teclado (sin eco). volver: AH = BIOS cdigo de exploracin. AL = ASCII del carcter. (si est presente una combinacin de teclas, se elimina de la memoria intermedia del teclado).

INT 16h / AH = 01h - comprobacin de pulsaciones de teclas en el bfer de teclado. volver: ZF = 1 si pulsacin de tecla no est disponible. ZF = 0 si pulsacin de teclas disponibles. AH = BIOS cdigo de exploracin. AL = carcter ASCII. (si est presente una combinacin de teclas, no se elimina de la memoria intermedia del teclado).

INT 19h - reinicio del sistema. Normalmente, el BIOS intentar leer el sector 1, cabeza 0, pista 0 de la unidad A: a 0000h: 7C00h. El emulador slo se detiene la ejecucin, para que arranque desde la unidad de disquete seleccionar desde el men:"unidad virtual" -> "arranque desde floppy '

INT 1Ah / AH = 00h - obtener la hora del sistema. volver: CX: DX . = nmero de ciclos de reloj desde la medianoche AL = medianoche contrario, avanzaba cada vez pases de medianoche. nota: hay aproximadamente 18,20648 ciclos de reloj por segundo, y 1800B0h por 24 horas. AL no est establecido por el emulador.

INT 20h - Salida para sistema operativo.

La lista corta de emular MS-DOS interrumpe - 21h INT Sistema de ficheros DOS se emula en C: \ emu8086 \ vdrive \ x (x es una letra de unidad) Si no se especifica letra de la unidad y el directorio actual no est definida, entonces C: \ emu8086 \ MyBuild \ ruta de

acceso se utiliza por defecto. FLOPPY_0, 1,2,3 archivos son emuladas de forma independiente del sistema de archivos DOS. Para la unidad fsica emulador A: es el archivo c: \ emu8086 \ FLOPPY_0 (por interrupciones de la BIOS: 13h INT y el maletero). Durante las interrupciones del DOS ( INT 21h ) conducir un : se emula en este subdirectorio: C: \ emu8086 \ vdrive \ a \ Nota: El sistema de ficheros DOS limita los nombres de archivo y de
directorio de 8 caracteres, la extensin se limita a 3 caracteres, ejemplo de un nombre de archivo vlido: miarchivo.txt (archivo name = 6 caracteres, extensin - 3 caracteres).extensin se escribe despus del punto, no se permiten otros puntos.

INT 21h / AH = 1 - leer el carcter de la entrada estndar, con eco, el resultado se almacena en AL . si no hay un carcter en el buffer del teclado, la funcin espera hasta que se pulsa una tecla. ejemplo:

mov ah , 1 int 21h

INT 21h / AH = 2 - Escribir carcter a la salida estndar. entrada DL = carcter a escribir, despus de la ejecucin AL = DL . ejemplo:

mov ah , 2 mov dl , 'a' int 21h

INT 21h / AH = 5 . - salida de caracteres para impresora entrada DL = carcter a imprimir, despus de la ejecucin AL = DL . ejemplo:

mov ah , 5 mov dl , 'a' int 21h

INT 21h / AH = 6 . - La entrada o salida de la consola directamente los parmetros de salida: DL = 0 .. 254 (cdigo ASCII) para los parmetros de entrada: DL = 255 para las devoluciones de salida: AL = DL para las devoluciones de entrada: ZF conjunto si no carcter disponible y AL = 00h , ZF claro si el personaje est disponible. AL = carcter lectura; bfer se borra. ejemplo:

mov ah , 6 mov dl , 'a' int 21h ; carcter de salida. mov ah , 6 mov dl , 255 int 21h ; obtiene caracter de buffer del teclado (si lo hay) o un conjunto ZF = 1.

INT 21h / AH = 7 . - Entrada de carcter sin eco en AL . si no hay un carcter en el buffer del teclado, la funcin espera hasta que se pulsa una tecla ejemplo:

mov ah , 7 int 21h

INT 21h / AH = 9 - Salida de una cadena en DS: DX . Cadena debe terminar con ' $ '. ejemplo:

org 100h mov dx , compensar msj mov ah , 9 int 21h ret msj db "hola mundo $"

INT 21h / AH = 0AH - entrada de una cadena en DS: DX , byte puo es el tamao del buffer, segundo byte es el nmero de caracteres realmente ledos. esta funcin es no aadir '$' al final de la cadena. imprimir con INT 21h/ AH = 9 debe configurar carcter dlar al final de la misma y empezar a imprimir desde la direccin DS: DX + 2 . ejemplo:

org 100h mov dx , compensar tampn mov ah , 0ah int 21h jmp impresin tampn db 10,?, 10 dup ( '' ) print: xor bx , bx mov bl , buffer [ 1 ] mov tampn [ bx + 2 ] , '$' mov dx , compensar tampn + 2 mov ah , 9 int 21h ret

la funcin no permite introducir ms caracteres que el tamao de bfer especificado. vase tambin int21.asm en c: \ \ examples emu8086

INT 21h / AH = 0Bh - obtener el estado de entrada, devuelve: AL = 00H si no hay caracteres disponibles, AL = 0FFh si el personaje se encuentra disponible.

INT 21h / AH = 0Ch . - buffer del teclado de color y lee la entrada estndar de entrada: AL = nmero de funcin de entrada para ejecutar despus de buffer de lavado (puede ser 01h, 06h, 07h, 08h, o 0Ah - para otros valores del bfer se vaca pero no se intenta la entrada); otros registros segn sea apropiado para la funcin de entrada seleccionada.

INT 21h / AH = 0Eh . - unidad predeterminada seleccione la entrada: DL drive = nuevo valor predeterminado (0 = A:, 1 = B:, etc) Regreso: AL = nmero de letras de unidad potencialmente vlidas Notas: el valor de retorno es la mxima unidad presentar.

INT 21h / AH = 19h . - get unidad predeterminada actual retorno: AL = unidad (0 = A:, 1 = B:, etc)

INT 21h / AH = 25h - vector set interrupcin, entrada: AL = nmero de interrupciones. DS: DX - Mozo> nueva interrupcin.

INT 21h / AH = 2Ah - obtener fecha del sistema; vuelta: CX . = ao (1980-2099) DH . = mes DL . = da AL = da de la semana (00h = domingo)

INT 21h / AH = 2Ch - obtiene la hora del sistema; vuelta: CH = hora. CL = minuto. DH = segundo. DL = 1/100 segundos.

INT 21h / AH = 35h - get vector de interrupcin, entrada: AL = nmero de interrupcin; vuelta: ES: BX - Mozo> interrupcin de corriente.

INT 21h / AH = 39h - crear el directorio. entrada: DS: DX -> ruta ASCIZ; cadena terminada en cero, por ejemplo:
org 100h mov dx , compensar ruta de archivo mov ah , 39h int 21h enriar ruta_archivo DB "C: \ mydir" , 0 extremo ; camino que se crear.

el cdigo anterior crea c: \ emu8086 \ vdrive \ C \ mydir directorio si se ejecuta el emulador.

Retorno: CF claro si tiene xito AX destruido. CF conjunto en caso de error AX = cdigo de error. Nota: todos los directorios de la ruta determinada, debe existir sino el ltimo.

INT 21h / AH = 3Ah . - eliminar el directorio de entrada: DS:

DX . -> ASCIZ ruta de directorio a eliminar Retorno: CF est claro si tiene xito, AX destruido CF se encuentra en error AX = cdigo de error. Notas: El directorio debe ser vaco (no debe haber archivos dentro de ella).

INT 21h / AH = 3BH . - configurar el directorio actual de entrada: DS: DX . -> ASCIZ ruta para convertirse en el directorio actual (mx. 64 bytes) Regreso: indicador de acarreo est claro si tiene xito, AX . destruidos Carry Flag se encuentra en error AX = el cdigo de error. Notas: incluso si el nombre nuevo directorio incluye una letra de unidad, la unidad predeterminada no se cambia, slo el directorio actual en esa unidad.

INT 21h / AH = 3Ch . - crear o truncar el archivo de

entrada: CX = Atributos de archivos:

mov mov mov mov mov mov

cx cx cx cx cx cx

, , , , , ,

0 1 2 4 7 16

, normal - sin atributos. , de slo lectura. ; oculto. ; sistema , sistema oculto y de slo lectura! ; archivo

DS: DX . -> filename ASCIZ devuelve: CF claro si tiene xito, AX = identificador de archivo. CF conjunto en caso de error AX = cdigo de error. Nota: si existe el archivo especificado se elimina sin una advertencia. ejemplo:

org 100h mov ah , 3 canales mov cx , 0 mov dx , compensar nombre de archivo mov ah , 3 canales int 21h jc errar mov manija, hacha jmp k Nombre de archivo db "miarchivo.txt" , 0 manejar dw ? err: ; .... k: enriar

INT 21h / AH = 3Dh . - Abrir archivo existente Ingreso: AL = modos de acceso y participacin:

mov al , 0 mov al , 1 mov al , 2

; lectura ; escritura , de lectura / escritura

DS: DX . -> nombre de archivo ASCIZ Retorno: CF claro si tiene xito, AX = identificador de archivo. CF conjunto en caso de error AX = cdigo de error. Nota 1: El puntero del archivo se establece al inicio del archivo. Nota 2: El archivo debe existir. ejemplo:

org 100h mov al , 2 mov dx , compensar nombre de archivo mov ah , 3DH int 21h jc errar mov manija, hacha jmp k Nombre de archivo db "miarchivo.txt" , 0 manejar dw ? err:

; .... k: enriar

INT 21h / AH = 3Eh . - cerrar el archivo de entrada: BX = identificador de archivo devuelto: CF claro si tiene xito, AX destruido. CF establecido en el error, AX = cdigo de error (06h).

INT 21h / AH = 3Fh . - leer desde el archivo de entrada: BX = identificador de archivo. CX = Nmero de bytes a leer. DS: DX . - bfer> para datos de Retorno: CF est claro si tiene xito - AX = nmero de bytes realmente leer .; 0 si en EOF (fin de archivo) antes de la llamada CF se establece en error AX . = cdigo de error Nota: los datos se leen a partir de la posicin actual del archivo, y la posicin del archivo se actualiza despus de una lectura correcta de la devuelto AX puede ser menor de la solicitud en CX si una lectura parcial ocurrido.

INT 21h / AH = 40h . - escribir en el archivo de entrada: BX . = identificador de archivo CX . = nmero de bytes a escribir DS: DX . -> datos para escribir retorno: CF claro si es correcto, AX = nmero de bytes realmente escritos. CF establecido en error; AX = cdigo de error. Nota: si CX es cero, no se escriben datos y el archivo se trunca o se extienda a los datos de la posicin actual se escribe a partir de la posicin actual del fichero, y la posicin del archivo se actualiza despus de el xito de escribir la causa ms comn de AX < CX de retorno es un disco lleno.

INT 21h / 41h AH = - Borrar archivo (desvincular). entrada: DS: DX . -> ASCIZ nombre de archivo

(sin comodines, pero vea las notas) de retorno: CF claro si tiene xito, AX destruido. AL es la unidad de archivo eliminado (indocumentados .) CF establecido en error AX = cdigo de error. Nota: DOS no borra los datos del archivo, sino que simplemente se vuelve inaccesible debido a que la cadena FAT para el archivo se borra de borrar un archivo que est actualmente abierto puede conducir a la corrupcin del sistema de archivos.

INT 21h / AH = 42h . - BUSCA - fijar posicin actual del fichero de entrada: AL = origen del movimiento: 0 . - Inicio de expediente 1 . - posicin actual del fichero 2 . - final del archivo BX . = identificador de archivo CX: DX = desplazamiento . desde el origen de la posicin del nuevo archivo de Retorno: CF claro si tiene xito, DX: AX . = Posicin nuevo archivo en bytes desde el comienzo del archivo CF . establecido en el error, AX = cdigo de errorNotas: los orgenes 1 y 2 , el puntero puede ser coloca antes del inicio del archivo, sin error se devuelve en ese caso, pero los intentos posteriores para leer o escribir el archivo se producirn errores. Si la nueva posicin est ms all del final actual del archivo, el archivo se ampliar por la siguiente escritura (vase AH = 40h ). ejemplo:

org 100h mov ah , 3 canales mov cx , 0 mov dx , compensar nombre de archivo mov ah , 3 canales int 21h ; crear el archivo ... mov manija, hacha mov bx , asa mov dx , compensado datos mov cx , DATA_SIZE mov ah , 40h int 21h ; escribir en el archivo ... mov al , 0 mov bx , asa mov cx , 0 mov dx , 7 mov ah , 42h int 21h ; buscar ... mov bx , asa mov dx , compensar tampn mov cx , 4 mov ah , 3FH int 21h ; leer desde el archivo ...

mov bx , asa mov ah , 3EH int 21h ; cerca archivo ... ret Nombre de archivo db "miarchivo.txt" , 0 manejar dw ? datos db "hola archivos!" DATA_SIZE = $ - compensacin de datos tampn db 4 dup ( '' )

INT 21h / AH = 47h . - obtener el directorio actual de entrada: DL = nmero de unidad (00h = por defecto, 01h = A:, etc) DS: SI -> 64-byte buffer para nombre de ruta ASCIZ. Regreso: Llevar est claro si tiene xito Carryse establece en el error, AX = cdigo de error (0Fh) Notas: la ruta devuelta no incluye una unidad de disco y la barra invertida inicial.

INT 21h / AH = 4 canales - Control de retorno al sistema operativo (STOP).

INT 21h / AH = 56h . - cambiar el nombre de archivo / archivo de movimiento de entrada: DS: DX -> ASCIZ nombre de archivo existente. ES: DI . -> ASCIZ nuevo nombre de archivo devuelto: CF . claro si tiene xito CFestablecido en el error, AX = error . cdigo Nota: permite moverse entre directorios en la unidad lgica slo mismas, abrir archivos no deben cambiar el nombre!

interrumpe Mouse Driver - INT 33h

INT 33h / AX = 0000 - ininialization ratn. cualquier puntero del ratn anterior est oculto. retornos:

si tiene xito: AX = 0FFFFh y BX . = nmero de botones del ratn si hay un error: AX = 0 ejemplo:
mov ax , 0 int 33h

vase tambin: mouse.asm en los ejemplos.

INT 33h / AX = 0001 . - puntero del ratn espectculo ejemplo:

mov ax , 1 int 33h

INT 33h / AX = 0002 - ocultar el puntero del ratn visible. ejemplo:

mov ax , 2 int 33h

INT 33h / AX = 0003 . - get posicin del ratn y el estado de sus botones devuelve:

si el botn izquierdo abajo: BX = 1 si el botn derecho abajo: BX = 2 si ambos botones estn abajo: BX = 3 CX = x DX = y ejemplo:
mov ax , 3 int 33h ; Nota: en el modo 320x200 grfica el valor de CX se duplica. ; Mouse2.asm ver en los ejemplos.

INT 10h / AH = 0 - Modo de juego de vdeo. de entrada: AL = modo deseado de vdeo. estos modos de vdeo son compatibles: 00h - modo texto. 40x25. 16 colores. 8 pginas. 03h - modo texto. 80x25. 16 colores. 8 pginas. 13h Modo grfico. 40x25. 256 colores.320x200 pxeles. 1 pgina.

ejemplo:
mov al , 13h mov ah , 0 int 10h

INT 10h / AH = 01h - Juego en modo texto forma del cursor. de entrada: CH = lnea inicial del cursor (bits 0-4) y opciones (bits 57). CL = Lnea de cursor inferior (bits 0-4). cuando el bit 5 de CH se establece en 0 , el cursor es visible. cuando el bit 5 es 1 ,

el cursor no es visible.

; Ocultar cursor de texto parpadeante: mov ch , 32 mov ah , 1 int 10h , Mostrar el cursor de texto estndar parpadeando: mov ch , 6 mov cl , 7 mov ah , 1 int 10h , Muestran en forma de caja cursor de texto parpadeante: mov ch , 0 mov cl , 7 mov ah , 1 int 10h ; Nota: algunas BIOS requeridas CL ser> = 7, ; Formas equivocadas de lo contrario cursor se muestran.

INT 10h / AH = 2 - Posicin de conjunto cursor. de entrada: DH = fila. DL = columna. BH = nmero de pgina (0 .. 7). ejemplo:
mov dh , 10 mov dl , 20 mov bh , 0 mov ah , 2 int 10h

INT 10h / AH = 03h - obtener la posicin del cursor y el tamao.

de entrada: BH = nmero de pgina. retorno: DH = fila. DL = columna. CH = lnea inicial del cursor. CL = lnea inferior del cursor.

INT 10h / AH = 05h - pgina de seleccin de vdeo activa. entrada: AL . = nuevo nmero de pgina (0 .. 7) de la pgina activa se muestra. INT 10h / AH = 06h - scroll ventana hacia arriba. INT 10h / AH = 07h - desplcese hacia abajo la ventana. de entrada: AL . = nmero de lneas que se realiza desplazamiento (00h = toda la ventana transparente) BH = atribuyen . utiliza para escribir lneas en blanco en la parte inferior de la ventana de CH, CL . = fila, columna de la esquina superior izquierda de ventana DH, DL fila = , columna de la esquina inferior derecha de la ventana.

INT 10h / AH = 08h - leer el carcter y atributo en la posicin del cursor. de entrada: BH . = nmero de pgina retorno: AH = atributo . AL = carcter.

INT 10h / AH = 09h - escribir el carcter y atributo en la posicin del cursor. de entrada: AL . carcter = para mostrar BH = nmero de pgina. BL = atributo . CX = nmero de veces para escribir caracteres.

INT 10h / AH = 0AH - escritura nico personaje en la posicin del cursor. de entrada: AL . carcter = para mostrar BH = nmero de pgina. CX = nmero de veces para escribir caracteres.

INT 10h / AH = 0Ch - cambie el color de un solo pxel. de entrada: AL = pxel de color CX . columna = DX = fila. ejemplo:
mov al , 13h mov ah , 0 int 10h ; conjunto de grficos del modo de vdeo. mov al , 1100b

mov cx , 10 mov dx , 20 mov ah , 0CH int 10h ; pixel set.

INT 10h / AH = 0Dh - obtener color de un solo pxel. de entrada: CX . columna = DX . = fila de salida: AL = pxel de color

INT 10h / AH = 0Eh - Salida de teletipo. de entrada: AL = carcter a escribir. funciona esta muestra un carcter en la pantalla, el avance del cursor y el desplazamiento de la pantalla segn sea necesario. la impresin se hace siempre a la corriente activa pgina. ejemplo:

mov al , 'a' mov ah , 0EH int 10h ; Nota: en sistemas especficos esta ; Funcin no puede utilizarse en modo grfico.

INT 10h / AH = 13h - escritura cadena. de entrada: AL = modo de escritura: bit 0 : cursor actualizacin despus de la escritura; bit 1 : cadena contiene atributos . BH . = nmero

de pgina BL = atributo . si la cadena contiene slo caracteres (bit 1 de AL es cero) CX = nmero de caracteres en string (atributos no se cuentan). DL, DH = columna, fila donde se va a empezar a escribir. ES: BP apunta a string para ser impreso.

ejemplo:
mov al , 1 mov bh , 0 mov bl , 0011_1011b mov cx , msg1end - compensar msg1 ; calcular el tamao del mensaje. mov dl , 10 mov dh , 7 empuje cs pop es mov pb , compensar msg1 mov ah , 13h int 10h jmp msg1end msg1 db "hola, mundo!" msg1end:

INT 10h / AX = 1003h - Intensidad de palanca / parpadeando. de entrada: BL = modo de escritura: 0 : habilitar colores intensos. 1 :. permitir a parpadear (no soportado por el emulador y ventanas de smbolo del sistema) BH = 0 (para evitar problemas en algunos adaptadores).

ejemplo:

mov ax , 1003h mov bx , 0 int 10h

bit tabla de colores: atributo de carcter es de 8 bit con valor, bajo 4 bits puestos tanto en color, de alta 4 bits fijados color de fondo. nota: el emulador y ventanas de lnea de comandos del sistema no son compatibles con fondo de parpadear, sin embargo, para que los colores tienen el mismo aspecto en dos y en el modo de pantalla completa es necesario desactivar el fondo de parpadear.
COLOR HEX BIN 0 0000 negro 1 0001 azul 2 0010 verde 3 0011 cyan 4 rojo 0100 5 0101 magenta 6 0110 marrn 7 0111 gris claro 8 1000 gris oscuro 9 1001 azul claro A 1010 luz verde B 1011 cian claro C 1100 luz roja D 1101 magenta claro E 1110 amarillo F 1111 blanco

nota:
, El uso de este cdigo para la compatibilidad con DOS / cmd indicador del modo de pantalla completa: mov ax , 1003h mov bx , 0 , deshabilitar parpadear. int 10h

11h INT - obtener la lista de BIOS del equipo.

regreso: AX = equipo BIOS lista de palabras, de hecho esta llamada devuelve el contenido de la palabra en 0040h: 0010h. Actualmente esta funcin se puede utilizar para determinar el nmero de serie instalada de unidades de disquete.
Los campos de bits para el BIOS detecta el hardware instalado: bit (s) Descripcin 15-14 Nmero de dispositivos paralelos. 13 Reservado. 12 puertos juego instalado. Nmero 11-9 de dispositivos serie. 8 Reservados. 7-6 Nmero de unidades de disco flexible (menos 1): 00 solo disquete; 01 dos disquetes; 10 tres discos; 11 cuatro disquetes. 5-4 Modo vdeo inicial: 00 EGA, VGA, PGA, o de otro tipo con BIOS de video a bordo; 01 40x25 de color CGA. 10 80x25 CGA color (por defecto emulador). 11 80x25 texto mono. 3 Reservado. 2 PS / 2 para ratn est instalado. Un coprocesador matemtico instalado. 0 Ajuste al arrancar desde un disquete.

12h INT - obtener el tamao de la memoria. regreso: AX = kilobytes de memoria contigua a partir de las direcciones 00000h absolutos, esta llamada devuelve el contenido de la palabra en 0040h: 0013h. Las unidades de disquete se emulan mediante FLOPPY_0 (.. 3) archivos.

INT 13h / AH = 00h - Sistema de disco de restablecimiento.

INT 13h / AH = 02h - lee los sectores del disco en la memoria. INT 13h / AH = 03h - escribe sectores del disco. de entrada: AL = nmero de sectores para leer / escribir (debe ser distinta de cero) CH = nmero de cilindros (0 .. 79). CL = nmero de sector (1 .. 18). DH = nmero cabeza (0 .. 1). DL = unidad nmero (0 .. 3, para el emulador que depende de la cantidad de archivos FLOPPY_). ES: BX apunta al bfer de datos.

volver: CF establecido en caso de error. CF claro caso de xito. AH estado = (0 - si tiene xito). AL = nmero de sectores transferidos.

Nota: cada sector tiene 512 bytes.

INT 15h / AH = 86h - Funcin BIOS espera. de entrada: CX: DX = intervalo en microsegundos volver: CF claro caso de xito (intervalo de espera transcurrido), CF situado en error o cuando se espere funcin ya est en marcha. Nota:

la resolucin del perodo de espera es de 977 microsegundos en muchos sistemas (1 milln de microsegundos - 1 segundo). Windows XP no es compatible con esta interrupcin (siempre establece CF = 1).

INT 16h / AH = 00h - obtener pulsacin de teclado (sin eco). volver: AH = BIOS cdigo de exploracin. AL = ASCII del carcter. (si est presente una combinacin de teclas, se elimina de la memoria intermedia del teclado).

INT 16h / AH = 01h - comprobacin de pulsaciones de teclas en el bfer de teclado. volver: ZF = 1 si pulsacin de tecla no est disponible. ZF = 0 si pulsacin de teclas disponibles. AH = BIOS cdigo de exploracin. AL = carcter ASCII. (si est presente una combinacin de teclas, no se elimina de la memoria intermedia del teclado).

INT 19h - reinicio del sistema. Normalmente, el BIOS intentar leer el sector 1, cabeza 0, pista 0 de la unidad A: a 0000h: 7C00h. El emulador slo se detiene la ejecucin, para que arranque desde la unidad de disquete seleccionar desde el men:"unidad virtual" -> "arranque desde floppy '

INT 1Ah / AH = 00h - obtener la hora del sistema. volver: CX: DX . = nmero de ciclos de reloj desde la medianoche AL = medianoche contrario, avanzaba cada vez pases de medianoche. nota: hay aproximadamente 18,20648 ciclos de reloj por segundo, y 1800B0h por 24 horas. AL no est establecido por el emulador.

INT 20h - Salida para sistema operativo.

La lista corta de emular MS-DOS interrumpe - 21h INT Sistema de ficheros DOS se emula en C: \ emu8086 \ vdrive \ x (x es una letra de unidad) Si no se especifica letra de la unidad y el directorio actual no est definida, entonces C: \ emu8086 \ MyBuild \ ruta de acceso se utiliza por defecto. FLOPPY_0, 1,2,3 archivos son emuladas de forma independiente del sistema de archivos DOS. Para la unidad fsica emulador A: es el archivo c: \ emu8086 \ FLOPPY_0 (por interrupciones de la BIOS: 13h INT y el maletero). Durante las interrupciones del DOS ( INT 21h ) conducir un : se emula en este subdirectorio: C: \ emu8086 \ vdrive \ a \ Nota: El sistema de ficheros DOS limita los nombres de archivo y de
directorio de 8 caracteres, la extensin se limita a 3 caracteres, ejemplo de un nombre de archivo vlido: miarchivo.txt (archivo name = 6 caracteres, extensin - 3 caracteres).extensin se escribe despus del punto, no se permiten otros puntos.

INT 21h / AH = 1 - leer el carcter de la entrada estndar, con eco, el resultado se almacena en AL . si no hay un carcter en el buffer del teclado, la funcin espera hasta que se pulsa una tecla. ejemplo:

mov ah , 1 int 21h

INT 21h / AH = 2 - Escribir carcter a la salida estndar. entrada DL = carcter a escribir, despus de la ejecucin AL = DL . ejemplo:

mov ah , 2 mov dl , 'a' int 21h

INT 21h / AH = 5 . - salida de caracteres para impresora entrada DL = carcter a imprimir, despus de la ejecucin AL = DL . ejemplo:

mov ah , 5 mov dl , 'a' int 21h

INT 21h / AH = 6 . - La entrada o salida de la consola directamente los parmetros de salida: DL = 0 .. 254 (cdigo ASCII) para los parmetros de entrada: DL = 255 para las devoluciones de salida: AL = DL para las devoluciones de entrada: ZF conjunto si no carcter disponible y AL = 00h , ZF claro si el personaje est disponible. AL = carcter lectura; bfer se borra. ejemplo:

mov ah , 6 mov dl , 'a' int 21h ; carcter de salida. mov ah , 6 mov dl , 255 int 21h ; obtiene caracter de buffer del teclado (si lo hay) o un conjunto ZF = 1.

INT 21h / AH = 7 . - Entrada de carcter sin eco en AL . si no hay un carcter en el buffer del teclado, la funcin espera hasta que se pulsa una tecla ejemplo:

mov ah , 7 int 21h

INT 21h / AH = 9 - Salida de una cadena en DS: DX . Cadena debe terminar con ' $ '. ejemplo:

org 100h mov dx , compensar msj mov ah , 9 int 21h ret msj db "hola mundo $"

INT 21h / AH = 0AH - entrada de una cadena en DS: DX , byte puo es el tamao del buffer, segundo byte es el nmero de caracteres realmente ledos. esta funcin es no aadir '$' al final de la cadena. imprimir con INT 21h/ AH = 9 debe configurar carcter dlar al final de la misma y empezar a imprimir desde la direccin DS: DX + 2 . ejemplo:

org 100h mov dx , compensar tampn mov ah , 0ah int 21h jmp impresin tampn db 10,?, 10 dup ( '' ) print: xor bx , bx mov bl , buffer [ 1 ] mov tampn [ bx + 2 ] , '$' mov dx , compensar tampn + 2 mov ah , 9 int 21h

ret

la funcin no permite introducir ms caracteres que el tamao de bfer especificado. vase tambin int21.asm en c: \ \ examples emu8086

INT 21h / AH = 0Bh - obtener el estado de entrada, devuelve: AL = 00H si no hay caracteres disponibles, AL = 0FFh si el personaje se encuentra disponible.

INT 21h / AH = 0Ch . - buffer del teclado de color y lee la entrada estndar de entrada: AL = nmero de funcin de entrada para ejecutar despus de buffer de lavado (puede ser 01h, 06h, 07h, 08h, o 0Ah - para otros valores del bfer se vaca pero no se intenta la entrada); otros registros segn sea apropiado para la funcin de entrada seleccionada.

INT 21h / AH = 0Eh . - unidad predeterminada seleccione la entrada: DL drive = nuevo valor predeterminado (0 = A:, 1 = B:, etc) Regreso: AL = nmero de letras de unidad potencialmente vlidas Notas: el valor de retorno es la mxima unidad presentar.

INT 21h / AH = 19h . - get unidad predeterminada actual retorno: AL = unidad (0 = A:, 1 = B:, etc)

INT 21h / AH = 25h - vector set interrupcin, entrada: AL = nmero de interrupciones. DS: DX - Mozo> nueva interrupcin.

INT 21h / AH = 2Ah - obtener fecha del sistema; vuelta: CX . = ao (1980-2099) DH . = mes DL . = da AL = da de la semana (00h = domingo)

INT 21h / AH = 2Ch - obtiene la hora del sistema; vuelta: CH = hora. CL = minuto. DH = segundo. DL = 1/100 segundos.

INT 21h / AH = 35h - get vector de interrupcin, entrada: AL = nmero de interrupcin; vuelta: ES: BX - Mozo> interrupcin de corriente.

INT 21h / AH = 39h - crear el directorio. entrada: DS: DX -> ruta ASCIZ; cadena terminada en cero, por ejemplo:
org 100h mov dx , compensar ruta de archivo mov ah , 39h int 21h enriar ruta_archivo DB "C: \ mydir" , 0 extremo ; camino que se crear.

el cdigo anterior crea c: \ emu8086 \ vdrive \ C \ mydir directorio si se ejecuta el emulador.

Retorno: CF claro si tiene xito AX destruido. CF conjunto en caso de error AX = cdigo de error. Nota: todos los directorios de la ruta determinada, debe existir sino el ltimo.

INT 21h / AH = 3Ah . - eliminar el directorio de entrada: DS: DX . -> ASCIZ ruta de directorio a eliminar Retorno: CF est claro si tiene xito, AX destruido CF se encuentra en error AX = cdigo de error. Notas: El directorio debe ser vaco (no debe haber archivos dentro de ella).

INT 21h / AH = 3BH . - configurar el directorio actual de entrada: DS: DX . -> ASCIZ ruta para convertirse en el directorio actual (mx. 64 bytes) Regreso: indicador de acarreo est claro si tiene xito, AX . destruidos Carry Flag se encuentra en error AX = el cdigo de error. Notas: incluso si el nombre nuevo directorio incluye una letra de unidad, la unidad predeterminada no se cambia, slo el directorio actual en esa unidad.

INT 21h / AH = 3Ch . - crear o truncar el archivo de entrada: CX = Atributos de archivos:

mov mov mov mov mov

cx cx cx cx cx

, , , , ,

0 1 2 4 7

, , ; ; ,

normal - sin atributos. de slo lectura. oculto. sistema sistema oculto y de slo lectura!

mov cx , 16

; archivo

DS: DX . -> filename ASCIZ devuelve: CF claro si tiene xito, AX = identificador de archivo. CF conjunto en caso de error AX = cdigo de error. Nota: si existe el archivo especificado se elimina sin una advertencia. ejemplo:

org 100h mov ah , 3 canales mov cx , 0 mov dx , compensar nombre de archivo mov ah , 3 canales int 21h jc errar mov manija, hacha jmp k Nombre de archivo db "miarchivo.txt" , 0 manejar dw ? err: ; .... k: enriar

INT 21h / AH = 3Dh . - Abrir archivo existente Ingreso: AL = modos de acceso y participacin:

mov al , 0 mov al , 1 mov al , 2

; lectura ; escritura , de lectura / escritura

DS: DX . -> nombre de archivo ASCIZ Retorno: CF claro si tiene xito, AX = identificador de archivo. CF conjunto en caso de error AX = cdigo de error. Nota 1: El puntero del archivo se establece al inicio del archivo. Nota 2: El archivo debe existir. ejemplo:

org 100h mov al , 2 mov dx , compensar nombre de archivo mov ah , 3DH int 21h jc errar mov manija, hacha jmp k Nombre de archivo db "miarchivo.txt" , 0 manejar dw ? err: ; .... k: enriar

INT 21h / AH = 3Eh . - cerrar el archivo de entrada: BX = identificador de archivo devuelto: CF claro si tiene

xito, AX destruido. CF establecido en el error, AX = cdigo de error (06h).

INT 21h / AH = 3Fh . - leer desde el archivo de entrada: BX = identificador de archivo. CX = Nmero de bytes a leer. DS: DX . - bfer> para datos de Retorno: CF est claro si tiene xito - AX = nmero de bytes realmente leer .; 0 si en EOF (fin de archivo) antes de la llamada CF se establece en error AX . = cdigo de error Nota: los datos se leen a partir de la posicin actual del archivo, y la posicin del archivo se actualiza despus de una lectura correcta de la devuelto AX puede ser menor de la solicitud en CX si una lectura parcial ocurrido.

INT 21h / AH = 40h . - escribir en el archivo de entrada: BX . = identificador de archivo CX . = nmero de bytes a escribir DS: DX . -> datos para escribir retorno: CF claro si es correcto, AX = nmero de bytes realmente escritos. CF establecido en error; AX = cdigo de error. Nota: si CX es cero, no se escriben datos y el archivo se trunca o se extienda a los datos de la posicin actual se escribe a partir de la posicin actual del fichero, y la posicin del archivo se actualiza despus de el xito de escribir la causa ms comn de AX < CX de retorno es un disco lleno.

INT 21h / 41h AH = - Borrar archivo (desvincular). entrada: DS: DX . -> ASCIZ nombre de archivo (sin comodines, pero vea las notas) de retorno: CF claro si tiene xito, AX destruido. AL es la unidad de archivo eliminado (indocumentados .) CF establecido en error AX = cdigo de error. Nota: DOS no borra los datos del archivo, sino que simplemente se vuelve inaccesible debido a que la cadena FAT para el archivo se borra de borrar un archivo que est actualmente abierto puede conducir a la corrupcin del sistema

de archivos.

INT 21h / AH = 42h . - BUSCA - fijar posicin actual del fichero de entrada: AL = origen del movimiento: 0 . - Inicio de expediente 1 . - posicin actual del fichero 2 . - final del archivo BX . = identificador de archivo CX: DX = desplazamiento . desde el origen de la posicin del nuevo archivo de Retorno: CF claro si tiene xito, DX: AX . = Posicin nuevo archivo en bytes desde el comienzo del archivo CF . establecido en el error, AX = cdigo de errorNotas: los orgenes 1 y 2 , el puntero puede ser coloca antes del inicio del archivo, sin error se devuelve en ese caso, pero los intentos posteriores para leer o escribir el archivo se producirn errores. Si la nueva posicin est ms all del final actual del archivo, el archivo se ampliar por la siguiente escritura (vase AH = 40h ). ejemplo:

org 100h mov ah , 3 canales mov cx , 0 mov dx , compensar nombre de archivo mov ah , 3 canales int 21h ; crear el archivo ... mov manija, hacha mov bx , asa mov dx , compensado datos mov cx , DATA_SIZE mov ah , 40h int 21h ; escribir en el archivo ... mov al , 0 mov bx , asa mov cx , 0 mov dx , 7 mov ah , 42h int 21h ; buscar ... mov bx , asa mov dx , compensar tampn mov cx , 4 mov ah , 3FH int 21h ; leer desde el archivo ... mov bx , asa mov ah , 3EH int 21h ; cerca archivo ... ret Nombre de archivo db "miarchivo.txt" , 0 manejar dw ?

datos db "hola archivos!" DATA_SIZE = $ - compensacin de datos tampn db 4 dup ( '' )

INT 21h / AH = 47h . - obtener el directorio actual de entrada: DL = nmero de unidad (00h = por defecto, 01h = A:, etc) DS: SI -> 64-byte buffer para nombre de ruta ASCIZ. Regreso: Llevar est claro si tiene xito Carryse establece en el error, AX = cdigo de error (0Fh) Notas: la ruta devuelta no incluye una unidad de disco y la barra invertida inicial.

INT 21h / AH = 4 canales - Control de retorno al sistema operativo (STOP).

INT 21h / AH = 56h . - cambiar el nombre de archivo / archivo de movimiento de entrada: DS: DX -> ASCIZ nombre de archivo existente. ES: DI . -> ASCIZ nuevo nombre de archivo devuelto: CF . claro si tiene xito CFestablecido en el error, AX = error . cdigo Nota: permite moverse entre directorios en la unidad lgica slo mismas, abrir archivos no deben cambiar el nombre!

interrumpe Mouse Driver - INT 33h

INT 33h / AX = 0000 - ininialization ratn. cualquier puntero del ratn anterior est oculto. retornos: si tiene xito: AX = 0FFFFh y BX . = nmero de botones del ratn si hay un error: AX = 0 ejemplo:
mov ax , 0 int 33h

vase tambin: mouse.asm en los ejemplos.

INT 33h / AX = 0001 . - puntero del ratn espectculo ejemplo:

mov ax , 1 int 33h

INT 33h / AX = 0002 - ocultar el puntero del ratn visible. ejemplo:

mov ax , 2 int 33h

INT 33h / AX = 0003 . - get posicin del ratn y el estado de sus botones devuelve: si el botn izquierdo abajo: BX = 1 si el botn derecho abajo: BX = 2 si ambos botones estn abajo: BX = 3 CX = x DX = y ejemplo:
mov ax , 3 int 33h

INT 10h / AH = 2 - Posicin de conjunto cursor. de entrada: DH = fila. DL = columna. BH = nmero de pgina (0 .. 7). ejemplo:
mov dh , 10 mov dl , 20 mov bh , 0 mov ah , 2 int 10h

INT 10h / AH = 03h - obtener la posicin del cursor y el tamao. de entrada: BH = nmero de pgina. retorno: DH = fila. DL = columna. CH = lnea inicial del cursor. CL = lnea inferior del cursor.

INT 10h / AH = 05h - pgina de seleccin de vdeo activa. entrada: AL . = nuevo nmero de pgina (0 .. 7) de la pgina activa se muestra.

INT 10h / AH = 06h - scroll ventana hacia arriba. INT 10h / AH = 07h - desplcese hacia abajo la ventana. de entrada: AL . = nmero de lneas que se realiza desplazamiento (00h = toda la ventana transparente) BH = atribuyen . utiliza para escribir lneas en blanco en la parte inferior de la ventana de CH, CL . = fila, columna de la esquina superior izquierda de ventana DH, DL fila = , columna de la esquina inferior derecha de la ventana.

INT 10h / AH = 08h - leer el carcter y atributo en la posicin del cursor. de entrada: BH . = nmero de pgina retorno: AH = atributo . AL = carcter.

INT 10h / AH = 09h - escribir el carcter y atributo en la posicin del cursor. de entrada: AL . carcter = para mostrar BH = nmero de pgina. BL = atributo . CX = nmero de veces para escribir caracteres.

INT 10h / AH = 0AH - escritura nico personaje en la posicin del cursor. de entrada: AL . carcter = para mostrar BH = nmero de pgina. CX = nmero de veces para escribir caracteres.

INT 10h / AH = 0Ch - cambie el color de un solo pxel. de entrada: AL = pxel de color CX . columna = DX = fila. ejemplo:
mov al , 13h mov ah , 0 int 10h ; conjunto de grficos del modo de vdeo. mov al , 1100b mov cx , 10 mov dx , 20 mov ah , 0CH int 10h ; pixel set.

INT 10h / AH = 0Dh - obtener color de un solo pxel. de entrada: CX . columna = DX . = fila de salida: AL = pxel de color

INT 10h / AH = 0Eh - Salida de teletipo. de entrada: AL = carcter a escribir. funciona esta muestra un carcter en la pantalla, el avance del cursor y el desplazamiento de la pantalla segn sea necesario. la impresin se hace siempre a la corriente activa pgina. ejemplo:

mov al , 'a' mov ah , 0EH int 10h ; Nota: en sistemas especficos esta ; Funcin no puede utilizarse en modo grfico.

INT 10h / AH = 13h - escritura cadena. de entrada: AL = modo de escritura: bit 0 : cursor actualizacin despus de la escritura; bit 1 : cadena contiene atributos . BH . = nmero de pgina BL = atributo . si la cadena contiene slo caracteres (bit 1 de AL es cero) CX = nmero de caracteres en string (atributos no se cuentan). DL, DH = columna, fila donde se va a empezar a escribir. ES: BP apunta a string para ser impreso.

ejemplo:
mov al , 1 mov bh , 0 mov bl , 0011_1011b

mov cx , msg1end - compensar msg1 ; calcular el tamao del mensaje. mov dl , 10 mov dh , 7 empuje cs pop es mov pb , compensar msg1 mov ah , 13h int 10h jmp msg1end msg1 db "hola, mundo!" msg1end:

INT 10h / AX = 1003h - Intensidad de palanca / parpadeando. de entrada: BL = modo de escritura: 0 : habilitar colores intensos. 1 :. permitir a parpadear (no soportado por el emulador y ventanas de smbolo del sistema) BH = 0 (para evitar problemas en algunos adaptadores).

ejemplo:
mov ax , 1003h mov bx , 0 int 10h

bit tabla de colores: atributo de carcter es de 8 bit con valor, bajo 4 bits puestos tanto en color, de alta 4 bits fijados color de fondo. nota: el emulador y ventanas de lnea de comandos del sistema no son compatibles con fondo de parpadear, sin embargo, para que los colores tienen el mismo aspecto en dos y en el modo de pantalla completa es necesario desactivar el fondo de parpadear.
COLOR HEX BIN

0 0000 negro 1 0001 azul 2 0010 verde 3 0011 cyan 4 rojo 0100 5 0101 magenta 6 0110 marrn 7 0111 gris claro 8 1000 gris oscuro 9 1001 azul claro A 1010 luz verde B 1011 cian claro C 1100 luz roja D 1101 magenta claro E 1110 amarillo F 1111 blanco

nota:
, El uso de este cdigo para la compatibilidad con DOS / cmd indicador del modo de pantalla completa: mov ax , 1003h mov bx , 0 , deshabilitar parpadear. int 10h

11h INT - obtener la lista de BIOS del equipo. regreso: AX = equipo BIOS lista de palabras, de hecho esta llamada devuelve el contenido de la palabra en 0040h: 0010h. Actualmente esta funcin se puede utilizar para determinar el nmero de serie instalada de unidades de disquete.
Los campos de bits para el BIOS detecta el hardware instalado: bit (s) Descripcin 15-14 Nmero de dispositivos paralelos. 13 Reservado. 12 puertos juego instalado. Nmero 11-9 de dispositivos serie. 8 Reservados. 7-6 Nmero de unidades de disco flexible (menos 1): 00 solo disquete; 01 dos disquetes; 10 tres discos; 11 cuatro disquetes.

5-4 Modo vdeo inicial: 00 EGA, VGA, PGA, o de otro tipo con BIOS de video a bordo; 01 40x25 de color CGA. 10 80x25 CGA color (por defecto emulador). 11 80x25 texto mono. 3 Reservado. 2 PS / 2 para ratn est instalado. Un coprocesador matemtico instalado. 0 Ajuste al arrancar desde un disquete.

You might also like