143
MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS ÍNDICE GENERAL Introducción Referencia de funciones de bios Áreas de datos comunes y tablas Las funciones de bios Referencia de funciones de dos Áreas de datos comunes y tablas Las funciones de dos Índice de materia

interrupciones

Embed Size (px)

DESCRIPTION

interuppciones emu 8086

Citation preview

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

ÍNDICE GENERAL

Introducción

Referencia de funciones de bios Áreas de datos comunes y tablas

Las funciones de bios

Referencia de funciones de dos Áreas de datos comunes y tablas

Las funciones de dos

Índice de materia

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INTRODUCCIÓN Este libro ha sido planeado como un manual de consulta rápida de las funciones de BIOS y DOS y su uso. Como todas las llamadas de funciones de BIOS y DOS tiene la misma forma, no se dan ejemplos del uso de llamadas individuales de BIOS y DOS. La información de este manual fue compilada a partir de la más amplia gama de fuentes, y se hicieron todos los esfuerzos posibles para asegurar su exactitud técnica y su vigencia. La explicación de cada función de BIOS y DOS se lista en orden numérico hexadecimal ascendente, con base en los números de interrupción, función y, si se requiere subfunción. Además de una corta descripción de la función y su propósito, se proporciona la siguiente información. Llamada La disposición de los registros antes de la llamada a la función. Devuelve La disposición de los registros al volver de la función. Comentarios Sugerencias y breves comentarios explicativos acerca de la función y su uso. Para la función de DOS, se indica la versión en la que apareció cada una. Este manual ha sido desarrollado para ayudar al lector recordándole los propósitos y disposición de los registros de diversas funciones de DOS y BIOS. Como material de consulta mas detallado, recomendamos los siguientes libros:

DOS Programmer´s Referente. Using Assembly Language.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

(FUN)(SUBFUNC) BIOS DOS Int AH AL Proposition # 00 Dividir entre cero # 01 Interrupción de un solo paso # 02 No enmascarable # 03 Interrupción de un punto de interrupción # 04 Desborde aritmético # 05 Imprimir pantalla # 06,

07 Reservado

# 08 Cronometro del sistema # 09 Teclado # 0A Reservado # 0B Comunicaciones # 0C Comunicaciones # 0D Controlador del disco duro # 0E Manejo de disquetes # 0F Manejo de impresora 10 00 Fijar modelo de video 01 Fijar tipo del cursor 02 Fijar posición del cursor 03 Leer posición y configuración del cursor 04 Leer posición de la pluma fotosensible 05 Seleccionar pagina de presentación visual

activa 06 Desplazar la ventana hacia arriba 07 Desplazar la ventana hacia abajo 08 Leer carácter y atributo 09 Escribir carácter y atributo 0A Escribir carácter en el cursor 0B Fijar paleta de colores 0C Escribir píxel para grafico 0D Leer píxel para grafico 0E Escribir texto en modo de teletipo 0F Obtener modo de presentación actual 10 Fijar registros de paleta 11 Generador de caracteres 13 Escribir cadena 11 Obtener estado del equipo 12 Obtener tamaño de la memoria 13 00 Restablecer sistema de disquetes 01 Obtener estado del sistema de disquetes 02 Leer disquetes 03 Escribir sectores de disco 04 Verificar sectores de disco 05 Dar formato a pista del disco

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

BIOS DOS Int AH AL Proposition # 06,07 Reservado X 08 Devolver parámetros de unidad de disco X 09 Asignar valores iniciales a la tabla de disco

duro X 0A Leer sector largo X 0B Escribir sector largo X 0C Buscar cilindro X 0D Otra forma de restablecer el disco # 0E-

14 Reservado

X 15 Devolver tipo de DASD X 16 Leer estado de línea de cambio de disco X 17 Fijar tipo de DASD para dar formato al

disco X 18 Fijar tipo de medio de almacenamiento

para dar formato X 14 00 Preparar puerto de comunicaciones X 01 Escribir caracteres en puerto de

comunicaciones X 02 Leer carácter del puerto de

comunicaciones X 03 Solicitar estado del puerto de

comunicaciones X 04 Preparación ampliada (PS/2) X 05 Control del puerto de comunicaciones

ampliado (PS/2) # 15 00 Encender motor de casete # 01 Apagar motor de casete # 02 Leer bloque de datos de unidad de casete # 03 Escribir bloque de datos en unidad de

formato X 0F Interrupción periódica de unidad de

formato (PS/2) X 21 Bitácora de errores en autoprueba de

encendido (PS/2) X 4F Interrupción del teclado X 80 Abrir dispositivo X 81 Cerrar dispositivo X 82 Terminación de programa X 83 Espera de eventos X 84 Soporte de palanca de mando X 85 Tecla de solicitud de sistema presionada X 86 Espera X 87 Mover bloque X 88 Obtener tamaño de memoria ampliada X 89 Conmutar procesador al modo protegido X 90 Dispositivo ocupado

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

X 91 Interrupción completa X C0 Devolver parámetros de configuración del

sistema X C1 Devolver dirección de segmento de EBDA X C2 Interfaz de BIOS con el dispositivo

apuntador X C3 Habilitar/inhabilitar tiempo de espera del

cronometro principal X C4 Seleccionar opción programable X 16 00 Leer carácter de teclado 01 Leer estado del teclado 02 Devolver banderas de teclado BIOS DOS Int AH AL Proposition 05 Escribir en buffer del teclado 10 Obtener digitación 11 Verificar teclado 16 12 Obtener banderas de estado del teclado 17 00 Escribir caracteres de impresora 01 Preparar puerto de impresión 02 Solicitar estado de puerto de impresión 18 Ejecutar ROM BASIC 19 Arranque en caliente del sistema 1A 00 Obtener contador de reloj 01 Fijar contador de reloj 02 Leer reloj de tiempo real 03 Fijar reloj de tiempo real 04 Leer fecha de reloj de tiempo real 05 Fijar fecha de reloj de tiempo real 06 Fijar alarma de sistema 07 Inhabilitar del alarma del reloj de tiempo

real 1B Dirección del manejo de ctrl-Break 1C Interrupción del tictac del cronometro 1D Tabla de parámetro para la inicialización

del video 1E Tabla de parámetro para la inicialización

del disco 1F Tabla de proyecto de bits de caracteres de

despliegue grafico 20 Terminar programa 21 00 Terminar programa 01 Entrad del teclado con eco 02 Mostrar salida 03 Entrada auxiliares 04 Salida auxiliares 05 Salida de impresora 06 E/S directa de la consola 07 Entrada STDIN directa 08 Entrada STDIN

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

09 Mostrar cadena 0A Entrada STDIN almacenada

temporalmente 0B Verificar estado de STDIN 0C Despejar buffer y entrada 0D Reinicio de disco 0E Seleccionar disco 0F Abrir archivo (FCB) 10 Cerrar archivo (FCB) 11 Buscar la primera entrada (FCB) 12 Buscarla siguiente entrada (FCB) 13 Borrar archivo (FCB) 14 Leer archivo secuencial (FCB) 15 Escribir archivo secuencial (FCB) 16 Crear archivo (FCB) 17 Renombrar archivo (FCB) 18 Reservado 19 Obtener unidad por emisión 1A Fijar dirección de DTA 1B Obtener información de la tabla de

asignación BIOS DOS Int AH AL Proposition x 1C Obtener información de la tabla de

asignación para una unidad especifica # 21 1D,

20 Reservado

X 21 Lectura de archivo aleatorio (FCB) X 22 Escritura de archivo aleatorio (FCB) X 23 Obtener tamaño de archivo (FCB) X 24 Fijar campo de registro aleatorio (FCB) X 25 Establecer vector de interrupciones X 26 Crear PSP X 27 Lectura de bloque aleatorio (FCB) X 28 Escritura de bloque aleatorio (FCB) X 29 Análisis sintáctico de nombre de archivo X 2A Obtener fecha de el sistema X 2B Establecer fecha del sistema X 2C Obtener hora del sistema X 2D Establecer hora del sistema X 2E Ajustar bandera de verificación X 2F Obtener dirección de DTA X 30 Obtener numero de versión de DOS X 31 Terminar y permanecer residente # 32 Reservado X 33 Obtener/establecer valores del sistema # 34 Reservado X 35 Obtener vector de interrupción X 36 Obtener espacio libre del disco

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

# 37 Reservado X 38 Obtener/establecer información del país X 39 Crear subdirección X 3A Eliminar subdirección X 3B Establecer directorio X 3C Crear/truncar archivo (control) X 3D Abrir archivo (control) X 3E Cerrar archivo (control) X 3F Leer archivo o dispositivo (control) X 40 Escribir en archivo o dispositivo (control) X 41 Borrar archivo X 42 Mover apuntador de archivo X 43 Obtener/establecer símbolos de archivo X 44 00 IOCTL: obtener información del dispositivo X 01 IOCTL: establecer información del

dispositivo X 02 IOCTL: lectura de dispositivo de caracteres X 03 IOCTL: escritura de dispositivo de

caracteres X 04 IOCTL: lectura de manejador de bloques X 05 IOCTL: escritura de manejador de bloques X 06 IOCTL: obtener estado de entrada X 07 IOCTL: obtener estado de salida X 08 IOCTL: ¿dispositivo de bloque removible? X 09 IOCTL: dispositivo de bloque ¿local o

remoto? X 0A IOCTL: control ¿local o remoto? X 0B IOCTL: establecer rendimientos de

compartimientos X 0C IOCTL: E/S genérica para controlador X 0D IOCTL: E/S genérica para dispositivos de

bloque X 0E IOCTL: obtener mapa de unidad lógica X 0F IOCTL: establecer mapa de unidad lógica X 45 Duplicar control X 46 Forzar duplicación del control X 47 Obtener dirección actual X 48 Asignar hora X 49 Liberar memoria X 4A Modificar asignación de memoria X 4B 00 Ejecutar programa (EXEC) X 03 Cargar superposición X 4C Terminar con código de remoto X 4D Obtener código de remoto X 4E Buscar la primera coincidencia X 4F Buscar la siguiente coincidencia # 50-53 Reservado X 54 Obtener bandera de verificación

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

# 55 Reservado X 56 Renombrar archivo X 57 00 Obtener fecha y hora del archivo X 01 Establecer fecha y hora del archivo # 58 Reservado X 59 Obtener información ampliada del error X 5A Crear archivo temporal X 5B Crear archivo X 5C Establecer acceso de archivo # 5D Reservado X 5E 00 Obtener nombre de la maquina X 02 Establecer configuración de la impresora X 03 Obtener configuración de impresión X 5F 02 Obtener entrada de la lista de redirección X 03 Redirigir dispositivo X 04 Cancelar redirección # 60,61 Reservado X 62 Obtener dirección de PSP X 63 00 Obtener tabla de primeros bytes del

sistema X 01 Fijar bandera de consola provisional X 02 Obtener bandera de consola provisional X 64 Reservado X 65 Obtener información ampliada del país X 66 01 Obtener pagina de código global X 02 Establecer pagina de código global X 67 Establecer conteo de controles X 68 Desalojar buffer X 69,

6B Reservado

# 6C Abrir/crear de manera ampliada X 22 Dirección de terminación X 23 Vector de interrupción Ctrl-C X 24 Vector de error critico X 25 Lectura de disco absoluta X 26 Escritura de disco absoluta X 27 Terminar y permanecer residente X 2F 01 00 Verificación de instalación para imprimir X 01 Someter archivo para impresión x 02 Quitar archivo de la cola de impresión X 03 Quitar todos los archivo de la cola de

impresión X 04 Detener la cola de impresión para obtener

estado X 05 Reiniciar cola de impresión # B7 00 Verificación de instalación para APPEND # 33 Ratón de Microsoft # 5C Interfaz NETBIOS

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

# 67 40 Obtener estado EMM (manejo de memoria ampliada)

# 41 Obtener segmento de marco de pagina # 42 Obtener numero de paginas # 43 Obtener control/asignar memoria # 44 Presentar mapa de memoria # 45 Liberar control y memoria # 46 Obtener versión de EMM # 47 Guardar contexto de transformación # 48 Restablecer contexto de transformación # 49 Reservado # 4A Reservado # 4B Obtener numero de control de EMM # 4C Obtener paginas que abarca el control # 4D Obtener paginas para todos los controles # 4E 00 Obtener registros de transformación de

paginas # 01 Establecer registros de transformación de

paginas # 02 Obtener/establecer registros de

transformación de paginas # 03 Obtener tamaño de arreglo de

transformación de paginas # 4F Obtener/fijar transformación parcial de

pagina # 50 Trasformar/no transformar paginas de

controles múltiples # 51 Reasignar paginas # 53 Obtener/establecer nombre de control # 54 Obtener dirección de controles # 55 Modificar transformación y salto de pagina # 56 Modificar transformación y llamado de

pagina # 57 Mover/intercambiar región de memoria # 58 Obtener arreglo de dirección física

transformable # 59 Obtener información de hardware de

memoria # 5ª Asignar nuevas paginas # 5B Alternar conjunto de registros de

transformación de paginas # 5C Preparar hardware de memoria ampliada # 5D Habilitar/inhabilitar conjunto de funciones

OS/E # 70 Interrupción de reloj de tiempo real # # #

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Las funciones BIOS (Basic Input/Output System, sistema de entrada y salida básico) son el nivel fundamental de cualquier computador PC o compatible. Las funciones BIOS incorporan las operaciones básicas requeridas para el uso exitoso de los recursos de hardware del computador.

ÁREAS DE DATOS COMUNES Y TABLAS En esta sección contiene tablas descriptivas para áreas de datos y otra información mencionada a lo largo de la referencia de funciones de BIOS. Tabla 1. Modos de presentación de video

Moda Tipo Adaptador Definición Caja Cars Cols

00h Texto CGA[3] EGA[2,3] MCGA VGA[1]

320x200 320x350 320x400 360x400

8x8 8x14 8x16 9x16

40x25 40x25 40x25 40x25

16 16 16 16

01h Texto CGA EGA[2] MCGA VGA[1]

320x200 320x350 320x400 360x400

8x8 8x14 8x16 9x16

40x25 40x25 40x25 40x25

16 16 16 16

02h Texto CGA[3] EGA[2,3] MCGA VGA[1]

640x200 640x350 640x400 720x400

8x8 8x14 8x16 9x16

80x25 80x25 80x25 80x25

16 16 16 16

03h Texto CGA EGA[2] MCGA VGA[1]

640x200 640x350 640x400 720x400

8x8 8x14 8x16 9x16

80x25 80x25 80x25 80x25

16 16 16 16

04h Grafico CGA/EGA/ MCGA/VGA

329x200 8x8 40x25 4

05h Grafico CGA/EGA[3] MCGA/VGA

320x200 320x200

8x8 8x8

40x25 40x25

4 4

06h Grafico CGA/EGA/ MCGA/VGA

640X200 8x8 80x25 2

07h Texto MDA/EGA/ VGA[1]

720X350 720x400

9x14 9x16

80x25 80x25

Mono Mono

Moda Tipo Adaptador Definición Caja Cars Cols

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

08h Grafico PCjr 160x200 8x8 20x25 16 09h Grafico PCjr 320x200 8x8 40x25 16 0Ah Grafico PCjr 640x200 8x8 80x25 4 0Bh -RESERVADO- 0Ch -RESERVADO- 1 0Dh Grafico EGA/VGA 320x200 8x8 40x25 16 0Eh Grafico EGA/VGA 640x200 8x8 80x25 16 0Fh Grafico ECA/VGA 640x350 8x14 80x25 Mono 10h Grafico ECA/VGA 640x350 8x14 80x25 16 11h Grafico MCGA/VGA 640x480 8x16 80x30 2 12h Grafico VGA 640x480 8x16 80x30 16 13h Grafico MCGA/VGA 320x200 8x8 40x25 256

Cars. Caracteres Cols. Colores [1] Modo VGA ampliador, de otra forma, el VGA puede emular las características ya sea de CGA o de EGA para este modo. [2] Modo EGA al conectarse a una pantalla de color ampliada, de otra forma, emula las características de CGA para este modo. [3] Denota tonos de gris. Tabla 2. Palabra de estado del equipo Bit Significado0 Unidad de disco instalada = 1 1 Coprocesador matemático instalado = 1 2-3 RAM del tablero de sistema

00 = 16K 01 = 32K 10 = 48K 11= 64K

2 Dispositivo apuntador instalado = 1(PS/2) 3 No se usa (PS/2) 4-5 Modo de video inicial

01 = 40 x 25 color 10 = 80 x 25 color 11 = 80 x 25 monocromático

6-7 Numero de unidades de disco (si el bit 0 = 1) 00 = 1 unidad conectada 01 = 2 unidades conectadas 10 = 3 unidades conectadas 11 = 4 unidades conectadas

8 No se usa 9-11 Numero de tarjetas conectadas para puerto

en serie 12 Adaptador de juegos instalados = 1 12 No se usa (PS/2) 13 No se usa 13 MODEM interno instalado = 1 (PS/2)

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

14-15 Numero de impresoras conectadas Tabla 3. Bits de estado del controlador del disco 76543210 Significado. . . . . . .1 Orden invalida para el controlador . . . . . .1. Marca de dirección no encontrada

(sector dañada) . . . . . .11 Disco protegido contra escritura . . . . . 1. . Sector solicitado no encontrado . . . . . 11 . Línea de cambio de disquete activa . . . . 1 . . . Desbordamiento de capacidad de DMA

(acceso en modo directo) . . . . 1 . .1 Intento en DMA a través de la frontera

De 64k . . . .11 . . Medios inválidos . . .1 . . . . Error de CRC (verificación de redundancia

Cíclica) en lectura del disco . . 1 . . . . . Error del controlador . 1 . . . . . . Falla en la búsqueda 1 . . . . . . . Tiempo pedido para el disco

(unidad no preparada)

Tabla 4. Bits de estado de puerto 76543210 Significado. . . . . . . 1 Datos preparados . . . . . . 1 . Error de desbordamiento de capacidad . . . . . 1 . . Error de paridad . . . . 1 . . . Error de formulación . . . 1 . . . . Interrupción detectada . . 1 . . . . . Registro de detección para transmisión

(THR) vació . 1 . . . . . . Registro de desplazamiento para transmisión

(TRS) vació 1 . . . . . . . Tiempo de espera Tabla 5. Bits de estado del MODEM 76543210 Significado. . . . . . . 1 Cambio en estado de CLEAR to Send (CTS)

(despejado para enviar) . . . . . . 1 . Cambio en estado de Datos Set Ready (DRS)

(conjunto de datos preparados) . . . . . 1 . . Indicador de llamada de extremo final . . . . 1 . . . Cambio en la señal de línea de recepción . . . 1 . . . . Clear to Send (CTS) (despejado para enviar) . . 1 . . . . . Data Set Ready (DRS) (conjunto de datos

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

preparado) . 1 . . . . . . Indicador de llamada 1 . . . . . . . Señal de línea de detección detenida Tabla 6. Código de retorno de servicio de casete Código Significado00h Orden valida 01h Error de CRC 02h Perdida de transiciones de datos 03h Ningún dato localizado en cinta 04h Datos no encontrados (solo PCjr) 86h Ningún puerto de casete disponible

Tabla 7. La tabla de descriptor global (GDT) Desplazamiento Descripción00h Ficticio (vale cero) 08h Localidad del segmento de datos de GDT

(vale cero) 10h Apuntador de GDT fuente 18h Apuntador de GDT destino 20h Apuntador al segmento de código de BIOS

con valor inicial de cero. BIOS usará ésta área para crear el segmento de código de modo protegido

28h Apuntador al segmento de pila de BIOS.com valor inicial de cero. BIOS usará esta área para crear el segmento de pila de modo protegido

Disposición de GDT fuente/destino Desplazamiento Descripción00h Limites de segmento 02h dirección física de segmento de 24 bits 05h Derechos de acceso a datos (vale por 93h) 06h Palabra reserva (debe ser 0) Tabla 8. Bits de estado e impresión 76543210 Significado . . . . . . . 1 Tiempo de espera . . . . . xx . No se usa . . . . 1 . . . Error de E/S . . . 1 . . . . Impresión seleccionada . . 1 . . . . . Falta papel . 1 . . . . . . Reconocido 1 . . . . . . . Impresora no ocupada

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 10/00 Set Video Mode (fijar modo de video) –fija el modo de presentación usado por el adaptador de video Llamada 00h Modo de despliegue (véase Tabla1) Devuelve Nada Comentarios Fija el modo de video, despeja en pantalla y selecciona el adaptador de video(si hay más de uno). Para evitar que se despeje la pantalla en sistemas EGA, MCGA y VGA, fije el bit 7 de AL en 1. Set Cursor Type (fijar tipo del curso) –fija la altura del cursor de video Llamada AH 01h CH Línea inicial de examinación (limite superior) en bits 0 – 4 CL línea final de examinación (limite inferior) en bits 0-4 Devuelve Nada Comentarios

INT 10/01

Fija el tipo del cursor de modo de texto especificando las líneas de examinación inicial y final, comenzando con la línea 0. para modos monocromáticos, la línea de examinación inicial por omisión es 0Bh, y la final es 0Ch. Para modos de color, la línea de examinación inicial por omisión es 06h, y la determinación es 07h.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 10/02

Set Cursor Position (fijar posición del cursor) Llamada AH 02h CH Numero de pagina (0 para modos gráficos) DH Renglón DL Columna Devuelve Nada Comentarios Se usa para colocar el cursor en una posición específica. Las posiciones se definen en relación con la superior izquierda (0,0) cuando la pantalla está en modo de texto. La esquina inferior izquierda es (79,24) en el modo de texto 80 x 25, y (39,24) en el modo 40 x 25. Paginas Modos Adaptadores0-7 00h, 01h CGA, EGA, MCGA, VGA 0-3 02h, 03h CGA 0-7 02h, 03h EGA, MCGA, VGA 0 07h MDA 0-7 07h EGA, VGA Read Cursor Position and Configuration (leer posición y configuración del cursor) Llamada AH 03h BH Número de página Devuelve BH Número de página de video CH Línea de examinación inicial para el cursor CL Línea de examinación final para el cursor DH Renglón DL Columna Comentarios

INT 10/03

Obtiene las líneas de examinación inicial y final para el cursor, y la actual posición de este. Devuelve los mismos valores usados para colocar el cursor con int. 10/02.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 10/04 Read Light Pen Position (leer posición de la pluma luminosa) Llamada AH 01h Devuelve : AH 0, Pluma luminosa no accionada 1, Pluma luminosa accionada BX Columna de píxeles (0 a 319 ó 0 a 639, según el modo) CH Renglón de píxeles (0 a 1999 CX Renglón de píxeles (0-nn, según el modo) DH Renglón de caracteres (0 a 21) DL Columna de caracteres (0 a 79 o 0 a 39, Según el modo) Comentarios: Lee el estado y la posición de la pluma luminosa. Devuelve información valida solo si la pluma luminosa ha sido accionada (AH = 1). La pluma luminosa devuelve una posición vertical con solo dos líneas de precisión. La precisión horizontal no va mas allá de dos (320 píxeles por línea ) o cuatro píxeles (640 píxeles por línea). Los sistemas PS/2TM (MCGA O VGA) no admiten pluma luminosa (AH siempre devolverá 00H)

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 10/05

Select Active Display Page (seleccionar pagina de presentación visual activa9 Llamada: AH 05h

AL Numero de pagina seleccionada (véase la tabla que aparece en Comentarios)

Devuelve: Nada Comentarios Selecciona la pagina de video (presentación visual) activa. Trabaja con adaptadores de CGA, MCGA, EGA o VGA, pero no puede usarse con adaptadores monocromos, que solo tiene una pagina de memoria para presentación visual. Los número de pagina validos son Paginas modos Adaptadores 0-7 00h,01h CGA, EGA, MCGA, VGA 0-3 02h,03h CGA 0-7 02h,03h EGA, MCGA, VGA 0-7 07h,0Dh EGA, VGA 0-3 0Eh EGA, VGA 0-1 0Fh,10h EGA, VGA

INT 10/06 Scroll Windows Up (Desplazar la ventana hacia arriba) Llamada AH 06h AL Números de renglones por desplazar BH atributo usado para área en blanco CH renglón, esquina superior izquierda CI Columna, esquina superior izquierda DH Renglón, esquina inferior derecha DL Columna, esquina inferior derecha Devuelve Nada Comentarios Despeja de una ventana con un atributo especifico, o desplaza la ventana hacia arriba determinado número de renglones. todos los renglones de la ventana se desplazan hacia arriba y se añaden renglones en blanco en la parte inferior. Para despejar una ventana, fije AL en 0 o en un valor mayor que el número de renglones de la ventana.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 10/07 Scroll Window Down (Desplazar la ventana hacia abajo) Llamada AH 07h AL Número de lineas por desplazar BH Atributo usado para área en blanco CH Renglón, esquina superior izquierda CL Columna, esquina superior izquierda DH Renglón, esquina inferior derecha DL Columna, esquina inferior derecha Devuelve Nada Comentarios Funciona exactamente igual que 10/06, pero los renglones de la ventana se desplazan hacia abajo INT 10/08 Rend Carácter Atribute (Leer carácter y atributo) Llamada AH 08h BH Página de presentación visual Devuelve AH Byte de atributo AL Carácter ASCII Comentarios Lee los bytes de carácter y atributo (para una pagina de pantalla especifica) en la posición actual del cursor.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 10/09

Write Carácter and Attribute (escribir carácter y atributo) Llamada AH 09h AL carácter ASCII BH Pagina de representación visual BL Byte de atributo del carácter en AL CX Número de caracteres por escribir Devuelve Nada Comentarios Escribe los bytes de carácter ASCII y atributos en la posición del cursor en una pagina especifica de representación. Esta función no cambia la posición del cursor. Escribe hasta 65 5360 caracteres en modo de texto. Con forme la función escribe caracteres, cambia de renglón al terminar cada uno. En el modo de graficación, la función solo va al final del renglón en curso y el byte de atributo de video asignado a BL determina el color del carácter escrito. Si el bit 7 vale 1, se le aplica XOR al valor en BL, con el color del fondo cuando se muestra el carácter.

INT 10/10 Write Carácter at Cursor ( Escribir carácter en el cursor) Llamada AH 0Ah AL Carácter ASCII BH Numero de pagina mostrada BL Color del carácter en AL ( modos de graficación ) CX Numero de caracteres por escribir Devuelve Nada Comentarios Opera exactamente igual que INT 10/09, pero aquí los atributos de la pantalla no se cambian en el modo de texto. Véase la sección Comentarios de INT 10/09 pata mas información.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 10/0B Set Color Palette ( Fijar paleta de color ) Llamada: AH 0Bh BH Identificación de la paleta de color que se esta fijando 0,BL tiene color de fondo y borde 1,BL tiene color de paleta BL Valor del color que se usará Devuelve : Nada Comentarios Esta función selecciona o fija el contenido de la paleta de color y sólo trabaja en pantallas de gráficos de definición media. La función no tiene efecto directo sobre la memoria; afecta la forma en que el contador de TRC 6845 interpreta la memoria de video. En modo de texto, esta función establece el color del borde. Las paletas de color válidas para esta función son:

Paleta Pixel Color 0 0 Igual que el

fondo 1 Verde 2 Rojo 3 Café 1 0 Igual que el

fondo 1 Cianata 2 Magenta 3 Blanco

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 10/0C

Write Graphics Pixel (Escribir píxel para gráficos) Escribe un solo píxel en la pantalla en una coordenada especificada. Llamada AH 0Ch AL Valor del color BH Número de pagina CX Número de columna del píxel DX Número de renglón del píxel Devuelve Nada Comentarios En modos de definición media, el efecto de esta función depende de la paleta en uso, si el bit 7 de AL es 1, al nuevo color se le aplica XOR con el píxel actual. Refiérase a la tabla 1 para detalles en los limites de la pantalla según el modo. INT 10/0D Read graphics píxel (leer píxel para gráficos) Llamada: 0Dh Número de pagina Número de columna del píxel Número de renglón del píxel Devuelve: Valor del color Comentarios: Obtiene el valor del píxel en las coordenadas graficas especificas. Refiérase a la tabla 1 para detalles sobre los limites de dirección de los diversos modos de video. Refiersae a INT 10/0C para los números de pagina válidos que pueden fijarse en BH:

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 10/0E Write Text in Teletype Mode (Escribir texto en modo de teletipo ) Llamada AH 0Fh AL Carácter ASCII BH Pagina de presentación (modo alfa) BL Color del primer plano (modos gráficos) Devuelve Nada Comentarios Escribe texto en la pantalla con procedimiento de caracteres limitado. La función interpreta los códigos ASCII para campana (07h), retroceso (08h), retorno de carro (0Dh) y avance de línea (0Ah). Después de la escritura, el cursor se mueve a la siguiente posición de carácter. Para trabajar en ROM de PC BIOS fechadas 4/24/81 y 10/19/81, el registro BH debe apuntar a la pagina mostrada en es momento.

INT 10/0F

GetCurrent Display Mode (Obtener modo de presentación actual) Llamada AH 0Fh Devuelve AH Número de columnas en pantalla AL Modo de presentación (véase la Tabla 1) BH Página activa de presentación Comentarios Obtiene el modo de presentación del controlador de vídeo, incluyendo el número de columnas y la página actual de presentación.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 10/10 Set palatte Registers (Fijar registros de paleta) controla (Basándose en la subfunción cargada en AL) operaciones sobre los registros de paleta de color dentro de los controladores de video EGA/VGA Llamada AH 10h

AL 00h, fijar registro de paleta BH Valor de color BL Registro de paleta por fijar

AL 01h, fijar registro de color del borde BH Valor de color

AL 02h, fijar todos los registros y el borde ES:DX Apuntador a la lista de color de 17 bytes

AL 03h,parpadeo/intensidad biestable (solo EGA) BL 00h, Habilitar intensidad 01h, Habilitar parpadeo

AL 07h, leer registro de paleta (PS/2) BL Registro de paleta AL 08h, leer registro de sobreexaminación (PS/2) AL 09, leer registros de paleta borde (PS/2). ES:BX Apuntador a tabla de 17 bytes para valores AL 10h, fijar registro individual de color BX Registro de color por fijar CH Valor del verde por fijar CL Valor del azul por fijar

DH Leer valor por fijar AL 12h, fijar bloque de registros de color BX Primer registro de color por fijar CX Número de registro de color por fijar ES:DX Apuntador a valores de color AL 13h, seleccionar página de color BL 00h, seleccionar modo de paginación BH Modo de paginación 00h = 4 bloques de registros de 64 registros 01h = 16 bloques de registros de 16 registros AL 01h, seleccionar página de color

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

BL 01h, seleccionar página BH 00-03h para bloques de 64 registros 00-04h para bloques de 16 registros AL 15h, leer registro de color (PS/2) BX Registro de color por leer. AL 17h, leer bloque de registro de color BX Primer registro de color por leer CX numero de registros de color por leer

ES:DX Apuntador a buffer donde se guardaran los valores de los registros de color

AL 1Ah, leer estado de pagina de color AL 1Bh,sumar valores de color de sombras de gris

BX Primer registro de color por sumar CX Numero de registros de color por sumar

Devuelve subfunciones 07h Y 08h BU Valor leído subfusión 09h ES:DX Apuntador a tabla de 17 bytes subfusión 15h CH Lectura de valor para el verde CL Lectura de valor para el azul DH Lectura de valor para el rojo subfusión 17h ES:DX Apuntador a tabla de color Subfusión 1Ah BL modo de paginación actual CX Pagina actual Comentarios En los sistemas de presentación del PCjrTM, MCGA, EGA, Y VGA, esta función controla la correspondencia de colores con valores de píxel. Esta función es una extensión del BIOS, aplicable a sistemas de presentación EGA/VGA. La explicación detallada de esta función rebasa el alcance de este manual de bolsillo.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 10/11 Carácter Generator (generador de caracteres) – mantiene (basándose en una subfuncion cargada en AL) funciones graficas generadoras de caracteres. Llamada AL 00h,carga alfa al usuario

BH numero de bytes por carácter BL Bloque por cargar CX Cuenta por almacenar DX Desplazamiento del carácter dentro de la tabla ES:BP apuntador a tabla de usuario AL 01h,conjunto monocromático en ROM

BL bloque por cargar AL 02h,ROM 8x8 punto doble BL bloque por cargar AL 03h,fijar especificador de bloque BL selección de bloque de generador de caracteres AL 10h,carga alfa al usuario BH números de bytes por carácter BL bloque por cargar CX cuenta por almacenar DX desplazamiento del carácter dentro de la tabla ES:BP apuntador a tabla de usuario AL 11h,conjunto monocromático en ROM BL bloque por cargar AL 12h,ROM 8x8 punto doble BL bloque por cargar AL 20h,fijar apuntador de caracteres del usuario en 1Fh ES:BP apuntador a tabla de usuario AL 21h,fijar apuntador de caracteres del usuario en 43h BL Especificador de renglón CX Bytes por carácter ES:BP Apuntador a tabla de usuario AL 22h,conjunto 8x 14 en ROM BL Especificador de renglón AL 23h, ROM 8x8 punto doble BL especificador de renglón AL 30h, información del sistema BH apuntador de tipo

Devuelve: Varía de acuerdo a la subfuncion. Comentarios: Esta función es una extensión de BIOS, aplicable a sistemas de presentación EGA/VGA. La explicación detallada de esta función rebasa el alcance de este manual de bolsillo.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 10/13 Write String (escribir cadena) Llamada: AH 13H AL modo de escritura (véase la tabla de la sección comentarios) BH pagina de video BL atributo (modos de escritura 0 y 1) CX longitud de la cadena DH renglón en el cual se escribirá la cadena DL columna en la cual se escribirá la cadena ES:BP Apuntador a cadena Devuelve: Nada Comentarios Dispone sólo en PC XT™ con fechas de BIOS de 1/10/86 o posteriores, en el PC/AT y en el PS/2. Escribe una cadena de caracteres en la pantalla actual. La cadena designada puede tener atributos de caracteres incorporados o globales. El modo (AL) se especifica de la siguiente manera: Modo Comentarios0 Atributo en BL. La cadena es sólo de caracteres. No se

actualiza el cursor. 1 Atributo en BL. La cadena es sólo de caracteres. Se

actualiza el cursor.

2 La cadena alterna caracteres y atributos. No se actualiza el cursor.

3 La cadena alterna caracteres y atributos. Se actualiza el cursor.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 11

Get Equipment Status (Obtener el estado del equipo) Llamada: Nada Devuelve: AX Palabra de estado de equipo (Véase la tabla 2) Comentarios: Durante el proceso de arranque el byte de estado del hardware se fija para indicar el equipo que está conectado con el computador. Como se indica en la tabla 2, el significado de los distintos bits varía de acuerdo con el tipo de computador. Para determinar que tipo de máquina se está usando, verifica el byte de firma del computador en la dirección FFFF:FFFE.

INT 12 Get Memory Size (Obtener el tamaño de la memoria) Llamada: Nada Devuelve: AX Número de bloques de memoria de 1K Comentarios: Devuelve en número de bloques de memoria de 1K contiguos encontrados durante las verificaciones de arranque del sistema.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 13/00

Reset Floppy Disk System (Reestablecer Sistema de Disquetes) Llamada: AH 00h DL Número de unidad (Basado en 0) Bit 7=0 pa disquete; 1 para disco duro. Devuelve: Bandera de acarreo en cero si hubo éxito Bandera de acarreo en uno si hubo error. AH Código de retorno (Refiérase a la tabla 3) Comentarios: Reestablece el disquete en preparación para E/S fijando una bandera de reestablecimiento en el controlador de disco, forzando así a la unidad a tirar de las cabezas hacia la pista 0 para la siguiente operación de disco.

INT 13/01 Get Floppy Disk System Status (Obtener estado del sistema de disquetes) Llamada: AH 01h Devuelve: AH Byte de estado (Véase la tabla 3) Comentarios: El estado del controlador se fija después de cada operación de disco. Con está función, su programa puede obtener el estado del disco después de la operación de disco más reciente.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 13/02

Read Floppy Disk (Leer disquete) Llamada: AH 02h AL Número de sectores por transferir (de 1 a 9) ES:BX Apuntador al buffer de disco del usuario CH Número de pista (0 a 39) CL Número de sector (1 a 39) DH Número de cabeza (0 ó 1) DL Número de unidad (0 a 3) Devuelve: Bandera de acarreo en cero si hubo éxito AL Número de sectores transferidos Bandera de acarreo en uno si hubo error AH Byte de estado (véase Tabla 3) Comentarios: Transfiere uno o más sectores de un disquete a la memoria. Todos los parámetros de entrada deben verificarse cuidadosamente antes de expedir una llamada para servicio; para un valor inválido puede producir resultados impredecibles.

INT 13/03 Write Disk Sectors (Escribir sectores de disco) Llamada: AH 03h AL Número de sectores por transferir (1 a 9) ES:BX Apuntador al buffer de disco del usuarios CH Número de pista (0 a 39) CL Número de sector (1 a 9) DH Número de cabeza (0 ó 1) DL Número de unidad (0 a 3) Devuelve: Bandera de acarreo en cero si hubo éxito AH 0 AL Número de sectores transferidos Bandera de acarreo en uno si hubo error AH Byte de estado (véase la tabla 3) Comentarios: Escribe uno o más sectores de la memoria al disquete. Excepto por el número de unidades de disco, no se verifica la validez de los valores. Pasar un valor inválido puede producir resultados impredecibles.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 13/04 Verify Disk Sectors (Verifica sectores de disco) Llamada: AH 04h AL Número de sectores por verificar (1 a 9) CH Número de pista (0 a 39) CL Número de sector (1 a 9) DH Número de cabeza (0 ó 1) DL Número de unidad (0 a 3) Devuelve: Bandera de acarreo en cero si hubo éxito AH 0 Bandera de acarreo en uno si hubo error AH Byte de estado (véase la tabla 3) Comentarios: La verificación de disco ocasiona que el sistema lea los datos en el sector o sectores designados y verifique si CRC (Cyclic Redundancy Check, verificación de redundancia cíclica) calculada contra los datos almacenados en el disco.

INT 13/05

Format Disk Track (Dar formato a pista del disco) Llamada: AH 05 ES:BX Apuntador a lista de campos de direcciones de pista CH Número de pista DH Número de cabeza DL Número de unidad Devuelve: AH Código de retorno (véase la tabla 3) Comentarios: Da formato a una pista de disco iniciando los campos de dirección de disco y los sectores de datos. La operación de dar formato a disco es controlada por la lista de campos de direcciones de pistas (ES:BX). La tabla está dispuesta como una serie de entradas de 4 bytes (1 para cada sector de la pista) con cada entrada de la manera siguiente:

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Desplazamiento de byte Significativo 00h Número de pista 01h Número de cabeza 02h Número de sector 03h Código de tamaño La siguiente tabla muestra códigos de tamaño permisibles; las entradas están dispuestas en el orden en el que los sectores aparecerán en el disco. Este orden no tiene que ser secuencial. Código de tamaño Bytes por sector 128 256 512 1024 Dar formato a una pista de disco es solo una parte de la tarea de dar formato a todo el disco. Para mayor información sobre el uso de esta función, véase el libro Using Assembly Lenguage publicado por Que Corporation. INT 13/08 Return Disk Drive Parameters (Devolver parámetros de unidad de disco) Llamada: AH 08h DL Número de unidad (basado en 0= Bit 7=0 para disquete; 1 para disco duro Devuelve Bandera de acarreo en cero si hubo éxito CH número de pistas por lado CL Número de sectores por pista DH Número de lados DL Número de unidades consecutivas conectadas ES:BP Apuntador a tabla de parámetros de disquetes de 11 bytes BL Valor de tipo de unidad válido de CMOS 01h=5.25”, 360K, 40 Pistas 02h=5.25”, 1.2M, 80 Pistas 03h=3.5”, 720K, 80 Pistas 04h=3.6”, 1.44M, 80 Pistas

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Bandera de acarreo en uno si hubo error AH Estado de error (véase la tabla 3) Comentarios: Disponible sólo en el PC/AT (BIOS con fecha posterior a 1/10/84) y en el PS/2. Le permite verificar las características del disco en la unidad designada. Al regreso, la tabla apuntada por ES:DI tiene el siguiente formato: Desplazamiento Significado 00h Primer byte de especificación 01h Segundo byte de especificación 02h Número de tictacs de reloj antes de apagar el motor de la unidad 03h Número de bytes por sector 00h=128 02h=512 01h=256 03h=1024 04h Sectores por pista 05h Longitud de marca de terminación 06h Longitud de datos 07h Longitud de marca de terminación para dato 08h Byte de relleno para formato 09h Tiempo de colocación de la cabeza en milisengundos 0Ah Tiempo de arranque del motor en octavos de segundo

INT 13/09 lnitialize Fixed Disk Table (Asignar valores iniciales a la tabla de disco duro) -fija (en sus valores por omisión) los valores de la tabla de disco duro especificada. Llamada AH 09h DL Número de unidad de disco duro Devuelve Bandera de acarreo en cero si hubo éxito AH O Bandera de acarreo en uno si hubo error A H Byte de estado (véase la Tabla 3) Comentarios Use esta funci6n, que solo está disponible en el PCIA T y PSI2 y trabaja solo en disco duro, para fijar los parámetros físicos de la unidad de disco duro. Los números de unidad provienen de una serie especial de números para discos duros (80h corresponde al primer disco, 81h al

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

segundo, ..etc.). El uso de un número de .unidad de disco fuera del intervalo provocará resultados impredecibles. La información de iniciación para la unidad se toma de las tablas de parámetros de disco duro. El vector de interrupción 41 h apunta a la tabla para el disco 1; el vector 46h apunta a la .tabla para el disco 2. Si se hace referencia a algún otro disco, la función devuelve un byte de estado de orden inválida en AH.

INT 13/0A "Read Long Sector (Leer sector largo) Llamada: AH 0AH AL Número de sectores ES,BX Apuntador de buffer de datos CH pista CL sector DH Número de cabeza DL Número de unidad de disco duro Devuelve: Bandera de acarreo en cero .Si hubo éxito AH 0 Bandera de acarreo en uno si hubo error AH Byte de estado (véase la Tabla 3) Comentarios: Disponible sólo en el PC/A T y trabaja sólo en disco duro. Lee sectores largos (Sectores estándar Con 4 bytes de código de corrección de errores). Los números de unidad provienen de una serie especial de números para discos duros (80h corresponde al primer disco, 81H al segundo, etc.). La siguiente tabla proporciona intervalos de parámetros válidos para esta función. Observe que el numero de pista es uno de lO bits almacenado Con los 2 bits de orden alto en CL y los bits de orden inferior en CH. El sector es un número de 6 bits almacenado en bits del O al 5 de CL.

REGISTRO PARAMETRO INTERVALO VALIDO

AL # sector 1 a 121 CH/CL Pista 0 a 1023 CL Sector 1 a 17 DH Cabeza 0 A 15 DL Unidad 80h, 81h, etc.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 13/0B Write Long Sector (Escribir sector largo) Llamada:

AH OBh AL Número de sectores ES:BX Apuntador a buffer de datos CH Pista CL Sector DH Número de cabeza DL Número de unidad de disco duro

Devuelve: Bandera de acarreo en cero si hubo éxito AH O Bandera de acarreo en cero si hubo error AH Byte de estado (véase la Tabla 3) Comentarios Disponible sólo en el PCIA T y trabaja solo en disco duro. Los sectores largos son sectores estándar que contienen cuatro bytes de código de corrección de errores. Los números de unidad provienen de una serie especial de números para discos duros (80h es el primer disco, 8th el segundo, etc). Un número de unida<;l fuera del intervalo provocará a resultados impredecibles

INT 13/0C

Seek Cylinder (Buscar cilindro) Llamada

AH OCh CH Pista de orden inferior CL Pista de orden alto DH Número de cabeza DL Número de unidad de disco duro

Devuelve: Bandera de acarreo en cero si hubo éxito AH 0 Bandera de acarreo en uno si hubo error AH Byte de estado (véase)

Comentarios Disponible sólo en el PCIA T y trabaja sólo en disco duro. Mueve las cabezas de lectura/escritura al cilindro especificado. Los números de unidad provienen de series especiales de números para discos duros (80h corresponde al primer disco. 81 h al segundo, etc.). El uso de un número de unidad de disco fuera del intervalo Provocará resultados impredecibles.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 13/0D

Alternate Disk Reset (Otra forma de restablecer el disco) Llamada:

0Dh Número de unidad de disco duro Devuelve:

Bandera de acarreo en cero si hubo éxito AH 0 Bandera de acarreo en uno si hubo error AH Byte de estado (véase)

Comentarios Disponible sólo en el PClA T Y trabaja solo 01 disco duro. El número de las unidades proviene de una serie especial de números para discos duros (8Oh corresponde al primer disco. 81 h al segundo, de.). El uso de un número de unidad de disco fuera del intervalo provocará resulta-dos impredecibles. Esta función es idéntica a Int 13/00.

INT 13/15 Return DASD (Direct Access Storage Device) Type (Devolver tipo de DASD, dispositivo de almacenamiento de acceso directo) Llamada

AH 15h DL Número de unidad

Devuelve

Bandera de acarreo en cero si hubo éxito AH Tipo de unidad de DASD CX:DX Número de sectores de disco duro Bandera de acarreo en uno si hubo error AH Byte de estado (véase)

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Comentarios Disponible sólo en el PC XT (810S fechado J/1O/86 o posterior), PC XT 286 TM, PClAT o PS/2, Usa números de unidad de BIOS estándar (O = A:, t = B:, etc.) o números de disco duro (80h = primera unidad, 8th = segunda unidad, etc.), Se utiliza para determinar si Int 13/16 puede usarse para probar el cambio de disco. En la siguiente tabla se listan códigos de retorno válidos. El valor devuelto en CX:DX es válido sólo si el tipo de DASD (AH) es 3.

Código Tipo DASD0 La unidad requerida no está disponible 1 Unidad presente, no se puede detectar cambio de disco. 2 Unidad presente, se puede detectar cambio de disco 3 Disco duro

INT 13/16 Read Disk Change status (Leer estado de línea de cambio de disco). Llamada:

AH 16h DL Número de unidad

Devuelve:

Bandera de acarreo en cero si hubo éxito AH 00,disco no cambiado Bandera de acarreo en uno si hubo error AH 00,error AH 06,Disco cambiado

Comentarios Use esta función .que no está disponible en el PC XT (BIOS con fecha 1116/86 o posterior ).PC XT 286. PC XT o PS/2, para determinar si el disco de una unidad ha sido cambiando o eliminar se el disco de una unidad a sido cambiado o eliminado. Esta función usa números de unidad estándar ( 0=A; 1=B; etc) u números sólo de disco duro (80h = primera unidad, 81h= segunda unidad, etc)

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 13/17 Set DASD Type for disk format (fijar tipo de DASD para dar formato al disco) Llamada

AH 17h AL Tipo de formato de DASD(véase la tabla de la sección comentarios) DL Número de unidad (basado en 0).

Devuelve Nada

Comentarios Disponible sólo en el PC XT (81OS con/echa 1110/86 o posterior), PC XT 286, PCIAT o PS/2. Debe llamarse antes de dar formato a un disco. Informa a BIOS del tipo de DASD para operaciones de dar formato A continuación presentamos una lista de los tipos de disco a los que se puede dar formato en el sistema PC/AT: Tipo Significado 1 Da formato a disco de 320!360K en unidad de 3201360K 2 Da formato a disco de 320/360K en unidad de 1.2M 3 Da formato a disco de 1.2M en unidad de 1.2M INT 13/18 Ser Media Type for Format (Fijar tipo del medio de almacenamiento para dar formato) Llamada AH 18h CH Número de pistas (basado en O) CL Sectores por pista DL Número de unidad (basado en O); bit 7 = O para disquete, 1 para disco duro Devuelve Bandera de acarreo en cero si hubo éxito

ES:DI Apuntador a tabla de parámetros de 11 bytes (refiérase a la sección de Comentarios de Int 13/08) Bandera de acarreo en cero si hubo éxito

AH Código de retorno

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Comentarios Disponible sólo en el PC/AT (BIOS con fecha posterior a 11/15/86), PC XT (BIOS con fecha posterior a l /10/86), PC XT 286 y PS/2. Especifica a BIOS el tipo de medio de almacenamiento que puede esperar encontrar en la unidad de disco al dar formato a una pista con Int 13/05. Al usar esta funci6n, observe el uso de CH y CL para especificar la infannaci6n de pista y sector. Véase int 13/0 A para más información.

INT 14/00

Initialize Communications Port (Preparar puerto de Comunicaciones)

Llamada

AH 00h . AL Parámetro de iniciación DX Número de puerto (0=COM l. 1 =COM2); (2 ==COMJ,

3==COM4 en PC/AT)

Devuelve

AH Estado de puerto Al Estado de modem

Comentarios

Se usa para preparar un puerto serial (DX). Especifique cómo debe prepararse el puerto (AL) usando lo siguiente:

BIST 4,3

PARIDADxo=ninguna 01=impar 11=par

BITS 7,6,5 VELOCIDAD EN BAUDS

000 = 100 bauds 001= 150 buads 010= 300 bauds 011 600bauds 100= 1200bauds 101= 2400bauds 110= 4800buads 111= 9600buads

BIT 2 BIT DE ALTO

0=1 bit 1=2 bits

BITS 1,0 LONGITUD DE PALABRA10=7 bits 11=8 bits

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 14/01

Write Character to communications Port (Escribir carácter en puerto de comunicaciones) Llamada: AH 01h Al. Carácter por escribir .DX Número de puerto (0=COM1, l=COM2); (2=COM3, 3=COM4 en PC/AT) Devuelve: AH bit 7 = O (no hubo error) AH bit 7 = 1 (error); los bits O a 6 muestran la causa de la falla (véase la Tabla 4) Comentarios: Escribe un carácter en el puerto serial especificado Y devuelve el estado de éste. Antes de llamar a esta función, asegurase de usar 1nt 14¡OO para preparar el puerto.

INT 14/02

Read Character from Commlmicatior:s Part (Leer carácter del puerto de comunicaciones) Llamada

AH 02h

DX Número de puerto (O=CO_l1. 1=COM2); (2=COM3, 3=COM4 en PC/AT)

Devuelve AH bit 7 = O (no hubo error) Al.. Carácter AH hit 7 = 1 (error); los bits O a 6 muestran la mesa de la falla

(véasela Tabla 4) Comentarios Lee un carácter dc1 puerto serial especificado y devuelve el estado del puerto. Antes de llamar a esta función se debe preparar el puerto.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 14/03

Request communications port status (solicitar el estado del puerto de comunicaciones) Llamada:

AH 03H DX Número de puerto (0=COM1, 1= COM2, 2=COM3,

3=COM4) Devuelve AH Estado del puerto (Véase la Tabla 4) AL Estado del MODEM (Véase la Tabla 5) Comentario: Esta función que devuelve el estado del puerto de comunicación especificada, solicita el estado sin hacer E/S adicional ni efectuar el puerto de alguna otra manera.

INT 14/04

Extended Inialization (PS/2) (preparación ampliada PS/2) Llamada:

AH 04H AL valor de interrupción BH paridad BL bits de alto CH longitud de datos DX Número de puerto (0=COM1, 1= COM2, 2=COM3,

3=COM4) Devuelve AH Estado del puerto (Véase la Tabla 4) AL Estado del MODEM (Véase la Tabla 5) Comentarios Permite una iniciación de puerto serial en el PS/2. las disposiciones de registros posibles para esta función son:

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Reg Significado Disposiciones SignificadoAL Interrupción 00h

01H

No hay interrupción Interrupción

BH Paridad 00H

01H 02h 03H 04H

No hay paridad Paridad impar Paridad par Paridad de adhesión impar Paridad de adhesión par

BL Bits de alto 00H 01H

Un bit de alto 2 bits de alto(11/2 si CH es 00H)

CH Long. de datos 00H 01H 02H 03H

Long. de palabra de 5 bits Long. de palabra de 6 bits Long. de palabra de 7 bits Long. de palabra de 8 bits

CL Velocidad BPS 00H 01H 02H 03H 04H 05H 06H 07H 08H

110 bauds 150 bauds 300 bauds 600 bauds 1200 bauds 2400 bauds 4800 bauds 9600 bauds 19200 bauds

INT 14/05 Extended Communications Port Control (PS/2) (Control del Puerto de Comunicaciones ampliado (PS/2)) Llamada AH 05h

AL Leer o escribir registro de control de modem (00h=leer, 01h=escribir)

BL Registro de control de modem (si AL=01h; véase la Tabla en la sección Comentarios)

DX Número de puerto (0=COM1, 1=COM2, 2=COM3, 3=COM4) Devuelve AH Estado del puerto (véase la Tabla 4)

AL Estado de modem (véase la Tabla 5) BL Registro de control de modem (véase la Tabla de la sección

de Comentarios)

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Comentarios Permite la lectura o escritura del registro de control de modem asociado con el puerto RS-232 deseado. Los bits de BL se definen en la siguiente tabla: 76543210 Significado . . . . . . . 1 Terminal de datos preparada (DTR) . . . . . . 1 . Solicitud de envío (RTS) . . . . . 1 . . Fuera1 (Out1) . . . . 1 . . . Fuera2 (Out2) . . . 1 . . . . Prueba de retroalimentación 111 . . . . . Reservado

INT 15/0F Format Unit Periodic Interrupt (Interrupción periódica de unidad de formato (PS/2)) Llamada AH 0Fh AL Código de fase 00h, reservado 01h, análisis de superficie 02h, dar formato Devuelve Bandera de acarreo en uno, fin del formato o examinación. Bandera de acarreo en cero, continuar formato o examinación. Comentarios Disponible solo en el en el PS/2. se usa para obtener el control después de dar formato o examinar cada cilindro de disco. En ese momento, la rutina de formato solicitara esta interrupción. Si esta función es llamada desde cualquier maquina distinta de una PS/2, la bandera de acarreo adoptara el valor 1 y AH contendrá 80h (PC y PCjr) u 86h (todos los demás) al retorno.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 15/21

Power-On-Self-Test Error Log (Bitácora de errores en autoprueba de encendido). Llamada AH 21h

AL 00h, leer bitácora de errores de la autoprueba de encendido (POST). 01h, escribir código de error en bitácora de errores POST.

BX Código de error POST si AL=01h BH Código de dispositivo. BL Error de dispositivo.

Devuelve Si se lee la bitácora de errores POST(AL=0). Bandera de acarreo en cero si hubo éxito AH 00h BX Números de códigos de error POST almacenados. ESIDI Apuntador a bitácora de errores POST. Bandera de acarreo e uno si hubo error AH 80h, (PCjr y PC). AH 86h, (todos los demás).

Si se escribe un código de error en la bitácora de errores POST(AL=1)

AH 00h Bandera de acarreo en uno si hubo error AH 01h, bitácora de errores POST llena. AH 80h, (PCjr y PC). AH 86h, (todos los demás incluido el PS/2 modelo 30) Comentarios Usada por la autoprueba de encendido (POST) en maquinas PS/2 (excepto el modelo 30) para escribir información en la bitácora de errores interna, o por las rutinas de diagnostico para obtener información sobre errores detectados durante la POST. La explicación del uso de esta bitácora de errores rebasa el alcance de este manual de bolsillo.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 15/4F

Keyboard Intercept (intercepción del teclado). Llamada AH 4Fh Bandera de acarreo en uno AL Código de examinación del teclado. Devuelve PC, PCjr: Bandera de acarreo en uno, AH=80h PC XT BIOS 11/08/82, PC/AT BIOS 1/10/84: Bandera de acarreo en uno, AH=86h Todos los demás: Bandera de acarreo en uno AL Nuevo código de examinación Bandera de acarreo en uno AL Código de examinación original. Comentarios Disponible solo en el PC/AT (BIOS con fecha posterior a 1/10/84), PC XT (BIOS con fecha posterior a 11/8/82), PC XT 286 y PS/2. Llamada por Int 09; normalmente devuelve el código de examinación en el registro AL con la bandera de acarreo en uno. El propósito de la rutina es traducir códigos de examinación para la interrupción del teclado. Si la función vuelve con la bandera de acarreo en cero, Int 09 ignorara el carácter. INT 15/80 Device Open (Abrir dispositivo). Llamada AH 80h BX Identificación del dispositivo CX Identificación del proceso Devuelve Bandera de acarreo en uno si hubo error AH 80h (PC, PCjr). AH 86h (PC XT con BIOS 11/8/82) Comentarios Disponible solo en el PC/AT, PC/XT (BIOS con fecha posterior a 11/8/82), PC XT 286 y PS/2. Esta función fue diseñada para usarse en operaciones rudimentarias de múltiples tareas, y su explicación rebasa el alcance de este manual de bolsillo.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 15/81

Device Closed (Cerrar dispositivo) Llamada AH 81h

BX Identificación del dispositivo CX Identificación del proceso Devuelve Bandera de acarreo en uno si hubo error AH 80h (PC, PCjr) AH 86h (PC XT con BIOS 11/8/82) Comentarios Disponible solo en el PC/AT, PC XT (BIOS con fecha posterior a 11/8/82), PC XT 286 y PS/2. Fue diseñada para usarse en operaciones rudimentarias de múltiples tareas, y su explicación rebasa el alcance de este manual de bolsillo .

INT 15/82

Program Termination (Terminación de programa) Usada para terminar un proceso Llamada AH 82h BX Identificación del dispositivo Devuelve AH 80h (PC, PCjr) AH 86h (PC XT con BIOS 11/8/82) Comentarios Disponible solo en el PC/AT, PC XT (BIOS con fecha posterior a 11/8/82), PC XT 286 y PS/2. Fue diseñada para usarse en operaciones rudimentarias de múltiples tareas, y su explicación esta más allá del alcance de este manual de bolsillo.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 15/83

Event Wait (Espera de eventos) Llamada AH 83h AL 00h, fijar intervalo CX: DX Microsegundos hasta envió

ES:BX Apuntador al byte con bit de alto orden en uno tan pronto como sea posible después del fin del intervalo.

AL 01h, Cancela intervalo fijo (PS/2) Devuelve Bandera de acarreo en cero si hubo éxito. Bandera de acarreo en uno si hubo error AH 80h, (PC) AH 86h, (PC XT, PC/AT) Comentarios Esta función dispone solo en PC/AT (BIOS fechado después de 1/10/84) y PS/2-No trabaja en el modelo 30 de PS/2. Fue diseñada para operaciones rudimentarias de múltiples tareas, y su explicación esta más allá del alcance de este manual de bolsillo.

INT 15/84 Joystick Suport (Soporte de palanca de mando) Llamada AH 84h DX 00h, leer disposiciones de los conmutadores 01h, leer posición de la palanca de mando Devuelve

PC, PCjr: Bandera de acarreo en uno, AH=80h PC XT BIOS 11/08/82: Bandera de acarreo en uno, AH=86h Todos los demás: DX 00h (en la llamada)

AL=disposiciones de los conmutadores (bits 4 a7) Bandera de acarreo en uno si hubo error

DX 01h (en la llamada) AX=valor A (X) BX=valor A (Y) CX=valor B (X) DX=valor B (Y) Comentarios Controla la operación de la palanca de mando en todas las maquinas, excepto PC, PCjr y los primeros PC XT (BIOS fechado 11/08/82). Si se llama en estos computadores, la bandera de acarreo adopta el valor de uno y AH devuelve el código de error: 80h u 86h (PC XT).

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 15/85

System Request Key Pressed (Tecla de solicitud de sistema presionada) Llamada AH 85h Devuelve PC, PCjr: Bandera de acarreo en uno AH=80h

PC XT BIOS 11/08/82: Bandera de acarreo en uno, AH=86h Todos los demás: AL 00h, tecla presionada

01h, tecla liberada Comentarios BIOS llama a esta función siempre que la tecla de solicitud de sistema (Alt-Print Screen) se presione o libere. Sólo las versiones más recientes de BIOS permiten esta función, que es accesible sólo desde teclados con una tecla de solicitud de sistemas. Si el BIOS de un computador no permite usar esta función, la bandera de acarreo adoptará el valor uno y AH contendrá 80h u 86h (primero (PC XT) al regreso. INT 15/86 Wait (Espera) Llamada AH 86h

CX.DX Tiempo antes del regreso en microsegundos ( exacto hasta en 976 microsegundos).

Devuelve PC, PCjr: Bandera de acarreo en uno. AH.80h PC XT: Bandera de acarreo en uno. AH=86h Todos los demás: Bandera de acarreo en una (ESPERA EN PROGRESO) Bandera de acarreo en cero (Espera éxitosa) Comentarios: Sólo trabaja en PCIAT y Ps/2. Fue diseñada para usarse dentro del software de sistemas operativo para establecer esperas del sistema, no se planeó para ser usada por programas de aplicación.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 15/87 Move Block (Mover Bloque) Llamada AH 87h CX Cuenta de palabras del almacenamiento que Será trasladado ES:SI Apuntador a la tabla de descriptor global Devuelve PC, PCjr: Bandera de acarreo en uno AH=80h PC XT, PS/2 modelo 30: Todos los demás: Bandera de acarreo en cero Bandera de cero en uno. AH 00h operación exitosa AH Operación fallida 01 h, error de paridad RAM 02, ocurrencia de otra excepción 03 h, línea de dirección de compuerta 20 h fallida. Comentarios Permite la transferencia de bloques de datos (hasta 64k) hacia Y desde memoria ampliada en sistemas 80286/80386. Las transferencias se realizan sin interrupción en modo protegido. La tabla de descriptor global (ES: SI )

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 15/88 Get Extended Memory Size (obtener tamaño de memoria ampliada) Llamada:

AH 88h Devuelve PC, PCjr:

Bandera de acarreo en uno Ah=80 h PC XT, PS/2 modelo 30:

Bandera de acarreo en uno, AH=86 h Todos los demás: AX Bloques de memoria de IK contiguos Comenzando en 10000h. Comentarios: Devuelve la cantidad de memoria determina como disponible mediante verificaciones POST por arriba de la dirección 10000h. Observe que esta función está disponible sólo en maquinas que usen el microprocesador 80286 o el 80386. INT 15/89 Switch Processor to Protect Mode (Conmutar procesador al modo protegido) Llamada: AH 89h BL Desplazamiento del vector de interrupción IRQ0 BH Desplazamiento del vector de interrupción IRQ8 ES:SI Apuntador a la tabla de descriptor global (GDT) CX Desplazamiento dentro del segmento de código de modo protegido al que se debe brincar.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Devuelve Bandera de acarreo en cero si hubo éxito Bandera de acarreo en uno si hubo error Comentarios Conmuta al procesador al modo protegido de manera que pueda tener acceso a la memoria ampliada y aprovechar las instrucciones del mundo protegido. Para usar esta función, prepare la tabla de descriptor global (Global Descriptor Table GDT) para la llamada (véase la Tabla 7) Mientras se usa esta las funciones normales de BIOS no están disponibles. INT 15/90

Device Busy (Dispositivo ocupado) Llamada AH 90h AL Código del tipo de dispositivo ES: BX Apuntador al bloque de control de la red si se está

esperando una red. Devuelve PC, PCjr: Bandera de acarreo en uno, AH, 80H PC XT BIOS (11/08/82): Bandera de acarreo en uno, AH=86h Todos los demás: Bandera de acarreo en uno (Espera mínima satisfecha) Bandera de acarreo en cero. Comentarios Esta función se utiliza para indicar al sistema operativo que un programa está por esperar un dispositivo. Normalmente se usa en el diseño o desarrollo de software de múltiples tareas; no fue planeada para ser usado por programadores de aplicaciones. En la tabla siguiente se listan los códigos de tipo pasados a la rutina en AL: AL Código de tipo 00h Tiempo de espera del disco 01h Tiempo de espera del disquete 02 Teclado (no hay tiempo de espera) 03h Dispositivo apuntador (tiempo de espera) 80h Red (no hay tiempo de espera) FCh Restablecimiento del disco duro (PS/2) FDh Arranque del motor de la unidad de disquete (tiempo

de espera) FEh Impresora (tiempo de espera)

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 15/91 Interrupt Complete (interrupción completa) Llamada AH 91h Devuelve PC, PCjr:

Bandera de acarreo en uno, AH=80h PC XT BIOS (11/08/82):

Bandera de acarreo en uno, AH=86h Todos los demás:

AL Código de tipo Comentarios Int 15/91 no se diseño para ser llamada por programadores de aplicaciones, sino para ser usada internamente por el sistema operativo, o para desarrollar sistemas de tareas múltiples BIOS emplea esta función para informar que la interrupción del dispositivos se ha completado de acuerdo con los códigos de tipos listados en la sección Comentarios de Int 158/91.

INT 15/C0

Return System Configuration Parameters (Regresa-, devuelve parámetros de configuración del sistema) Llamada AH C0h Devuelve PC, PCjr: Bandera de acarreo en uno AH=80h PC XT BIOS (114/08/82) PC/AT BIOS (1/10/84) Bandera de acarreo en uno ah=86h Todos los demás: 15:BX Apuntador a la tabla de descriptor del sistema en ROM Comentarios La tabla de descriptor de sistema en ROM contiene información útil sobre el sistema. La siguiente tabla muestra el significado de las entradas:

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

DEZPLAZAMIENTO SIGNIFICADO 00h Conteo de bytes de los datos subsecuentes (mínimos 8). 02h Byte modelo 03h Byte submodelo 04h Nivel de revisión de BIOS (00=primera liberación). 05h Información de característica (véase la siguiente tabla). 06-09h Reservado

76543210 significado -----------x Reservado ---------0---- Canal de E/S de línea de PC ---------1----- Arquitectura de microcanal --------1------ Asignado a EBDA ------1-------- La espera para evento externo se permite -----1--------- Reloj de tiempo real presente ---1----------- Segundo microcircuito de interrupción presente 1------------- Canal DMA 3 usado por BIOS de disco duro El byte modelo contenido en el desplazamiento 02h de la tabla de descriptor del sistema debería ser igual que el byte de identificación del sitema (almacenado en FFFF:HF). El byte submodelo (desplazamiento 03h) puede usarse para una identificación adicional del sistema.

INT 15/C1 Return EBDA Segement addres (Devolver dirección de segmento del EBDA, área de datos del BIOS ampliado) Llamada AH Ch Devuelve PC PCjr: Bandera de acarreo en uno, AH=801h PC XT, PC/AT:

Bandera de acarreo en uno, AH=86h PS/2:

Bandera de acarreo en uno (fallida) Bandera de acarreo en cero(exitosa) ES Dirección DE Segmento de área de datos de BIOS

ampliado. Comentarios Usada para determinar la dirección del segmento del área de datos del BIOS ampliado (EBDA) EBDA es utilizada internamente por BIOS en el PS/2. es asignada por las rutinas de POST y reside en la cima del área de memoria del usuario.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 15/C2

Pointing Device BIOS Interface (Interfaz de BIOS con el dispositivo apuntado) Llamada AH C2h AL 00h, habilitar / inhabilitar dispositivo apuntador BH 00h, habilitar 01h, inhabilitar AL 01h, restablecer dispositivo apuntador AL 02h, fijar velocidad de muestreo AL 03h, fijar definición AL 04h, leer tipo de dispositivo AL 05h, iniciación de la interfaz del dispositivo apuntador AL 06h, órdenes ampliadas AL 07h, iniciación de llamada lejana del dispositivo

apuntador Devuelve PC, PCjr:

Bandera de acarreo en uno, AH=80h PC XT, PC/TA: Bandera de acarreo en uno AH =86h PS/2:

Bandera de acarreo en cero si hubo éxito Otros registros varían por subfunción (véase Comentarios)

Bandera de acarreo en uno si hubo error AH 01h, llamada de función inválida 02h, entrada inválida 03h, error de interfaz 04h, reenvió 05h, no hay llamada lejana instalada Comentarios Sólo trabaja en el PS/2. fue diseñada para establecer una interfaz entre dispositivos apuntados (tal como un ratón o un digitalizador) y DOS. Esta función rebasa el alcance de este manual de bolsillo

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 15/C3

Enable/Disable Watchdog timeout (Habilitar/inhabilitar tiempo de espera del cronometro principal) Llamada AH C3h AL 00h, inhabilitar tiempo de espera del cronometro principal 01h, Habilitar tiempo de espera del cronometro principal BX Conteo de cronometro principal (1 a 255) Devuelve PC, PCjr: Bandera de acarreo PC XT, PC/AT, PS/2 modelo 30: Bandera de acarreo

PS/2: Bandera de acarreo de cero si hubo éxito

Bandera de acarreo en uno si hubo error Comentarios Se usa para habilitar o inhabilitar el cronómetro principal disponible con los PS/2 que utilizan el 80286 u 80386. el cronometro principal se vale del canal 3 de cronómetro y está conectado con la línea IRQ0. cuando IRQ0 está activa durante más de un cielo del cronómetro del canal 0 (cronómetro del sistema principal). El conteo del cronómetro principal alcanza el 0, se genera una interrupción no enmascarable (NMI) INT 15/C4 Programable Option Select, POS (Seleccionar opción programable) Provee acceso a los registros programables del sistema PS/2 en tableros de opción. Llamada ALL C4h AL 00h, obtener base de la dirección de registro del

adaptador POS. 01h, Habilitar ranura para configuración 02h, Habilitar adaptador Devuelve PC, PCjr: Bandera de acarreo en uno PC XT, PC / AT, PS / 2 modelo 30 Bandera de acarreo en uno PS/2: Bandera de acarreo en cero si hubo éxito DL Dirección de registro de adaptador POS (función 0) BL Número de ranura (función 1) Bandera de acarreo en uno si hubo error.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Comentarios La selección de opción programable (POS), disponible en modelos PS/2 que usen el 80286 u 80386, elimina la necesidad de conmutadores de tablero de sistemas y de adaptador. Los conmutadores son reemplazados por registros programables accesibles a través de esa función.

INT 16/00 Read Keyboard Character (Leer carácter del teclado) Llamada AH 00h Devuelve AH Código de examinación de teclado AL Código de carácter ASCII Comentarios Espera y lee un solo carácter del buffer del teclado y lo devuelve junto con su código de examinación. El buffer del teclado por lo general se localiza en 0040:001A .

INT 16/01 Read Keyboard Status ( Leer estado del teclado) Llamada AH 01h Devuelve Bandera de cero en cero (se oprimió una tecla) AH Código de examinación AL Carácter ASCII Bandera de cero en uno (no se oprimió tecla alguna) Comentarios

Si se oprimió alguna tecla, esta función pone cero en la bandera de cero y devuelve el código ASCII de la digi- tación y el código de examinación del teclado. Si no hay digitaciones por procesar, la función pone 1 en la bandera de cero y regresa.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 16/02 Return Keyboard Flags (Devolver banderas del teclado) Llamada 02h Devuelve Byte de banderas de teclado de BIOS ROM Comentarios Devuelve el estado de los conmutadores biestables y las teclas shift del registro de estado de BIOS manteniendo en la localidad de memoria 0000:0417h. La siguiente tabla muestra el significado de los bits del registro AL al volver la función: 7 6 5 4 3 2 1 0 Significado . . . . . . . 1 Tecla Shift derecha oprimida . . . . . . 1 . Tecla Shift izquierda oprimida . . . . . 1 . . Tecla Ctrl oprimida . . . . 1 . . . Tecla Alt oprimida . . . 1 . . . . Scroll Lock habilitado . . 1 . . . . . Num Lock habilitado . 1 . . . . . . Caps Lock habilitado 1 . . . . . . . Tecla Insert activada

INT 16/05 Write to Keyboard Buffer ( Escribir en buffer del teclado) Llamada AH 05h CH Código de examinación CL Carácter Devuelve AL 01h si el buffer está lleno Comentarios Solo trabaja en los PCIAT y PS/2 con teclados expan- didos. Almacena un carácter en el buffer de un teclado expandido.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 16/10

Get Keystroke (Obtener digitación) Llamada 10h Devuelve AH Código de examinación AL Carácter Comentarios Solo trabaja en los PCIAT y PS/2 con teclados expandidos. Permite el reconocimiento de teclas similares (véase en Int 16/12 una tabla de identificadores de teclas adicionales).

INT 16/11

Check Keyboard (Verificar teclado) Llamada AH 11h Devuelve AH Código de examinación AL Carácter Comentarios Solo trabaja en los PCIAT y PS/2 con teclados expan- didos. Devuelve un carácter y el código de examinacion si hay alguno disponible; en caso contrario, devuelve la bandera de cero en uno.

INT 16/12 Get Keyboard Status Flags ( Obtener banderas de estado del teclado) Llamada AH 12h Devuelve AL Bandera de estado 1 AH Bandera de estado 2 Comentarios Esta función, que solo trabaja en los PCIAT y PS/2 con teclados expandidos, es como Int 16/02 salvo porque se devuelve la infor- mación ampliada. Para conocer el significado de las banderas de estado véase las tablas 9 y 10.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Tabla 9 Banderas de estado 1 del teclado de BIOS 7 6 5 4 3 2 1 0 Significado . . . . . . . 1 Tecla Shift derecha oprimida . . . . . . 1 . Tecla Shift izquierda oprimida . . . . . 1 . . Tecla Ctrl oprimida . . . . 1 . . . Tecla Alt oprimida . . . 1 . . . . Scroll Lock habilitado . . 1 . . . . . Num Lock habilitado . 1 . . . . . . Caps Lock habilitado Tabla 10 Bandera de estado 2 del teclado de BIOS 7 6 5 4 3 2 1 0 Significado . . . . . . . 1 Tecla Ctrl izquierda oprimida . . . . . . 1 . Tecla Alt izquierda oprimida . . . . . 1 . . Tecla Ctrl derecha oprimida . . . . 1 . . . Tecla Alt derecha oprimida . . . 1 . . . . Tecla Scroll Lock oprimida . . 1 . . . . . Tecla Num Lock habilitado . 1 . . . . . . Tecla Caps Lock habilitado 1 . . . . . . . Tecla SysRcq habilitado

INT 17/00 Write Character to Printer (Escribir carácter en impresora) Llamada AH 00h AL Carácter DX Número de impresora (0 a 2) Devuelve AH Estado de impresora (véase tabla 8) Comentarios Escribe el carácter especificado en el puerto de impresora y devuelve el estado actual de la impresora como se muestra en la tabla 8.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 17/01

Initialize Printer Port ( Prepara puerto de impresión) Llamada AH 01h DX Número de impresora (0 a 2) Devuelve Estado de la impresora ( véase la Tabla 8) Comentarios Prepara el puerto paralelo de la impresora y devuelve el estado de este. La función dirige la sucesión de caracteres 08h 0Ch al puerto de impresora. Las impresoras EPSON, IBM responden a esta secuencia restableciendo el sistema; otras impresoras quizá no respondan correctamente o pueden producir efectos indeseables.

INT 17/02

Request Primier Port Status (Solicitar estado de puerto de impresión) Llamada AH 02h DX Número de impresora (0 a 2) Devuelve AH Estado de la impresora (véase la tabla 8) Comentarios Devuelve el estado del puerto de impresora paralelo especificado (véase la tabla 8). Si esta usando un PC/AT, PC XT 286 o PS/2 y BIOS determinar impresora esta ocupada (véase el bit 7 de la tabla 8), BIOS ejecutara un Int 15/90.

INT 19/00 System Warm Boot (Arranque en caliente del sistema) Llamada Nada Devuelve Nada Comentarios Esta función, similar a Ctrl.-Alt-Del, realiza un arranque en caliente sin perder el estado presente de la memoria

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 1A/00 Get Clock Counter ( Obtener contador de reloj) Llamada AH 00h Devuelve AL Bandera de medianoche CX : DX Conteo de reloj Comentarios Muestra el contador de reloj del sistema, que hace tictac 18.2065 veces por segundo. Cero es igual a medianoche.

INT 1A/01 Llamada Set lock counter (fijar contador de reloj) Llamada:

AH 01h CX : DX Conteo de Reloj Devuelve Nada Comentarios Para fijar el reloj en una hora determinada, calcule el numero de tictaes que quiere representar. Para esto multiplique por 18.2065 el numero de segundos desde la medianoche hasta la hora deseada, a fin de obtener el valor correcto.

INT 1A/02 Read Real-Time Clock (Leer reloj de tiempo real) Llamada AH 02h Devuelve Bandera de acarreo en cero si hubo éxito CH Horas (BCD) CL Minutos (BCD) DH Segundos (BCD) DL Bandera de tiempo de aprovechamiento de la luz del

día Bandera de acarreo en un si hubo error Comentarios Esta función, disponible únicamente en el PC XT 286, PC/AT o PS/2, devuelve los valores de reloj en BCD (decimal codificado en binario). Para BIOS de PC/AT fechado antes de 6/10/85, no se devuelve DL. Si la bandera de acarreo vale uno es que el reloj no esta funcionando.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 1A/03

Set Real Time Clock (Fijar reloj de tiempo real) Llamada AH 03h CH Horas (BCD) CL Minutos (BCD) DH Segundos (BCD) DL Tiempo de ahorro de luz de energía Devuelve Nada Comentarios Disponible únicamente en PC XT 286, PCI AT o PS12. Los valores de reloj deben establecerse en BCD (decimal codificado en binario). DL se codifica para indicar si el reloj mantiene un tiempo estándar (DL=1).

INT 1A/04 Read Date from Real-Time Clock (Leer fecha del reloj de tiempo) Llamada Ah 04h Devuelve Bandera de acarreo en cero si hubo exito CH Signo (BCD) CL Año (BCD) DH Mes (BCD) DL Dia (BCD) Bandera de acarreo en uno si hubo error Comentarios Esta función, únicamente disponible en PC XT 286, PCI AT y PSI2, devuelve los valores de reloj en BCD (decimal codificado en binario). Si la bandera de acarreo vale uno es que, el reloj no está funcionando.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 1A/05 Set Date of Real-Time (Fija fecha del reloj de tiempo real) Llamada AH 5h CH Signo (BCD) (19 a 20) CL Año (BCD) DH Mes (BCD) DL Dia (BCD) Devuelve Nada Comentarios Disponible solo en PC XT 286, PCI AT o PCI2. Los valores de reloj deben establecerse en BCD (decimal codificado en binario)

INT 1A/06 Set System Alarm (Fija alarma del sistema) – fija el cronometro de alarma del sistema para generar una interrupción en un momento futuro Llamada AH 06h

CH Horas (BCD) CL Minutos (BCD) DH Segundos (BCD) Devuelve Bandera de acarreo en cero si hubo éxito Bandera de acarreo en uno si hubo error Comentarios Disponible solo en PC XT 286, PCI AT o PSI2. los valores para fijar la alarma deben estar en BCD (decimal codificado en binario). Fijar la alarma representa un desplazamiento del tiempo presente. Cuando el tiempo se acaba, el sistema emitirá una Int 04 (desborde aritmético). Antes de restablecer una alarma, debe inhabilitarla con Int 1A/07 y definir un manejador de interrupción para mejorarla

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 1A/07

Disable Real-Time Clic Alarm (Inhabilitar alarma del reloj de tiempo real) Llamada AH 07h Devuelve Nada Comentarios Esta función, disponible únicamente en PC XT, PCIAT o PSI2, inhabilita la alarma del reloj de tiempo real. Si ya se fijo la alarma, se debe usar esta función para poder fijarla de nuevo. ctrl.-Break Handler Ardes (Dirección del manejador de ctrl.-Break)

INT 1B

Llamada Nada Devuelve Nada Comentarios El vector de interrupción 1Bh contiene la dirección del manejador de interrupción ctrl.-Break. El control es transferido a esta dirección cuando se detiene un programa con la secuencia de teclas ctrl.-Break. Timer Tick Interrupt (Interrupción de tiempo del cronometro)

INT 1C

Llamada Nada Devuelve Nada Comentarios El vector 1Ch, la interrupción de tic tac de cronometro llamada por Int 08, se ajusta para que apunte a una instrucción IRET. Una TSR que necesite ser accionado en cada tic tac de reloj puede restablecer el vector para que apunte a un manejador de interrupciones diseñado por el usuario.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 1D vides-Initialization Parameter Table (Tabla de parámetros para la inicializacion de video) Llamada Nada Devuelve Nada Comentarios Int 1D (que no es una interrupción verdadera) apunta a una tabla de parámetros de iniciación para el controlador de video. Puesto que Int 1D no es código ejecutable, esta interrupción no debe ser llamada por un programa.

INT 1E

Disk-Initialization Parameter Table (Tabla de parámetros para la iniciación del disco) Llamada Nada Devuelve Nada Comentarios Int 1E (que no es una interrupción verdadera) apunta a la tabla básica de disquetes, una tabla de parámetros de iniciación para el controlador de disco. Puesto que Int 1E no es código ejecutable, esta interrupción no debe ser llamada por un programa.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 1F

Graphics Display Carácter Bit-Map Table (Tabla de proyección de bits de caracteres de despliegue grafico) Llamada Nada Devuelve Nada Comentarios Int 1F (que no es una interrupción verdadera) apunta a una tabla de proyecciones de bits para las representaciones en modo de gráficos de los caracteres ASCIIt 128 a 255. al restablecer este vector, el usuario en modos de gráficos de CGA. Tales operaciones rebasan el alcance de este manual de bolsillo.

INT 70 Real-Time Clock Interrupt (Interrupción de reloj de tiempo real) – se llama 1024 veces por segundo para controlar funciones periódicas y de alarma Llamada Nada Devuelve Nada Comentarios Esta función se aplica únicamente en lineas de productos PC AT, PC XT 286 y PSI2 (la función periódica no se incluye en el PSI2 modelo 30.) Siempre que se llama a esta interrupción, un contador de palabra doble se decrementa 976 microsegundos (1/1024 de segundo). El valor inicial de este controlador es fijado mediante llamadas a Int 15/83 o 15/86. cuando el contador alcanza un valor menor o igual que cero, el bit 7 de la bandera de espera designada adquiere el valor uno. En Int 15/83, la bandera de espera se especifica con ES:BX. En Int 15/86, la bandera está en 0040:00A0h. Si el reloj de tiempo real es activado como una función de alarma por una llamada a Int 1A/06, entonces, cuando el tiempo se acaba, Int 4A es llamada por Int 70 para activar el manejador de alarma. (Este último debe definirse antes de llamar a Int 1A.)

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Los servicios ofrecidos por DOS cubren interrupciones en el intervalo de 20-2fh. Muchas de estas interrupciones y sus funciones se describen en esta sección.

AREAS DE DATOS COMUNES Y TABLAS Las siguientes tablas muestran la disposición de los bloques de control de archivos (FCB, File Control Blocks) tanto estándar como ampliados. Estas áreas de datos se usan en muchas de las funciones de DOS. Tabla 11. Bloque de control de archivos estándar Desp. Longitud Significado y notas00H BYTE Numero de unidad. 0=por omisión,1=A;2=B:,etc. 01H 8 BYTES Nombre de archivo ASCII justificado a la izquierda;

rellenado con espacios

09H 3 BYTES Extensión de archivo ASCII justificado a la izquierda; rellenado con espacios

0CH PALABRA Numero de bloque actual 0EH PALABRA de registro; 80h bytes por omisión con las funciones

open (abrir) o create (crear) de DOS

10H P. DOBLE Tamaño de archivo

14H PALABRA Fecha de creación/actualización 16H PALABRA Hora de creación/actualización 18H 8 BYES Reservados

20H BYTE Numero de registro actual

21H P.DOBLE Numero de registro aleatorio (si el tamaño del registro

es de menos de 64 bytes, solo se usan 3 bytes)

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Tabla 12. Un bloque de control de archivos ampliado Desp. Longitud Significado y notas00H PALABRA FFh-indica que éste es un FCB (bloque de

control de archivo) ampliado 01H 5 BYTES Reservados 06H BYTE Byte de atributo 07H BYTE Numero de unidad (0=por omisión, 1=A:,

2=b:, etc. 08H 8 BYTES Nombre de archivo ASCII justificado a la

izquierda; rellenado con espacios 10H 3 BYTES Extensión ASCII justificada a la izquierda;

rellena con espacios 13H PALABRA Numero de bloque actual 15H PALABRA Tamaño de registro: 80h bytes por omisión

con las funciones open (abrir) o create (crear) de DOS

17H P. DOBLE Tamaño de archivo 1BH PALABRA Fecha de creación/actualización 1DH PALABRA Hora de creación/actualización 1FH 8 BYTES Reservados 27H BYTE Numero de registro actual 28H P. DOBLE Numero de registro aleatorio (si el tamaño

del registro es de menos de 64 bytes, solo se usan 3 bytes)

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 20 Terminate Program (Terminar programa) Llamada

CS Dirección de segmento de PSP (prefijo de segmento de programa)

Devuelve Nada Comentarios Además de terminar el programa y liberar memoria usada por el mismo, Int 20 hace lo siguiente: (1) restablece el vector manejador de terminación del desplazamiento 0Ah de PSP; (2) restablece el vector ctrl.-C del desplazamiento 0Eh de PSP; (3) restablece el vector del manejador de error critico del desplazamiento 12h de PSP (DOS V2.o y posteriores); y (4) vacía los buffers de archivo al disco (no cierra los archivos FCB). Después de finalizar estas cuatro tareas, el control es transferido a la dirección del manejador de terminación. INT 21/00 Terminate Program (Terminar programa) Llamada AH 00h CS Dirección de segmento PSP (prefijo de segmento de

Programa) Devuelve Nada Comentarios Esta función es idéntica a Int 20 en términos de operación. (Refiérase a los comentarios de Int 20 para más información)

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/01 Keyboard Input whit Echo (Entrada del teclado con eco) Llamada AH 01h Devuelve AL Datos con caracteres de 8 bits Comentarios Espera entrada de caracteres desde el teclado (STDIN), repite el carácter en la pantalla de video (STDOUT). Si el carácter es uno ASCII ampliado, se devuelve cero, y se requiere otra llamada a esta función para devolver el código de examinacion de la teca oprimida. INT 21/02

Display Output (Mostrar salida) Llamada AH 02h DL Datos con caracteres de 8 bits Devuelve Nada Comentarios Dirige la salida a la pantalla de video (STDOUT). La función manejara el carácter de retroceso (backspace) adecuadamente como un retroceso no destructivo en pantalla. Ctrl.-C y ctrl.-Break se manejan a través de Int 23.

INT 21/03 Auxiliary Imput (Entrada auxiliar) Llamada AH 03h Devuelve

AL Datos de entrada de 8 bits provenientes de STDAUX Comentarios Espera a los caracteres provenientes del primer puerto serial (STDAUX) y los recupera. Si se detecta Ctrl-C o Ctrl-Break, se ejecuta Int 23.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/04 Auxiliary Output (Salida Auxiliar) Llamada

AH 04h DL Datos de 8 bits como salida para STDAUX

Devuelve

Nada Comentarios Se usa para enviar un carácter por el puerto serial (STDAUX). Si STDAUX no está libre cuando se intenta la salida, la función espera hasta que lo esté. Al detectar Ctrl-C o Ctrl-Break se invoca a int 23. Printer output (Salida de impresora)

INT 21/05

Llamada

AH 05h DL Datos de 8 bits para imprimir en STDPRN

Devuelve

Nada Comentarios Espera hasta que la impresora (STDPRN) está lista y luego envía un byte. La detección de Ctrl-C o Ctrl-Break durante esta función ocasiona la ejecución de int 23.

INT 21/06 Direct Console I/O (E/S directa de la consola) Llamada

AH 06h DL Función requerida (00h hasta 0FEh, carácter de salida;

FFH, solicitud de carácter de entrada) Devuelve Si se envía un carácter, no se devuelve nada. Si se captura un carácter: La bandera de uno vale uno (ZF=1) si no hay carácter disponible. La bandera de cero vale cero (ZF=0) si hay carácter disponible. AL Datos de 8 bits. Comentarios Recibe o envía caracteres dependiendo de la disposición de DL. Esta función lee caracteres sin eco e ignora los Ctrl-C o Ctrl-Break. Si el carácter es ASCII ampliado, se devuelve cero, y se requiere otra llamada

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

A

INT 21/07 A esta función es para devolver el código de examinación de la tecla oprimida. Esta función no puede enviar un carácter FFh. Direct STDIN input (Entrada STDIN directa). Llamada

AH 07h Devuelve

AL Datos de entrada 8 bits Comentarios Maneja la entrada similar a Int 21/01, excepto porque el carácter no es repetido en la pantalla de video y no se permite manejo alguno de Ctrl-C o Ctrl-Break. Si no hay un carácter listo, la función espera a que uno este disponible. Cuando esto sucede, se devuelve, se devuelve su valor ASCII. Si el carácter es ASCII ampliado, se devuelve cero y se requiere otra llamada para devolver el código de examinación de la tecla oprimida.

INT 21/08 STDIN Input (Entrada STIDN). Llamada AH 08h Devuelve AL Datos de entrada 8 bits Comentarios Espera un carácter de STDIN (Entrada de teclado) y lo lee. Cuando hay un carácter disponible, se devuelve su valor ASCII. Si el carácter ASCII ampliado, se devuelve cero, y se requiere otra llamada para devolver el código de examinación de la tecla oprimida. Si se detecta Ctrl-C o Ctrl-Break, se ejecuta Int 23.

INT 21/09 Display String (Mostrar cadena) Llamada

AH 09h DS:DX Apuntador a cadena terminada con 5

Devuelve Nada Comentarios Envía a la salida series contiguas de caracteres del mismo modo que int 21/02 muestra caracteres individuales. Todos los caracteres que comienzan en una dirección especificada se envían a la salida hasta que se encuentra un signo de dólares ($. Código ASCII 24h).

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/0A Buffered STDIN Input (Entrada STDIN almacenada temporalmente) Llamada

AH 0Ah DS:DX Apuntador a Buffer de entrada.

Devuelve

Nada Comentarios La entrada se toma de STDIN (entrada de teclado) y se coloca en un área de buffer definida por el usuario. El buffer se establece de la siguiente manera. Desplazamiento Contenido 0 Máximo de byte por leer 1 Números de byte leídos 2-? Bytes reales del teclado Para usar esta función, almacene el número de bytes permitidos como entrada en el primer byte del buffer al que apunta DS:DX. Un tamaño de buffer mínimo realista de 2 bytes (1 bytes de entrada más un retorno de carro). El tamaño de buffer máximo es 225. Los caracteres se leen y sitúan en el buffer, comenzando con el tercer byte del buffer. Los caracteres ASCII requieren un byte; los caracteres ASCII ampliado requieren dos (NUL seguido del código de examinación). Cuando el número real de caracteres leídos alcanza uno menos que el tamaño del buffer, los nuevos caracteres se ignoran y la campana suena con cada digitación. Cuando se presiona ENTER, el número de bytes almacenados (Sin contar el retorno de carro) se sitúa en el segundo byte del buffer. La entrada permite teclear por adelantado, y todas las órdenes de edición de teclado están activas. Las funciones Ctrl-C o Ctrl-Break también están activas, y dan como resultados la ejecución de Int 23.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/0B

Check STDIN Status (Verificar estado de STDIN). Llamada AH 0Bh Devuelve AL 00h carácter no disponible FFh, carácter disponible Comentarios Verifica, desde STDIN (Normalmente el teclado), si hay un carácter disponible. Esta función no devuelve un carácter real, sólo proporciona una indicación de disponibilidad. Si se detecta Ctrl-C o Ctrl-Brea, se invoca a Int 23

INT 21/0C Clear Buffer and Input (Despejar buffer y entrada) Llamada

AH 0Ch AL Función de entrada de DOS por realizarse (01h, 06h, 07h,

08h o 0A) de AL. Comentarios Punto de entrada de alternativo para otras funciones de entrada de Dos. La única operación realizada por esta función es despejar el buffer de entrada; a continuación, el control se pasa a la función de DOS solicitada en AL. Son aplicables los valores de llamada y regreso y las consideraciones de programación de estas otras funciones de entrada de DOS (Véase funciones apropiadas Int 21 de DOS).

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/0D

Reset Disk (Reinicio de disco) Llamada

AH 0Dh Devuelve

Nada Comentarios Escribe el contenido de los buffer de discos en sus archivos de disco correspondiente (desalojando los buffer de disco). No actualiza los directorios de disco y no debe usarse en lugar de una operación de cierre de archivos.

INT 21/0E Select Disk (Seleccionar disco) Llamada

AH 0Eh DL Números de unidad (A:=0 a Z:=25)

Devuelve

AL Ultimo número de unidades (A:=1 a Z:=26).

Comentarios Fija la unidad por omisión y devuelve el número de unidades lógicas (dispositivos orientados a bloques) instaladas. Comenzando con DOS V3, la función devuelve un valor mínimo de unidad última igual al número de unidades lógicas, el valor LASTDRIVE (ULTIMA UNIDAD) del archivo CONFIG.SYS o 5 (el valor por omisión de LASTDRIVE), cualesquiera que sea mayor.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/0F

Open File (FCB) (Abrir archivo FCB) Llamada

AH 0Fh DS:DX Apuntador a un FCB no abierto

Devuelve

AL 00h, archivo abierto con exito. FFh, archivo no abierto

Comentarios Esta función sirve para abrir archivo de disco existente usando un FCB, y no creara un archivo (véase Int 21/16). Es llamada después de llenar los campos de unidad, nombre de archivo y extensión del FCB. Las designaciones de las unidades son 0 (unidad por omisión). 1 (A:), 2 (B:), etc. La función establece el campo de bloque del FCB en cero, el tamaño del registro en 80h, y el tamaño del archivo, fecha y hora según la entrada de directorio del archivo solicitado.

INT 21/10 Close File (FCB) (Cerrar Archivo FCB) Llamada

AH 10h DS:DX Apuntador a un FCB abierto

Devuelve

AL 00h, archivo abierto con exito. FFh, archivo no cerrado Comentarios Esta función sirve para cerrar un archivo de disco previamente abierto que usa un FCB (Bloque de control de archivos). Resultado esencial con archivos FCB porque fuerza a DOS a actualizar la entrada del directorio del archivo. Para usar esta función, proporcione la información en los campos de nombre archivo, extensión y designador de unidad del FCB

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/11 Search for First Entry (FCB) (Buscar la primera entrada FCB) Llamada AH 11h DS:DX Apuntador a un FCD sin abrir Devuelve AL 00H, se encontró coincidencia FFh, no se encontró coincidencia Comentarios Esta función sirve para buscar la primera ocurrencia de Una entrada de directorio especificada. Para usar esta función, proporcione el nombre de archivo, la extensión y los designadores de unidad en los campos correspon- dientes del FCB. En la versión 2.1 de DOS y las siguien- tes, el signo de interrogación (?) funciona como carácter comodín; los asteriscos (*) se permiten como caracteres comodín solo en la versión 3. Utilice un FCB ampliado para buscar un archivo con un Atributo especifico. Los atributos validos son determinados por las definiciones de los bits del atributo, y entre ellos están los siguientes: Valor Tipos de archivos coincidentes 00h Normal 02h Normal y oculto 04h Normal y sistema 06h Normal, oculto y sistema 08h Etiquetas de volumen 10h Directorios Después de una terminación exitosa, la DTA (dirección de transferencia de disco) conserva un FCB sin abrir para el archivo que se encontró. Si la búsqueda se llama con un FCB ampliado, la DTA tiene un FCB ampliado. Si esta usando caracteres comodines para buscar archivos y la función no devolvió algún error, puede continuar la búsqueda con Int 21/12.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/12

Search for Next Entry (FCB) (buscar la siguiente entrada (FCB)) Llamada AH 12h DS:DX Apuntador a FCB devuelto por Int 21/11 ó 21/12 Devuelve AL 00h, se encontró coincidencia FFh, no se encontró coincidencia Comentarios Continúa una búsqueda en directorio comenzada con Int 21/11. Puede ser llamada cuantas veces sea necesario para localizar un archivo dado dentro del directorio, pero buscara la siguiente entrada coincidente, no la primera El FCB apuntado por DS:DX debe ser el mismo que se uso en la búsqueda previa. Cuando termina con éxito, la DTA contiene un FCB sin Abrir para el archivo encontrado. Si la búsqueda fue Iniciada con un FCB ampliado, la DTA tendrá un FCB Ampliado.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/13

Delete File (FCB) (Borrar archivo (FCB)) Llamada AH 13h DS:DX Apuntador a un FCB sin abrir Devuelve AL 00h, archivo borrado FFh, archivo no borrado Comentarios Esta función sirve para borrar archivos normales usando un FCB. Ni los archivos solo de lectura, los archivos del sistema, los ocultos, las etiquetas de volumen ni los directorios pueden ser borrados con esta función. Para emplearla, proporcione el nombre de archivo, la extensión y los designadores de unidad de los campos correspondientes del FCB. En la versión 2.1 de DOS y siguientes, el signo de interrogación (?) funciona como carácter comodín, y en la versión 3 ya se usa el asterisco(*). No intente borrar un archivo abierto.

INT 21/14

Read Sequential File (FCB) (Leer archivo secuencial (FCB)) Llamada AH 14h DS:DX Apuntador a un FCB abierto Devuelve AL 00h, la lectura tuvo éxito 01h, no hubo lectura, ya en EOF (fin de archivo) 02h, lectura cancelada, error de limite de DTA 03h, lectura parcial, ahora en EOF Comentarios Int 21/14 facilita la lectura secuencial de información de un archivo en disco usando FCB. Puede leerse información solo de archivos previamente abiertos (Int21/0F).Para usarla, DS:DX debe apuntar a un FCB creado después de que el archivo se haya abierto. Las lecturas son controladas por los parámetros establecidos en el FCB. La longitud de la lectura esta dada en el campo de tamaño del registro. La ubicación esta dada por los números actuales de bloque y registro. Al completarse, la información leída del disco se sitúan el DTA, y la dirección del registro en el FCB se incrementa automáticamente.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/15 Write Sequential File (FCB) (Escribe archivo secuencial (FCB)) Llamada AH 15h DS:DX Apuntador a un FCB abierto Devuelve AL 00h, escritura exitosa 01h, no hubo escritura, disco lleno o solo de lectura 02h, escritura cancelada, error de limite de DTA Comentarios Esta función permite una escritura secuencial de datos en un archivo mediante un FCB. Se puede escribir datos solo en un archivo previamente abierto (Int 21/0F) o creado (Int 21/16). Para usarla, DS:DX debe apuntar a un FCB creado después de la apertura o creación de un archivo. Los parámetros definidos en el FCB controlan las escrituras La longitud de la escritura esta dada en el campo de tamaño del registro, y la ubicación esta dada por los números actuales de bloque y registro. INT 21/16 Create File (FCB) (Crear archivo (FCB)) Llamada AH 16h DS:DX Apuntador a un FCB sin abrir Devuelve AL 00h, archivo creado FFH, archivo no creado Comentarios Crea un archivo especificado y lo deja abierto para un uso posterior con un FCB. Para emplear esta función deben proporcionarse los campos de unidad, nombre de archivo y extensión del FCB. Cuando se usa un FCB ampliado, también se puede asignar un atributo para crear un archivo oculto o una etiqueta de volumen.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/17

Rename File (FCB) (Renombrar archivo (FCB)) Llamada AH 17h DS:DX Apuntador a un FCB modificado Devuelve AL 00h, archivo renombrado FFh, Archivo no renombrado Comentarios Le permite cambiar el nombre de archivos existentes en disco mediante un FCB modificado. Solo los archivos normales pueden ser renombrados. El FCB modificado tiene el siguiente formato. Desplazamiento Significado 00h Designación de unidad 01h Nombre original del archivo 09h Extensión original del archivo 11h Nuevo nombre del archivo 19h Nueva extensión del archivo En la versión 2.1 de DOS y siguientes, el signo de interrogación (?) funciona como carácter comodín, y en la versión 3 también se usa el asterisco (*). Puesto que los nombres de archivo en un directorio dado deben ser únicos, esta función devolverá un error si se le pide dar a un archivo el nombre de otro que ya existe en ese directorio. INT 21/19 Get Default Drive (Obtener unidad por omisión) Llamada AH 19h Devuelve AL Numero de unidad actual (A:=0, Z:=25) Comentarios Esta función sirve para determinar la unidad de disco que DOS esta usando como unidad por omisión.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/1A

Set DTA Address (Fijar dirección de DTA) Llamada AH 1Ah DS:DX Apuntador a una nueva DTA Devuelve Nada Comentarios Esta función sirve para especificar la dirección de trans- ferencia de disco (DTA) que DOS usara. Cuando se inicia un programa, se aparta una DTA por omisión de 128 bytes en el desplazamiento 80h del PSP. INT 21/1B

Get Allocation Table Information (Obtener informacion de la tabla de asignación) Llamada AH 1Bh Devuelve AL Sectores por grupo CX Bytes por sector físico DX Grupos por disco DS:BX Apuntador a byte descriptor de medios de almacenamiento Comentarios Devuelve información básica para el conocimiento de la capacidad del disco en la unidad por omisión. En la Versión 2 de DOS y las siguientes, DS BX apunta al byte descriptor de medios, contenido en la FAT (tabla de asignación de archivos), pero en la verdón 1 apunta a la FAT en memoria. El byte descriptor de medios (o FAT ID) puede usarse para identificar el formato de los Medios de almacenamiento de acuerdo con la siguiente tabla: Valor Significado F0h No identificable F8h Disco duro F9h De dos lados, 15 sectores por pista (1.2M) F9h De dos lados, 9 sectores por pista (720K) FCh De un solo lado, 9 sectores por pista FDh De dos lados, 9 sectores por pista (360K) FEh De un solo lado, 8 sectores por pista FFh De dos lados, 8 sectores por pista

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/1C

Get Allocation Table Information for Specific Drive (Obtener información de la tabla de asignación para una unidad especifica) Llamada AH 1Ch DL Número de unidad (unidad actual = 0, a:=1 a Z:=26 Devuelve AL Sectores por grupo CX Bytes por sector físico DX Grupos por disco DS:BX Apuntador al byte descriptor de medios Comentarios Devuelve la misma información que Int 21/1B, pero para la unidad designada en DL.

INT 21/21 Random File Read (FCB) (Lectura de archivo aleatorio (FCB)) Llamada AH 21h DS:DX Apuntador a un FCB abierto Devuelve AL 00h, lectura exitosa 01h, no hubo lectura, se encontró EOF 02h, lectura cancelada, error de limite de DTA 03h, lectura parcial, se encontró EOF Comentarios Facilita la lectura de información aleatoria (no secuencial) de un disco mediante un FCB. Se puede leer información solo de un archivo que ha sido abierto previamente. Para usar esta función, DS:DX debe apuntar al FCB creado después de abrir el archivo. Las lecturas son controladas por los parámetros definidos en el FCB. El registro por leer esta especificado en el campo de registro aleatorio, y la cantidad de datos, en el campo de tamaño de registro. Al final, el campo de posición actual del FCB no se actualiza, pero la información leída del disco esta en la DTA.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/22 Random File Write (FCB) (Escritura de archivo aleatorio (FCB)) Llamada AH 22h DS:DX Apuntador a un FCB abierto Devuelve AL 00h, escritura exitosa 01h, no hubo escritura, disco lleno o solo de lectura 02h, escritura cancelada, error de limite de DTA Comentarios Facilita la escritura de información no secuencial de la DTA al disco mediante un FCB. Se puede escribir información solo en archivos previamente abiertos o creados. Para usar esta función, DS:DX debe apuntar al FCB creado después de haber abierto o creado el archivo. Los parámetros definidos en el FCB controlan las escrituras. El registro por escribir esta especificado en el campo de registro aleatorio, y la cantidad de datos, en el campo de tamaño de registro. Esta función no actualiza el campo de posición actual del FCB.

INT 21/23

Get File Size (FCB) (Obtener tamaño de archivo (FCB)) Llamada AH 23h DS:DX Apuntador a un FCB sin abrir Devuelve AL 00h, exitosa; no hubo error FFh, no se encontraron archivos Coincidentes Comentarios Ésta función sirve para determinar el numero de registros en el archivo especificado mediante el uso de un FCB. El archivo debe estar sin abrir al ejecutar esta función. Es posible usarla después de haber llenado los campos de unidad, nombre de archivo, extensión y tamaño del registro del FCB. El nombre del archivo proporcionado debe estar completo y ser único; no se permiten caracteres comodines. Si se encuentra un archivo coincidente, esto es, que concuerde con el nombre del archivo especificado, el campo de registro aleatorio del FCB apuntado por DS:DX se actualiza para iniciar el número de registros del archivo.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/24 DOS V1 Set Random-Record Field (FCB)(Fijar campo de registro aleatorio(FCB)) Llamada AH 24h DS:DX Apuntador a un FCB Devuelve Nada Comentarios Modifica un FCB abierto preparándolo para funciones de acceso aleatorio. La función puede usarse una vez que se han llamado los campos de tamaño de registro, numero de registro y numero de bloque del FCB. Esta función modifica el campo de registro aleatorio basándose en estos valores de campo. Se emplea principalmente para alternar entre E/S secuencial y aleatoria de archivos.

INT 21/25

DOS V1 Set Interrupt Vector (Establecer vector de interrupción) Llamada AH 25h AL Número de interrupción DS:DX Apuntador a nuevo manejador de interrupción Devuelve Nada Comentarios Esta función garantiza la actualización de la tabla de vectores de interrupción a la dirección que el usuario proporcione. Este es el único método aprobado de alterar vectores de ininterrupción..

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/26

DOS V1 Créate PSP (crear PSP, prefijo de segmento de programa) Llamada AH 26h DX Dirección de segmento para nuevo PSP Devuelve Nada Comentario Copia el PSP actual del programa en una dirección de segmento especificado y actualiza adecuadamente la información de asignación de memoria.

INT 21/27 DOS V1 Random block read (FCB) (Lectura de bloque aleatorio (FCB)) Llamada AH 27h CX Número de registros por leer DS:DX Apuntador a un FCB abierto Devuelve AL 00h, todos los registros leídos exitosamente 01h, no hubo lectura, se encontró EOF 02h, lectura cancelada, error de límite de DTA 03h, lectura parcial de registro, se encontró EOF CX Número de registros leídos Comentarios Facilita la lectura de un grupo de registros aleatorios consecutivos de disco mediante un FCB. Se puede leer información solo de un archivo que ha sido previamente abierto. Los parámetros del FCB controlan las lecturas. El primer registró por leer esta especificado en el campo de registro aleatorio, y el tamaño de cada registro, en el campo de tamaño de registro. Al final, la información leída del disco se encuentra en la DTA. Al terminar con éxito, actualizan los campos de registro aleatorio, bloque actual y registro actual del FCB.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/28 DOS V1 Random Block Write (FCB) (Escritura de bloque aleatorio (FCB)) Llamada AH 28h CX Número de registros por escribir DS:DX Apuntador a un FCB abierto Devuelve AL 00h, todos los registros escritos con éxito 01h, no hubo escritura, disco lleno o solo de lectura 02h, escritura cancelada, error de límite de DTA CX Número de registros escritos Cometarios Facilita la escritura de un grupo de registros aleatorios consecutivos de la DTA al disco mediante un FCB. Solo se puede escribir en un archivo previamente abierto o cerrado. El primer registró por escribir esta especificado en el campo de registro aleatorio, y el tamaño de cada registro, en el campo de tamaño de registro. Al finalizar con éxito, se actualizan los campos de registro aleatorio, bloque actual y registro actual del FCB INT 21/29 DOS V1 Parse File Name (Análisis sintáctico de nombre de archivo) Llamada AH 29h

AL Bandera de control de análisis sintáctico (véase la tabla en la sección Comentarios)

DS:SI Apuntador a cadena de texto ES:DI Apuntador a un FCB

Devuelve AL 00h, no se encontraron caracteres comodín 01h, se encontraron caracteres comodín FFh, especificador de unidad invalido

DS:SI Apuntador a carácter después del nombre de archivo analizado sintacticamente

ES:DI Apuntador a un FCB actualizado y sin abrir

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Comentarios Extrae un nombre de archivo de las lineas de orden y lo coloca en un formato de FCB adecuado para su apertura. Para usar esta función, comience con un apuntador tanto a la cadena del nombre del archivo como al FCB que desea utilizar. No es necesario que el FCB tenga un formato especifico, incluso puede ser un bloque de memoria suficiente para contener un FCB. La interpretación del nombre de archivo es controlada por la bandera de análisis sintáctico de la manera que sigue: 76543210 Significado………..0 No ignorar primeros separadores. ………..1 Ignorar primeros separadores ……….0. Identificación de unidad modificada se especifique o

no. Si no se especifica, por omisión es 0 ……….1. Identificación de unidad modificada solo si se

especifica ………0.. Nombre de archivo modificado especificándose o no.

Si no se especifica, poner blancos ………1.. Nombre de archivo modificado solo si se especifica ……..0… Extensión modificada se especifique o no. Si no se

especifica, poner blancos. ……..1… Extensión modificada solo si se especifica Entre los caracteres de separación de todas la versiones de DOS están los puntos, comas, dos puntos, punto y coma, signos de igual y de suma, tabuladores y espacios. En la versión 1 de DOS también se utilizan comillas, diagonales y corchetes. Esta función devuelve en FCB sin abrir para el nombre de archivo analizado sintacticamente, y un apuntador a los primeros caracteres después de nombre de archivo. Si no hay un nombre de archivo valido para análisis sintáctico, se devuelve un apuntador en ES:DI tal que ES:DI+1 sea un carácter de blanco

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/2A

Get System Date (Obtener fecha del sistema) Llamada AH 2Ah Devuelve CX Año (1980 2099) DH Mes (1 a 12) DL Día (1 a 31) AL Dic de la semana (0=domingo, 1=lunes, etc) DOS V1.1 o posterior Comentarios Devuelve la fecha del sistema basándose en el reloj interno de DOS. INT 21/2B

Set System Date (Establecer fecha del sistema) Llamada AH 2Bh CX Año (1980 a 2099) DH Mes (1 a 12) DL Día (1 a 31) Devuelve AL 00h, fecha establecida exitosamente FFh, fecha inválida, no establecida Comentarios Normalmente, solo se establece el porcino de fecha del reloj interno de DOS, pero si el computador tiene un reloj CMOS, con esta función también se establece la fecha de este. INT 21/2C Get System Time (Obtener hora del sistema) Llamada AH 2Ch Devuelve CH Hora (0 a 23) CL Minutos (0 a 59) DH Segundos (0 a 59) DL Centésimas de segundo (0 a 99) Comentarios Obtiene la hora del reloj interno de DOS, la cual solo es exacta si fue establecida correctamente. Esta función usa el mismo formato de registro que Int 21/2D.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/2D

Set System Time (Establecer hora del sistema) Llamada AH 2Dh CH Hora (0 a 23) CL Minutos (0 a 59) DL Centésimas de segundo (0 a 99) Devuelve AL 00h, hora fijada exitosamente Ffh, hora inválida, no establecida Cometarios Normalmente, solo se establece la porción de hora del reloj interno de DOS, pero si el computador tiene un reloj CMOS, esta función también establece la hora de este.

INT 21/2E DOS V1 Set Verify Flag (Ajustar bandera de verificación) Llamada AH 2Eh AL 00h, apagar verificación 01h, encender verificación DH 00h, (versión de DOS anterior a 3.0) Devuelve

Nada Comentario Encender la bandera de verificación incrementa la seguridad al escribir en disco e incrementa el tiempo de transferencia al disco. Se puede usar INT 21/54 para determinar la disposición actual de la bandera de verificación.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/2F

Get DTA Address (Obtener dirección DTA) Llamada

AH 2Fh Devuelve

ES:BX Apuntador a la DTA Cometarios La DTA (dirección de transferencia de disco) por omisión de un buffer de 128 bytes en el desplazamiento 80h de PSP (prefijo de segmento de programa). INT 21/1ª establece la DTA e Int 21/2f dice dónde ésta.

INT 21/30

Get DOS Versión Number (Obtener números de versión de DOS) Llamada

AH 30h Devuelve

AL numero de versión principal (2,3,4) AH numero de versión secundario (2.1=10) BX 00h CX 00h

Comentarios: Devuelve los números de versión principal y secundario del DOS con el se está trabajando. En las versiones de DOS anteriores a la 2.0 se devuelve 0 tanto en AL, como en AH. Terminate and resident (Terminar y permanecer residente)

INT 21/31

Llamada AH 31h AL Código de retorno DX Tamaño de memoria por reservar (en residente)

Devuelve Nada

Comentarios Termina la opresión del programa pero no libera la memoria asignada a esta ni cierra los archivos abiertos. Esta función permite mas de 64K de memoria y el control del código de retorno, que esta disponible para el programa padre a través de Int 21/4D o para un archivo en lotes a través del parámetro ERRIRLEVEL (nivel de error) Esta función intenta asignar la memoria requerida en DX usando la memoria asignada cuando el programa se inicio. La memoria asignada Int 21/48 no se afectada.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/33 Get/set system Values (Obtener / establecer valores del sistema ) Llamada

AH 33h AL 00h, sise desea obtener el estado de la bandera AL 01h si se desea fijar el estado de la bandera DL 00h, desactivar verificación de ctrl.-Break

01h, activar verificación de ctrl.-Break AL 05h, obtener número de unidad de arranque

Devuelve Si AL=0

DL 00h, verificación de ctrl.-break desactivada 01h, verificación de ctrl.-Break activada

Si AL=5 DL Numero de unidades de arranque (1=A; 2=B; etc.)

Comentarios Verificar las variables del sistema; ya sea la verificación de CFtrl-C o ctrl.-Break durante las funciones de Int 21 (devolver o establecer), o devuelve el numero de unidad desde la cual se arranco el sistema. Devolver el número de unidades de arranque es una característica de nueva de DOS V4.

INT 21/35 Get Interrupt Vector (obtener vector de interrupción) Llamada

AH 34h AL número de interrupción

Devuelve

ES:BX apuntador a manejador de interrupciones Comentarios Esta única forma aprobada de obtener la disposición actual del vector de interrupciones; garantizada el trabajo limpio y la devolución confiable del valor para el vector.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/36 Get free disk space (Obtener espacio libre del disco ) Llamada

AH 36h DL unidad de disco (0n = por omisión , 1=A: , etc)

Devuelve

AX sector por grupo, FFFFh si la unidad es invalida BX números de grupos disponibles CX Bytes por sector DX Grupo por unidad

Comentarios Esta función, que es similar a Int 21/1B y 21/1, devuelve información básica que puede usarse para determinar el espacio disponible en disco.

INT 21/38 Get/set country information (obtener/establecer información del país) Llamada

AH 38h Obtener información del país AL 00, obtener información actual del país Con dos V3.0 y posteriores AL 01-FEh código del país especificado < 255

FFh código de país esta en BX BX código de país si AL=FFH DS:DX apuntador a buffer para información Establecer país actual (DOS V3.0 y posteriores) AL 01-Feh código de pais especificado <255

FFh código de pais esta en BX BX código de pais si AL=FFh DX FFFFh

Devuelve

Bandera de acarreo en cero si hubo éxito BX Código de país (únicamente DOS V3) DS:DX Apuntador a información de país de vuelta Bandera de acarreo en uno si hubo error AX 02h, país invalido (archivo no encontrado)

Comentarios Devuelve un apuntador de una tabla que contiene información de presentación de un país específico. En la versión 3 de DOS y posteriores, esta función puede usarse también para establecer información del país.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

El formato de la tabla de información de pais apuntada por DS:DX es la siguiente: DOS V2 Deslazamiento Longitud Significado 00h Palabra Formato de fecha y hora.

0= EUA m d a, hh:mm:ss 1= Europa d m a, hh:mm:ss 3= Japón a m d, hh:mm:ss

02h 2 Bytes Símbolo monetario ASCllZ 04h 2 Bytes Separador de miles ASCllZ 06h 2 Bytes Separador decimal ASCllZ 08h 18 Bytes Reservado DOS V3 Deslazamiento Longitud Significado 00h Palabra Formato de fecha (igual que un DOS V2) 02h 5 bytes Símbolo monetario ASCllZ 07h 2 bytes Separador de miles ASCllZ 09h 2 bytes Separador decimal ASCllZ 0Bh 2 bytes Separador de fecha ASCllZ 0Dh 2 bytes Separador de hora ASCllZ

0Fh byte

Formato de símbolo monetario 00h=símbolos en primer lugar, sin espacios 01h=símbolo al final sin espacios 02h=símbolo en primer lugar, con un espacio 03h=símbolo al final, con un espacio 04h=reemplaza al separador decimal.

10h byte Números de dígitos decimales 11h Byte Formato de hora

bit 0=0, reloj de 12 horas 1, reloj de 24 horas

12h P.doble Dirección de llamada de transformación de caja (mayúsculas / minúsculas).

16h 2 Bytes Separador de listas de datos ASCllZ 18h 10 Bytes Reservado

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/39 DOS V Créate subdirectory(crear subdirectorio). Llamada

AH 39h DS:DX Apuntador de especificación de trayectoria AZCllZ

Devuelve

Bandera de acarreo en cero si hubo éxito Bandera de acarreo en uno si hubo error AX 03h, trayectoria no encontrada

05h,acceso denegado Comentarios Permite la creación de nuevos directorios. La función devolverá un error y no creara el directorio si este ya existe, si cualquier elemento del nombre de trayectoria no existe si cualquier elemento del nombre de la trayectoria no existe o si el directorio de la raíz y la raíz esta en llena.

INT 21/3A

Remove subdirectory (eliminar subdirecrtorio) Llamada

AH 3Ah DS:DX Apuntaor a especificación trayectoria ASCllZ

Devuelve

Bandera de acarreo en cero si hubo éxito Bandera de acarreo en uno si hubo éxito AX 03h, trayectoria no encontrado.

05h, acceso de negado 06h, directorio actual 10h, directorio actual

Comentarios Permite el borrado de un directorio especificado, pero solo si existe, está vacío y no es el directorio por omisión.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/3B Set directory (establecer directorio) Llamada

AH 3Bh DS:DX Apuntador a cadena de trayectoria ASCllZ

Devuelve

Bandera de acarreo en cero si hubo éxito Bandera de acarreo en uno si hubo éxito AX 0 3h,trayectoria no encontrada

Comentarios Le permite cambiar el directorio actual (similar a las ordenes CD o CHDIR de DOS)

INT 21/3C Create truncale file (handle) (crear/truncar archivo, control) Llamada

AH 3Ch CX Atributo de archivo DS:DX Apuntador a especificación de archivo

Devuelve

Bandera de acarreo en cero si hubo éxito AX Manejo de archivo Bandera de acarreo en uno si hubo éxito AX 03h, trayectoria no encontrada

04h, no hay controles disponibles 05h, acceso denegado

Comentarios: Crea y abre un archivo especificado si no existe, y si existe, lo trunca a longitud cero y lo abre. El archivo deseado se nombra con una cadena ASCIIZ, que puede contener especificadores de unidad y trayectoria. Esta función no puede usarse para crear subdirectorios o etiquetas de volumen.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Volumen.

INT 21/3D Open file (andel) (abrir archivo, control) Llamada

AH 3Dh AL Modo de acceso (DOS V2) DS:DX apuntador especificación de archivo ASCllZ (modo de

acceso y compartimiento de DOS V3) Devuelve: Bandera de acarreo en cero si hubo éxito

AX control de archivo Bandera de acarreo en uno si hubo error

AX 01h, función valida 02h. Archivo no encontrado

03h, trayectoria no encontrada 04h, no hay controles disponibles 05h, acceso denegado 0Ch, código de acceso inválido

Comentarios: Para abrir un archivo, especifique como una cadena ASCllZ. Los archivos normales, cultos o del sitema son accesibles. La siguiente tabla muestra como establecer AL para DOS V2 y V3 (solo los bites 0 a2 se usan en DOS). 765432 significado .....000 acceso para lectura .....001 acceso para escritura .....010 acceso para lectura/escritura ....0.... Reservado (debe ser 0) .000.... modo de comportamiento-modo de compatibilidad .001.... modo de comportamiento acceso para lectura

/escritura .010.... modo de comportamiento – acceso de escritura

negado .011.... modo de comportamiento – acceso de lectura negado .100.... modo de comportamiento – acceso total permitido 0......... heredado por procesos hijos 1........ exclusivo de proceso actual si el retorno exitoso, el archivo se abre para acceso en el modo deseado con un apuntador de lectura / escritura al principio del archivo. El control del archivo devuelto (numero de 16 bytes) se usa para una consulta posteriores del archivo abierto.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/3E

Close file (handle) (cerrar archivo) Llamada AX 3Eh BX control de archivo Devuelve Bandera de acarreo en cero si hubo éxito Bandera de acarreo en uno si hubo error AX 06h, control invalido Comentarios Esta función sirve para cerrar un archivo previamente abierto o creado con las funciones de manejo de archivos de DOS. El control es liberado para uso posterior, y se realizan todas las actualizaciones de archivos. El sello de fecha de archivo se actualiza si se hacen cambios.

INT 21/3F

Read File or Device (handle) (leer archivo o dispositivo, control) Llamada AH 3Fh BX control de archivo CX Número de bytes DS: DX Apuntador a área de buffer Devuelve Bandera de acarreo en cero si hubo éxito AX numero de bytes leídos Bandera de acarreo en uno si hubo error AX 05h, acceso negado 06h, control inválido Comentarios Transfiere un número designado de bytes del disco al buffer. Si termina exitosamente, pero AX es menor que CX, es que ocurrió una lectura parcial antes del fin de archivo (EOF). Si ya se llego a EOF al llamar a esta función, la bandera de acceso valdrá uno pero AX será cero.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/40

Write to file or Device (handle) (escribir en archivo o dispositivo, control) Llamada AH 40h BX control de archivo CX Número de bytes por escribir DS: DX Apuntador a buffer de datos por escribir Devuelve AX numero de bytes escritos AX 05h, acceso negado 06h, control inválido Comentarios Simplemente especifique un control de archivo y el número de bytes, y apunte al buffer de datos. Esta función escribirá ese número de bytes en la posición actual del archivo. Después del regreso, AX contiene ya sea el número de bytes escritos o un código de error. Por lo general, el valor devuelto en AX es el mismo que el numero de bytes por escribir (CX). Si la escritura tuvo éxito y AX es menor que CX, es que se escribió un registro parcial.

INT 21/41 Delete file (borrar archivo) Llamada AX 41h DS: DX Apuntador a especificación de archivo ASCIIZ Devuelve Bandera de acarreo en cero si hubo éxito Bandera de acarreo en uno si hubo error AX 02h, archivo no encontrado 06h, acceso negado Comentarios Borra un archivo marcando la entrada de directorio con un E5h en el primer byte del nombre de archivo. Solo ese byte se modifica en la entrada del directorio. Los grupos asignados al archivo son devueltos al sistema para un nuevo uso. No se permiten caracteres comodín en el nombre del archivo.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/42 Move file pointer (mover apuntador de archivo) Llamada AX 42h AL código de método 00h, desplazamiento a partir del principio del

archivo 01h, desplazamiento a partir de la posición actual 02h, desplazamiento a partir del final del archivo BX control de archivo CX: DX desplazamiento deseado Devuelve Bandera de acarreo en cero si hubo éxito DX: AX nueva ubicación del apuntador al archivo Bandera de acarreo en uno si hubo error AX 01h, función inválida (compartimiento de archivo) 06h, control inválido Comentarios Ajusta el apuntador de lectura/ escritura del archivo a una mueva posición establecida a partir del principio, el final o la posición actual dentro del archivo.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/43

Get’ file atributes (obtener/establecer atributos de archivo) Llamada AX 43h AL 00, obtener atributos de archivo 01, establecer atributos de archivo CX nuevo atributo si se va a establecer (véase tabla) DS: DX Apuntador a especificación de archivo ASCIIZ Devuelve Bandera de acarreo en cero si hubo éxito CX atributo si se obtiene (véase tabla) Bandera de acarreo en uno si hubo error AX 01h, archivo no encontrado 03h, trayectoria no encontrada 05h, acceso negado Comentarios Solo los siguientes valores de atributos de archivos pueden establecerse con una función. 6543210 significado . . . . . . 1 Solo de lectura . . . . . 1 . Oculto . . . . 1 . . Del sistema . 1 . . . . . Archivar

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/44/00 IOCTL: Get Device information (IOCTL: obtener información del dispositivo) Llamada AX 44h AL 00h BL Control Devuelve Bandera de acarreo en cero si hubo éxito

DX información del dispositivo (véase tabla) Bandera de acarreo en uno si hubo error AX 01h, función inválida 05h, acceso negado 06h, control inválido Comentarios En el regreso, DX contiene información codificada sobre dispositivos o archivos de caracteres a los que se hace referencia por el control de archivo en BX. A continuación se presentan los códigos y su significado: Dispositivo de caracteres FEDCHA98 76543210 Significado . . . . . . . . . . . . . . . . . 1 Dispositivo estándar de entrada . . . . . . . . . . . . . . . . 1 . Dispositivo estándar de salida . . . . . . . . . . . . . . . 1 . . Dispositivo NUL . . . . . . . . . . . . . . 1 . . . Dispositivo de reloj . . . . . . . . . . . . . x . . . . Reservado . . . . . . . . . . . . . 1 . . . . Método preparado . . . . . . . . . . . 0 . . . . . . Modo puro binario . . . . . . . . . . 1 . . . . . . . fin de archivo para entrada . . x x x x x x . . . . . . . . Reservado . 1 . . . . . . . . . . . . . . . . Es posible el procesamiento de cadenas mediante subfunciones 02h y 03 x. . . . . . . . . . . . . . . . . . Reservado

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Dispositivo de bloques (archivo de disco) FEDCHA98 76543210 Significado . . . . . . . . . . . . x x x x x x Numero de unidad (0=A: 1=B,etc) . . . . . . . . . . . 0 . . . . . . . El archivo ha sido escrito . . . . . . . . . . 0 . . . . . . . . Dispositivo estándar de entrada x x x x x x x x . . . . . . . . Reservado: debe fijarse en cero El control en BX debe referirse a un archivo o dispositivo abierto. De lo contrario, la función devuelve el código de error 06h (control inválido) INT 21/44/01 IOCTL: Set Device information (IOCTL: establecer información del dispositivo) Llamada AX 44h AL 00h BX Control DX palabra de datos de dispositivo Devuelve Bandera de acarreo en cero si hubo éxito Bandera de acarreo en uno si hubo error AX 01h, función inválida 05h, acceso negado 06h, control inválido Comentarios Permite al usuario establecer una posición limitada de la palabra de datos de dispositivo solo para dispositivos de caracteres. Normalmente el único bit que se modifica con esta llamada es el bit 5. Si DH no es cero, la subfuncion devuelve el código de error 01h. Esta subfuncion también requiere que el control se refiera a un dispositivo abierto. La siguiente tabla proporciona la interpretación de la palabra de datos de dispositivo (DX).

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

FEDCBA98 76543210 Significado . . . . . . . . . . . . . . . . . 1 Dispositivo estándar de entrada . . . . . . . . . . . . . . . . 1 . Dispositivo estándar de salida . . . . . . . . . . . . . . . 1 . . Dispositivo NUL . . . . . . . . . . . . . . 1 . . . Dispositivo de reloj . . . . . . . . . . . . . x . . . . Reservado . . . . . . . . . . . . 0 . . . . . Método preparado . . . . . . . . . . . . 1 . . . . . Método puro (binario) . . . . . . . . . . . 0 . . . . . . Fin de archivo para entrada . . . . . . . . . . 1 . . . . . . . Dispositivo de caracteres x x x x x x x x . . . . . . . . Reservado INT 21/44/02 IOCTL: character Device Read (IOCTL: Lectura de dispositivo de caracteres) Llamada AH 44h AL 02h BX Control CX numero de bytes por obtener DS: DX Apuntador a buffer de datos Devuelve Bandera de acarreo en cero si hubo éxito AX numero de bytes transferidos Bandera de acarreo en uno si hubo error AX 01h, función inválida 05h, acceso negado 06h, control inválido Comentarios Cierta información arbitraria del manejador puede pasarse en una cadena de control a través del programa que hace la llamada. La subfuncion puede iniciar E/S hacia o desde el dispositivo, pero no necesariamente lo hace. La forma en la que el manejador responde a la solicitud depende de el. El bit 14 de la subfuncion 00h indica si el manejador puede proporcionar cadenas de control o responder a ellas.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/44/03IOCTL: character Device write (IOCTL: escritura de dispositivo de caracteres) Llamada AH 44h AL 03h BX Control CX numero de bytes por enviar DX apuntador a buffer de datos Devuelve Bandera de acarreo en cero si hubo éxito

AX Número de bytes transferidos Bandera de acarreo en uno si uno si hubo error

AX 01h, función inválida 05h, acceso negado 06h, control inválido Comentarios Cierta información arbitraria sobre el manejador puede pasarse al manejador en una cadena de control. La subfuncion puede iniciar E/S hacia o desde el dispositivo, pero no necesariamente lo hace. El bit 14 de la subfuncion 00h indica si el manejador puede proporcionar cadenas de control o responder a ellas.

INT 21/44/04

IOCTL: Block Driver Read (IOCTL: Lectura de manejador de bloques) Llamada AH 44h AL 04h BL Número de unidad CX Número de bytes por obtener DS:DX Apuntador a buffer de datos Devuelve Bandera de acarreo en cero si hubo éxito

AX Número de bytes transferidos Bandera de acarreo en uno si uno si hubo error

AX 01h, función inválida 05h, acceso negado 06h, control inválido Comentarios El manejador de bloques puede pasar cierta información arbitraria sobre sí mismo en una cadena de control. La subfuncion puede iniciar E/S hacia o desde el dispositivo, pero no necesariamente lo hace. La forma en que el manejador responde a la solicitud depende de el. Los manejadores de dispositivos de bloques no están obligados a dar soporte a esta subfuncion; si no lo hacen, se devuelve el código de error 01h.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/44/05

IOCTL: Block Driver Read (IOCTL: Escritura de manejador de bloques) Llamada

AH 44h AL 05h BL Número de unidad CX Número de bytes por enviar DS: DX Apuntador a buffer de datos

Devuelve Bandera de acarreo en cero si hubo éxito

AX Número de bytes transferidos Bandera de acarreo en uno si uno si hubo error

AX 01h, función inválida 05h, acceso negado 06h, control inválido Comentarios Cierta información arbitraria sobre el manejador puede pasarse al manejador en una cadena de control. La subfuncion puede iniciar E/S hacia o desde el dispositivo, pero no necesariamente lo hace así. Los manejadores de dispositivos de bloques no están obligados a dar soporte a esta subfuncion; si no lo hacen, se devuelve el código de error 01h.

INT 21/44/06 IOCTL: Get Input Status (IOCTL: Obtener estado de entrada) Llamada

AH 44h AL 06h BX Control

Devuelve Bandera de acarreo en cero si hubo éxito

AL 00h, en EOF (archivos) o no listo (Dispositivo de caracteres) FFh, no en EOF (archivos) o listo (Dispositivo de caracteres) Bandera de acarreo en uno si uno si hubo error

AX 01h, función inválida 05h, acceso negado 06h, control inválido Comentarios Indica si un dispositivo o archivo esta listo para entrada. Es posible probar si un archivo esta en EOF (fin de archivo) excepto si se coloco en EOF mediante Int 21/42.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/44/07

IOCTL: Get Input Status (IOCTL: Obtener estado de salida) Llamada AH 44h AL 07h BX Control Devuelve Bandera de acarreo en cero si hubo éxito

AL 00h, listo (archivos) o no listo (Dispositivo de caracteres) FFh, listo (archivos o dispositivo de caracteres) Bandera de acarreo en uno si uno si hubo error

AX 01h, función inválida 05h, acceso negado 06h, control inválido Comentarios Con esta subfuncion se puede saber si un dispositivo o archivo particular esta listo para una operación de salida. Obsérvese que los archivos siempre devuelven en listo, lo que no ocurre con los dispositivos de caracteres.

INT 21/44/08

IOCTL: Block Device Removable? (IOCTL: ¿Dispositivo de bloques removible?) Llamada

AH 44h AL 08h BL Número de unidad

Devuelve Bandera de acarreo en cero si hubo éxito

AX 00h, medios removibles 01h? Bandera de acarreo en uno si uno si hubo error

AX 01h, función inválida 0Fh, unidad inválida Comentarios Con esta subfuncion, las aplicaciones que deben localizar archivos de datos o superposiciones en un dispositivo particular pueden determinar si el dispositivo es removible o no.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/44/09 IOCTL: Block Device Local or Remote? (IOCTL: Dispositivo de bloques ¿local o remoto?) Llamada AH 44h AL 09h BL Número de unidad (0=actual, 1=A:, etc.) Devuelve Bandera de acarreo en cero si hubo éxito DX Palabra de atributo de dispositivo (si el bit 12=1, la unidad es remota; si es igual a 0, la unidad es local) Bandera de acarreo en uno si uno si hubo error AX 01h, función inválida 0Fh, unidad inválida Comentarios Determina si un dispositivo de bloques es local o remoto. Si la red no se ha iniciado, esta subfuncion devuelve el código de error 01h (función inválida). INT 21/44/0A IOCTL: Handle Local or Remote? (IOCTL: Control ¿local o remoto?) Llamada

AH 44h AL 0Ah BX Control

Devuelve Bandera de acarreo en cero si hubo éxito

DX Palabra de atributo de dispositivo (si el bit 15=1, el control es remoto; si es igual a 0, el control es local)

Bandera de acarreo en uno si uno si hubo error AX 01h, función inválida

06h, control inválido Comentarios Determina si el control es local o remoto. Si la red no se ha iniciada, esta subfuncion devuelve el código de error 01h (función invalida).

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/44/0B

IOCTL: Set Sharing Retry Count (IOCTL: Establecer conteo de reintentos de compartimiento) Llamada

AH 44h AL 0Bh CX Pausa entre reintentos DX ???????????l

Devuelve Bandera de acarreo en cero si hubo éxito Bandera de acarreo en uno si uno si hubo error

AX 01h, función inválida Comentarios Al trabajar con múltiples PC en una red, los parámetros de reintento están asociados con mecanismos de asignación exclusiva de archivos. Los dos parámetros (conteo de reintentos y pausa entre reintentos) dependen del sistema. Las diferencias en UCP y velocidad de reloj tienen un efecto sobre la longitud real de la pausa. Las asignaciones por omisión son PAUSE (pausa)=1 y RETRY (reintento)=3.

INT 21/44/0C

IOCTL: Generic I/O for Handles(IOCTL: E/S genérica para controles) Llamada

AH 44h AL 0Ch BX Control CH Código de categoría (tipo de dispositivo)

05h, impresora (DOS 3.2) 00h, desconocido (DOS 3.3) 01h, COMx (DOS 3.3) 03h, CON (DOS 3.3) 05h, LPTx (DOS 3.3)

CL Código de función secundario (si CH=3 o CH=5 ) 45h, establecer conteo de iteraciones (DOS 3.2 únicamente) 65h, obtener conteo de iteraciones (DOS 3.2 únicamente)

4Ah, seleccionar (DOS 3.3 y posteriores) 4Ch, preparar inicio (DOS 3.3 y posteriores) 4Dh, preparar fin (DOS 3.3 y posteriores) 6Ah, selección de solicitud (DOS 3.3 y posteriores)

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

6Bh, lista de preparación de solicitud (DOS 3.3 y posteriores) 7Fh, obtener información de presentación (DOS V4, CH=3 únicamente)

DS:DX Apuntador a palabra de conteo de iteraciones (DOS 3.2)

Apuntador a bloque de parámetros (DOS 3.3) Devuelve Bandera de acarreo en cero si hubo éxito Bandera de acarreo en uno si uno si hubo error

AX 01h, función inválida Comentarios La palabra de conteo de iteraciones especifica el número de veces que se intentara una operación. En DOS V3.3, esta subfuncion se modifico con el fin de manejar conmutación de páginas de código para dispositivos. La explicación del uso de esta subfuncion rebasa del alcance de este manual de bolsillo. INT 21/44/0D

IOCTL: Generic I/O for Block Devices(IOCTL: E/S genérica para dispositivos de bloques) Llamada

AH 44h AL 0Dh BL Número de unidad CH Código de categoría (tipo de dispositivo) 08h, unidad de disco (dispositivo de bloques) CL Código de función secundario 40h, establecer parámetros de dispositivo de bloques 41h, escribir pista en unidad lógica 42h, dar formato / verificar pista en unidad lógica 47h, establecer bandera de acceso (DOS V4)

61h, leer pista en dispositivo lógico 62h, verificar pista en unidad lógica 67h, obtener bandera de acceso (DOS V4) DS:DX Apuntador a bloque de parámetros

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Devuelve Bandera de acarreo en cero si hubo éxito Bandera de acarreo en uno si uno si hubo error

AX 01h, función inválida 02h, unidad inválida Comentarios Extiende la capacidad de controlar dispositivos de bloques. Varias operaciones primitivas se controlan a través de esta llamada IOCTL en forma independiente del dispositivo. La explicación de las funciones secundarias rebasa el alcance de este manual de bolsillo.

INT 21/44/0E IOCTL: Get Logical Drive Map (IOCTL: Obtener mapa de unidad lógica) Llamada

AH 44h AL 0Eh BL Numero de unidad (0=actual, 1=AL, etc.)

Devuelve Bandera de acarreo en cero si hubo éxito

AL Numero de unidad lógica asignado(0=sólo una unidad asignada, 1=AL, 2=B; etc.)

Bandera de acarreo en uno si uno si hubo error

AX 01h, función inválida 02h, unidad no valida Comentarios El número de unidad devuelto por esta llamada le indica la última designación de unidad usada para acceder a la unidad si más de una designación de unidad lógica se aplica al dispositivo.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/44/0F IOCTL: Set Logical Drive Map (IOCTL: Establecer mapa de unidad lógica) Llamada

AH 44h AL 0Fh BL Nuevo numero de unidad (0=actual, 1=AL, etc.)

Devuelve Bandera de acarreo en cero si hubo éxito

AL Numero de unidad (0=sólo una unidad asignada, 1=AL, 2=B; etc.)

Bandera de acarreo en uno si hubo error. AX 01h, función inválida 02h, unidad inválida Comentarios

Esta función sirve para cambiar la unidad lógica a la que se tendrá acceso enseguida a través de una unidad física. Después de un regreso exitoso, el valor de AL deberá ser igual al valor de BL cuando se llamó.

INT 21/45 Duplicate Handle (Duplicar control)

Llamada

AH 45h

BX Control de archivo

Devuelve

Bandera de acarreo en cero si hubo éxito

AX Nuevo control

Bandera de acarreo en uno si hubo error

AX 04h, no hay controles disponibles

06h, control inválido

Comentarios

La duplicación de un control de archivo proporciona otro control para el mismo archivo. Los apuntadores de archivo se mueven juntos.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/46

Force Duplicate Andel (Forzar duplicación del control)

Llamada

AH 46h

BX Primer control de archivo

CX Segundo control de archivo

Devuelve

Bandera de acarreo en cero si hubo éxito

Bandera de acarreo en uno si hubo error

AX 04h, no hay controles disponibles

06h, control inválido

Comentarios

Similar a Int 21/45, está función ocasiona que dos controles se refieran al mismo archivo y se muevan juntos. Si el control en CX se refiere a un archivo abierto, éste se cerrará.

INT 21/47

Get Current Directory(Obtener directorio actual)

Llamada

AH 47h

DL Código de unidad (0=actual, 1=A; etc)

DS SI Apuntador a buffer provisional de 64 bytes

Devuelve

Bandera de acarreo

BS:SI Apuntador a la trayectoria de directorio actual

Bandera de acarreo en uno si hubo error

AX 0Fh, unidad inválida

Comentarios

Devuelve una cadena ASCIIZ con el nombre de la trayectoria del directorio actual sin designador de unidad o diagonal invertida(\) precedente. Si el directorio es un directorio raíz, la cadena devuelta es NUL.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/48

Allocate Memory (Asignar memoria)

Llamada

AH 48h

BX Número de párrafos requeridos

Devuelve

Bandera de acarreo en cero si hubo éxito

AX Segmento inicial de bloque asignado

Bandera de acarreo en uno si hubo error

AX 07h, bloques de control de memoria destruidos

08h, memoria insuficiente

BX Máximo tamaño de bloque disponible(si AX=08h)

Comentarios

El apuntador es una dirección de segmento de la base del bloque (la dirección base es AX:0000h). Si falla el intento de obtener espacio, la función devuelve el tamaño del bloque de memoria disponible más grande.

INT 21/49

Relcase Memory(Liberar memoria)

Llamada

AH 49h

ES Segmento de bloque por liberar

Devuelve

Bandera de acarreo en cero si hubo éxito

Bandera de acarreo en uno si hubo error

AX 07h, bloques de control de memoria destruidos

09h, dirección de bloque de memoria inválida08h)

Comentarios

Supone que el bloque de memoria que se está liberando fue adquirido de

Int. 21/48. si no es así, la función puede fallar u ocasionar errores impredecibles.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/4A

Modify Memory Allocation(Modificar asignación de memoria) Llamada

AH 4Ah

BX Nuevo tamaño de bloque requerido en párrafos

ES Segmento de bloque por modifica

Devuelve

Bandera de acarreo en cero si hubo éxito

Bandera de acarreo en uno si hubo error

AX 07h, bloques de control de memoria destruidos

08h, memoria insuficiente

09h, dirección de bloque de memoria inválida

BX Máximo tamaño de bloque disponible(si AX=08h)

Comentarios

Esta función, a menudo denominada SETBLOCK (fijar bloque), modifica el bloque de memoria recibido a través de Int 21/28.

INT 21/4B

Execute Program (EXEC) (Ejecutar programa) (EXEC)

Llamada

AH 4Bh

AL 00, cargar y ejecutar un programa

03, carga de una superposición

ES:BX Apuntador a bloque de parámetros(véase tabla)

DS:DX Apuntador a especificación de archivo ASCIIZ

Devuelve

Bandera de acarreo en cero si hubo éxito

Todos los registros excepto CS e IP se pierden.

SS y SP deben almacenarse antes de la llamada.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Bandera de acarreo en uno si hubo error

AX 01h, función inválida

02h, archivo no encontrado

05h, acceso negado

08h, memoria insuficiente

0Ah, ambiente inválido

0Bh, formato inválido

Comentarios

Provee la ejecución de programas y el manejo de superposiciones. Cuando un nuevo programa (proceso hijo) ha terminado, el programa originador (proceso padre) retoma el control. El padre puede recibir un código de salida del hijo se este último usa una función de terminación que transfiere códigos de retorno. El control principal de operación es un bloque de parámetros apuntado por ES:BX, con el siguiente formato:

Función EXEC (AL=00h) Byte Longitud Contenido

00h Palabra Segmento de bloque de ambiente

02h Palabra doble Apuntador a final de orden

06h Palabra doble Apuntador a primer FCB

desplazamiento 5Ch)

0Ah Palabra doble Apuntador a segundo FCD

(desplazamiento 6Ch)

Función de superposición (AL=03h) Byte Longitud Contenido

00h Palabra Segmento de punto de carga para superposición

02h Palabra Factor de reubicación por aplicar a imagen de

código (sólo archivos. EXE)

El bloque de ambiente es una serie de cadenas ASCIIZ usada para pasar información de ambiente al programa que se está ejecutando. El final de la orden es una sola cadena que consiste en todo lo que se habría tecleado en la línea de orden después de aquella que se ejecutará. El formato es una cuenta de longitud de un solo byte, seguida por la cadena de caracteres y terminada con un retorno de carro.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/4C

Terminate with Return Code(Terminar con código de retorno)

Llamada

AH 4Ch

AL Código de retorno

Devuelve

Nada

Comentarios

Esta es la forma aprobada de terminar un programa; esta función es, en cuanto a operación idéntica a Int 20. Refiérase a la sección Comentarios de Int 20 para más información.

INT 21/4D

Get Return Code (Obtener código de retorno)

Llamada

AH 4Dh

Devuelve

AH Código de salida del sistema

00h=Terminación normal

01h=Terminación por Ctrl-C

02h=Terminación por error crítico de dispositivo

03h=Terminación por llamada a Int 21/31

AL Código de salida de proceso hijo

Comentarios

Cuando se llama, devuelve el código de salida del proceso hijo y del sistema una vez(y sólo una). El código de salida del sistema indica si el programa terminó normalmente.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/4E

Search for First Match (Buscar la primera coincidencia)

Llamada

AH 4Eh

CX Atributo por usar en la búsqueda

DS:DX Apuntador a especificación de archivo ASCIIZ.

Devuelve

Bandera de acarreo en cero si hubo éxito.

Bandera de acarreo en uno si hubo error.

AX 02h, archivo no encontrado

03h, trayectoria inválida

12h, no hay más archivos

Comentarios

Cuando se le da una cadena ASCIIZ que contiene un nombre de archivo completo(posiblemente con caracteres comodín), esta función coloca información sobre el archivo en la DTA(dirección de transferencia de disco).

Sólo se encontrarán aquellos archivos que coincidan con los atributos especificados. Entre los atributos de archivo pueden estar los siguientes:

Valor Tipos de archivo coincidentes

00h Normal

02h Normal y oculto

04h Normal y sistema

06h Normal, oculto y sistema

08h Etiquetas de volumen

10h Directorios

Cuando la función regresa, la DTA se establece de la siguiente manera:

Byte Longitud Contenido 00h 21 bytes Reservado para DOS 15h Byte Atributo de archivo coincidente 16h Palabra Hora de archivo 18h Palabra Fecha de archivo 1Ah P.doble Tamaño de archivo 1Eh 13 bytes Nombre y extensión ASCIIZ de el archivo

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/4F Search for Next Match(Buscar la siguiente coincidencia) Llamada AH 4F Devuelve Bandera de acarreo en cero si hubo éxito Bandera de acarreo en uno si hubo error Comentarios Si se usan caracteres comodín en la primera búsqueda (Int 21/4E), se pueden encontrar archivos adicionales que coincidan con la especificación de los caracteres comodín llamado repetidamente la función.

INT 21/54 Get Verify Flag (Obtener bandera de verificación) Llamada AH 54H Devuelve AL 00h, verificación desactivada 01h, verificación activada Comentarios

Devuelve el valor actual de la bandera de lectura des pues de escritura(verificación). Int 21/2E establece la bandera.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/56 Rename File (renombrar archivo) Llamada AH 56H DS:DX Apuntador a nombre ASCIIZ de archivo Actual DS:DI Apuntador a nuevo nombre ASCIIZ de archivo Devuelve Bandera de acarreo en cero si hubo éxito Bandera de acarreo en uno si hubo error AX 02h, archivo no encontrado 03h, trayectoria no encontrada 05h, acceso denegado 11h, no es el mismo dispositivo Comentarios Permite renombrar archivos incluso en directorios diferentes. En esta función no es válido usar caracteres comodín, pero si es posible especificar nombres de trayectorias completas. No renombrar archivos abiertos, pues esto puede traer resultados impredecibles. INT 21/57 Get/Set File date and Time (Obtener/Establecer fecha y hora de archivo) Llamada AH 57h AL 00h, obtener fecha y hora BX Control de archivo CX Hora DX Fecha Devuelve Bandera de acarreo en cero si hubo éxito CX Hora si se está obteniendo fecha y hora DX Fecha si se está obteniendo fecha y hora Bandera de acarreo en uno si hubo error AX 01h, función inválida (comportamiento de archivo) 06h, control inválido Comentarios Las funciones de fecha y hora trabajan sobre archivos Abiertos o creados con las funciones de control. A

continuación presentamos la disposición e interpretación de bits.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/59 Get Extend Error Information (obtener información ampliada de error) Llamada AX 59h BX 00 Devuelve AX Código de error ampliado (Véase tabla 13) BH Clase de error (Véase tabla 14) BL Acción recomendada (véase tabla 15) CH Lugar del error (Véase tabla 16) Comentarios Puede llamarse después de un error proveniente de Cualquier llamada a Int 21 o de Int 24 cuando se Devuelve un estado de error. También resuelve una Función FCB (bloque de control de archivos) que

devuelve un FFh. Esta función debe llamarse inmediatamente después de la ocurrencia de un error. A su regreso, los registros CL, DX, SI, DI, BP, DS y ES se destruyen. Si no hubo error, la función devuelve AX = 0 La información de error devuelta se muestra en las siguientes cuatro tablas.

Tabla 13. Códigos de error ampliados devueltos en AX Dec Hex Significado 1 01 Función inválida 2 02 Archivo no encontrado 3 03 Trayectoria no encontrada 4 04 No hay controles disponibles 5 05 Acceso negado 6 06 Control inválido 7 07 Bloques de control de memoria 8 08 Memoria Insuficiente 9 09 Dirección de bloque de memoria inválida 10 0A Ambiente inválido 11 0B Formato inválido 12 0C Código de accedo inválido 13 0D Datos inválidos 14 0E Reservado 15 0F Unidad inválida 16 10 Intento de eliminar directorio actual 17 11 No es el mismo dispositivo 18 12 No más archivos 19 13 Disco protegido contra escritura 20 14 Unidad desconocida

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

21 15 Unidad no preparada 22 16 Orden desconocida 23 17 Error de CRC 24 18 Longitud de estructura de solicitud errónea 25 19 Error de búsqueda 26 1A Tipo de medio 27 1B Sector no encontrado 28 1C Falta papel 29 1D Falla de escritura 30 1E Falla de lectura 31 1F Violación de comportamiento 32 20 Violación de exclusividad 33 21 Cambio de disco inválido 34 22 FCB no disponible 35 23 Desborde de buffer de compartimiento 36 24 Reservado 37 25 Incapaz de completar operación de archivo (DOS V4) 38 26 Reservado 39 - 49 27-31 Solicitud de red no permitida 50 32 Computador remoto no escucha 51 33 Nombre repetido 52 34 Nombre de red no encontrado 53 35 Red ocupada 54 36 Dispositivo de red ya inexistente 55 37 Límite de orden de red BIOS excedido 56 38 Error de adaptador de red 57 39 Respuesta de red incorrecto 58 3A Error de red no esperado 59 3B Adaptador remoto incompatible 60 3C Cola de impresión llena 61 3D No hay suficiente espacio para archivo de impresión 62 3E Archivo de impresión borrado 63 3F Archivo de impresión 64 40 Nombre de red borrado 65 41 Acceso negado 66 42 Tipo de dispositivo de red incorrecto 67 43 Nombre de red no encontrado 68 44 Límite de nombre de red excedido 69 45 Límite de sesión de red BIOS 70 46 Detenido temporalmente 71 47 Solicitud de red no aceptada 72 48 Redirección de impresión o de disco detenida 73 –79 49 – 4F Reservado 80 50 Archivo ya existente 81 51 Reservado 82 52 No puede crear entrada de directorio 83 53 Falla en Int 24

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

84 54 Demasiadas redirecciones 85 55 Redirección duplicada 86 56 Contraseña invalida 87 57 Parámetro invalido 88 58 Falla de datos de red 89 59 Función no permitida por la red (DOS V) 90 5A Componente de sistema requerido no instalado (DOSV4)

Tabla 14. Códigos de clase de error devueltas en BH Dec Hex Significado 1 01 Sin recursos 2 02 Situación temporal 3 03 Autorización 4 04 Interno 5 05 Falla del equipo 6 06 Falla del sistema 7 07 Error de programa de aplicación 8 08 No encontrado 9 09 Formato erróneo 10 0A Exclusivo 11 0B Medios de almacenamiento 12 0C Ya existente 13 0D Desconocido Tabla 15. Códigos de acción recomendada devueltas en BL

Código Significado 1 Reintentar. Si no se despeja en un número razonable de intentos, se

sugiere al usuario abortar o ignorar. 2 Retrasar y luego reintentar. Si no se despeja en un número razonable

de intentos. Se sugiere al usuario abortar o ignorar. 3 Obtener información corregida del usuario (nombre de archivo o

unidad de disco erróneo) 4 Abortar aplicación con limpieza 5 Abortar aplicación sin limpieza (la limpieza puede incrementar los

problemas) 6 Ignorar error 7 Sugerir al usuario corregir error y luego reintentar

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Tabla 16. Códigos de lugar de error devueltos en CH Código Significado 1 Desconocido 2 Dispositivo de bloque (disco o emulador de disco) 3 Red 4 Dispositivo serial 5 Relacionado con la memoria

INT 21/5A

Créate Temporaria File (Crear archivo temporal) Llamada AH 5Ah CX Atributo DS:DX Apuntador a especificación de trayectoria ASCIIZ con nombre de archivo encontrado Devuelve Bandera de acarreo en cero si hubo éxito AX Control DS:BX Apuntador a especificación de archivo ASCIIZ con nombre de archivo anexado Bandera de acarreo en uno si hubo error 03h, trayectoria no encontrada 04h, no hay controles disponibles 05h, acceso negado Comentarios Proporcione el nombre completo de la trayectoria al directorio (incluyendo la diagonal invertida de terminación)donde quiera crear un archivo temporal. También puede especificar el atributo del archivo que desea crear. La siguiente tabla proporciona atributos válidos que pueden establecerse mediante esta función, la cual devuelve un nombre de archivo único de acuerdo con sus propias reglas internas Valor Tipos de archivo coincidentes 00h Normal 02h Oculto 04h Sistema 06h Oculto y sistema

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/5B Créate File (Crear archivo) Llamada AH 5Bh CX Atributo DS:DX Apuntador a especificación de archivo Devuelve Bandera de acarreo en cero si hubo éxito AX Control Bandera de acarreo en uno si hubo error AX 03h, trayectoria no encontrada 04h, no hay controles disponibles 05h, acceso negado 50h, archivo ya existente Comentarios Esta función, que constituye el método normal para Crear un archivo, devuelve un control de archivo para Un acceso posterior. El archivo se crea como un archivo Normal con acceso de lectura/escritura. No se pueden

crear etiquetas de volumen ni subdirectorios. Los atributos válidos son los mismo que los listados para Int 21/5A

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/5C

Set File Access (Establecer acceso de archivo) Llamada AH 5Ch AL Código fuente 00h, exclusividad 01h, no exclusividad BX Control de archivo CX:DX Desplazamiento de región SI:DI Longitud de región Devuelve Bandera de acarreo en cero si hubo éxito Bandera de acarreo en uno si hubo error AX 01h, función inválida 06h, control inválido 21h, violación de exclusividad Comentarios Normalmente se usa en ambientes de tareas múltiples o

de red para evitar colisiones en actualizaciones de archivos. La exclusividad y la no exclusividad siempre debe coincidir. Cuando no se especifica la no exclusividad de un archivo, el Resultado es un archivo cuyo estado es indeterminado. Los controles de archivos duplicados con Int21/45 heredarán Acceso a regiones exclusivas. Los programas producidos con EXE (Int 21/4B) no heredan la exclusividad del archivo.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/5E

Network Services (servicios de red) Llamada AH 5Eh AL 00h, obtener nombre de máquina DS : DX Apuntador a buffer para recibir nombre de máquina AL 02h, establecer configuración de Impresora BX Índice de lista de redirección CX Longitud de cadena de configuración (más 64 bytes) DS : SI Apuntador a cadena de configuración AL 03h, obtener configuración de impresora BX Índice de lista de redirección

ES : DI Apuntador a buffer para recibir cadena de configuración

Devuelve Varía según la subfunción Comentarios Permite el control de una impresora dentro de una red. La explicación detallada de las diversas subfunciones rebasa el alcance de este manual de bolsillo.

INT 21/5F Network Redirección (Redirección de red) Llamada AH 5Fh AL 02h, obtener entrada de lista de redirección BX Índice de lista de redirección DS:SI Apuntador a buffer de 128 bytes para nombre de red AL 03h, Redirección de dispositivo BL Tipo de dispositivo 03 = Impresora 04 = Unidad de disco CX Parámetro de grabación para el que llama DS:SI Apuntador a nombre de red ASCIIZ seguido por

contraseña ASCIIZ AL 04h, cancelar redirección DS:SI Apuntador a nombre de dispositivo ASCIIZ Devuelve Varía según la subfunción. Comentarios

Esta función se emplea para obtener, establecer o cancelar la redirección de redes para dispositivos (impresoras o directorios de disco) en una red activa en ese momento. Los dispositivos COM, STDOUT y STDERR no pueden redirigirse. La explicación detallada de las diversas funciones rebasa el alcance de este manual de bolsillo.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/62 Get PSP Address (Obtener dirección de PSP) Llamada AH 62h Devuelve BX Dirección de segmento de PSP Comentarios

Permite al programa recuperar su dirección de PSP (Prefijo de segmento de programa) en cualquier momento sin tener que grabarla explícitamente.

INT 21/63 Get System Lead Byte Table (Obtener tabla de primeros bytes del sistema) obtiene la dirección de la tabla de primeros bytes del sistema o controla la bandera de la consola provisional.

Llamada AH 63h AL subfunción 00h, obtener dirección de la tabla de primeros bytes del sistema 01h, poner en uno o en cero la bandera de la consola provisional. 02h, obtener el valor de la bandera de la consola provisional. DL (si AL = 01) 00h, poner en uno la bandera de consola provisional. 01h, poner en cero la bandera de consola provisional. Devuelve Subfunción 00 DS:SI Apuntador de tabla de primeros bytes Subfuncion 01 Nada Subfunción 02 DL Valor de bandera de consola provisional Comentarios

Recupera la dirección de la tabla de primeros bytes del sistema o permite el control de la bandera de la consola provisional. Estas estructuras de datos están asociadas al manejo de sistemas de presentación de 2 bytes por carácter, tales como Kanji y Hangeul. La función se aplica a DOS V2.25 solamente.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/65 Get Extended Country Information (Obtener información ampliada del país) Llamada AH 65h AL identificación de la información deseada (1,2,3,4,5 ó 6) BX Página de código de interés (-1 = actual) CX Cantidad de datos por devolver DX Identificación del país (-1 = actual) ES:DI Apuntador a buffer al cual se devolverá información Devuelve Bandera de acarreo en cero si hubo éxito CX Cantidad de datos devueltos ES:DI Apuntador a buffer de información devuelta Bandera de acarreo en uno si hubo error AX 01h, función inválida 02h, archivo no encontrado Comentarios Recupera información específica del país tal como símbolo monetario, formato de fecha, etc. Las siguientes tablas muestran (por tipo de información, que está entre paréntesis en los encabezados de tablas) lo que se puede recuperar. El valor por omisión (-1) representa a los Estados Unidos. La llamada recupera sólo datos especificados en CX. Si la tabla contiene datos adicionales, los datos serán truncados y no se devolverá ningún error.

Buffer de información ampliada de país (01) Byte Longitud Significado 00h Palabra Identificación de información = 01 01h Palabra Tamaño (38 o menos) 03h Palabra Identificación del país 05h Palabra Página de código Para el resto de la tabla, véanse las tablas devueltas de Int 21/38.

Tabla ampliada de mayúsculas de país (02)

Byte Longitud Significado 00h Byte Identificación de información = 02 01h P. Doble Apuntador a tabla de mayúsculas Tabla ampliada de mayúsculas de nombre de archivo de país (04)

Byte Longitud Significado 00h Byte Identificación de información = 04 01h P. Doble Apuntador a tabla de mayúsculas de nombre de archivo. Tabla ampliada de comparación de país (06)

Byte Longitud Significado 00h Byte Identificación de información = 06

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

01h P. Doble Apuntador a tabla de comparación INT 21/66 Get/Set Global Code Page (Obtener/establecer página de código global) Llamada AH 66h AL 01h, obtener página de código global AL 02h, establecer página de código global BX Página de código activo DX Página de código de sistema Devuelve Bandera de acareo en cero si hubo éxito Subfunción 01 BX Página de código activo DX Página de código de sistema Subfunción 02 Nada Bandera de acarreo en uno si hubo error AX 02h, archivo no encontrado Comentarios

Traslada la información de país almacenada en COUNTRY.SYS a un área de buffer de país residente, la pagina de código.

Set Handle Count (Establecer conteo de controles)

INT 21/67

Llamada AH 67h BX Número de controles abiertos que se permitirán Devuelve Bandera de acarreo en cero si hubo éxito. Bandera de acarreo en uno si hubo error AX Código de error Comentarios

Permite al programa manejar el número de controles de archivos disponibles para uso. La memoria se asigna a partir de la memoria liberada por Int 21/4A. Si el número de controles es menor que el número actual de archivos abiertos, el cambio se vuelve efectivo cuando el número actual de archivos disminuye por debajo del nuevo limite.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 21/68

Flush Buffer (Desalojar buffer) Llamada

AH 68h BX Control de archivo

Devuelve Bandera de acarreo en cero si hubo éxito Bandera de acarreo en uno si hubo error

AX Código de error Comentarios Desaloja e contenido de los buffers de archivo de DOS al disco, asegurando que toda la información haya sido escrita de manera segura en el archivo. INT 21/6C

Extend Open Créate /Abrir/crear de manera ampliada) Llamada AH 6Ch AL 00 BX Modo de apertura (véase la tabla en Comentarios) CX Atributo de archivo (solo si está creado) DX Control de función (véase la tabla en Comentarios) DS:SI Especificación de archivo ASCIIZ Devuelve Bandera de acarreo en cero si hubo éxito AX Control CX 01h, archivo abierto 02h, archivo creado y abierto 03h, archivo truncado y abierto Bandera de acarreo en uno si hubo error AX Código de error Comentarios

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Esta es una adición a las otras funciones de apertura y creación mediante control que DOS provee para archivos. El indicador de modo de apertura (BX) se establece de acuerdo con la siguiente tabla. F E D C B A 9 8 7 6 5 4 3 2 1 0 Significado. . . . . . . . . . . . . 0 0 0 Acceso de lectura . . . . . . . . . . . . . 0 0 1 Acceso de escritura . . . . . . . . . . . . . 0 1 0 Acceso de lectura / escritura . . . . . . . . . . . . 0 . . . Reservado (debe ser 0) . . . . . . . . . 0 0 0 . . . . Modo compartido . . . . . . . . . . . . . . . . Modo de compatibilidad . . . . . . . . . 0 0 1 . . . . Modo compartido . . . . . . . . . . . . . . . . acceso de lectura / escritura . . . . . . . . . 0 1 0 . . . . Modo compartido . . . . . . . . . . . . . . . . acceso de escritura negado . . . . . . . . . 0 1 1 . . . . Modo compartido . . . . . . . . . . . . . . . . acceso de escritura negado . . . . . . . . . 1 0 0 . . . . Modo compartido . . . . . . . . 0 . . . . . . . Heredado por proceso hijos . . . . . . . . 1 . . . . . . . Exclusividad del proceso actual . . . 0 0 0 0 0 . . . . . . . . Reservado . . 0 . . . . . . . . . . . . . Int 24 (error crítico) funciona

normalmente para este archivo . . 1 . . . . . . . . . . . . . Int 24 no se genera durante ningún

acceso de archivo que involucra a este archivo

0 . . . . . . . . . . . . . . Escribir archivo en buffer sólo cuando el buffer de archivos interno de DOS está lleno.

. 1 . . . . . . . . . . . . . Desalojar buffer a archivo después de cada escritura en un archivo (como con Int 21/68).

0 . . . . . . . . . . . . . . Reservado El indicador de control de función (DX) se establece de la manera siguiente: FEDCBA98 76543210 Significado . . . . . . . . . . . . . . . . Si el archivo existe, generar error y no realizar ninguna acción. . . . . . . . . . . . . 0001 Si el archivo existe, abrirlo . . . . . . . . . . . . 0010 si el archivo existe, truncar y abrir . . . . . . . . 0000 . . . . Si el archivo no existe, generar error y no realizar ninguna acción

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

. . . . . . . . 0001 . . . . Si el archivo no existe, crearlo 00000000 . . . . . . . . Reservado INT 22 Terminate Address (Dirección de terminación) Llamada No aplicable Devuelve No aplicable Comentarios

Esta no es una interrupción; es la dirección a la que se transfiere el control cuando termina el programa que se está ejecutando. Cuando se carga un programa, esta dirección se copia en el desplazamiento 0Ah de PSP (prefijo de segmento de programa). Cuando el Programa termina, este valor se restablece desde el PSP.

INT 23 Ctrl.-C Interrupt Vector (Vector de interrupción Ctrl.-C) Llamada No aplicable Devuelve No aplicable Comentarios

Esta no es una interrupción; es un vector que mantiene la dirección de la rutina que recibe el control cuando ocurre la detección de Ctrl.-C o Ctrl. – Break.

INT 24

Critical – Error Vector (Vector de error crítico) Llamada No aplicable Devuelve No aplicable Comentarios Cuando se invoca el manejo de errores críticos, el bit 7 del registro AH tendrá cero si el problema se debe a error de E/S de disco; de lo contrario, el bit 7 tendrá uno. BP:SI apuntará al bloque de control de encabezado de dispositivo, donde se almacena información adicional DX deben ser preservados por el manejador. Cuando se activa, el manejador debe realizar las grabaciones de registros necesarias y luego intentar manejar el error. Sólo las funciones

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Int 21/00 a Int 21/0C pueden invocarse desde dentro de un manejador de error crítico. La disposición de registros incluye un código de error en el byte inferior del registro DI. Estos códigos de error, mostrados en la siguiente tabla, son los mismos que los devueltos por los manejadores de dispositivos en el encabezado de solicitud.

Código Significado00h Error por protección contra escritura. 01h Unidad desconocida 02h Unidad no lista 03h Orden desconocida 04h Error de datos (CRC erróneo) 05h Longitud de estructura de solicitud errónea 06h Error de búsqueda 07h Tipo de medio de almacenamiento desconocido 08h Sector no encontrado 09h Impresora sin papel 0Ah Falla de escritura 0Bh Falla de lectura 0Ch Falla general Cuando el manejador de error crítico está listo para regresar, debe establecer un código de acción en AL: Código Significado00h Ignorar error 01h Reintentar operación 02h Terminar programa a través de Int 23h 03h DOS V3; llamada de falla del sistema en progreso

INT 25 Absolute Disk Read (Lectura de disco absoluta) Llamada AL Número de unidad (0 = A; 1 = B ; etc.)

CX Número de sectores por leer o -1 si se está usando la dirección del bloque de control en DS:BX (DOS V4)

DX Número inicial de sector (lógico) relativo DS:BX Apuntador a DTA o bloque de control (DOS V4) Devuelve Bandera de acarreo en cero si hubo éxito. Bandera de acarreo en uno si hubo error. AX Código de error Comentarios Leer un sector de disco y lo almacena en la DTA (dirección de transferencia de disco) accediendo directamente al sector lógico

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

deseado. Los sectores lógicos se localizan comenzando con la pista 0, cabeza 0, sector 0. Si está usando DOS 4.0 y requiere información de sector de 32 bits, establezca CX en -1 (FFFFh) y apunte DS:BX a un bloque de control dispuesto de la siguiente manera:

Desp Longitud Significado 00h P. doble Número de sector de inicio 04h Palabra Numero de sectores por leer 06h P. doble Apuntador a DTA

Si la bandera de acarreo vale uno cuando la función regresa, AH y AL se interpretan como códigos de error separados. Los códigos de error devueltos en AH se Presenta a continuación; aquellos devueltos en AL son los mismos que los devueltos en DI para Int 24 ( véase la sección Comentarios de Int 24). Código Significado 80h El periférico no respondió 40h Falla en operación de búsqueda 20h Controlador fallido 10h Error de datos (CRC erróneo) 08h Falta de DMA 04h Sector solicitado no encontrado 03h Falla por protección contra escritura 02h Marca de dirección errónea 01h Orden errónea

INT 26 Absolute Disk Write ( Escritura de disco absoluta ) Llamada

AL Número de unidad (0= A:, 1= B:, etc.) CX Número de sectores por escribir o 4 si se usa la

dirección de bloque de control en DS:BX (DOS V4) DX Número de sector (lógico) relativo de inicio DS:BX Apuntador a DTA o bloque de control (DOS V4)

Devuelve AX Código de error Comentarios Escribe el sector lógico de disco de DTA accediendo directamente al sector lógico deseado. Esta función es la opuesta de Int 25 y opera exactamente igual que ella. Los comentarios listados en Int 25 se aplican también a esta función.

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

INT 27

Terminate and Stay Residen (TRS, Terminar y permanecer residente) Llamada

DX Desplazamiento del último byte más 1 (relativo al PSP) programa que debe permanecer como residente

CS Segmento de PSP Devuelve Nada Comentarios Al terminar, el procedimiento restablece Int 22 (dirección d

terminación), Int 23 (vector de interrupciones Ctrl.-C) e Int 24 (vector de error crítico) y luego transfiere el control a la dirección de terminación. Permite al programa retener su área de memoria (DX) de tal modo que TRS pueda permanecer activo. Esta interrupción no cierta ningún no cierra ningún archivo abierto que pueda haber.

INT 2F

Print Installation Check (Verificación de instalación para imprimir) Llamada AL 00h, obtener estado instalado 01h, indicar archivo por imprimir 02h, eliminar archivo de cola de impresión 03h, cancelar todos los archivos en cola

04h, detener trabajos de impresión para lectura de estado

05h, terminar detención para lectura de estado

DS:DX Apuntador a dirección de paquetes (subfunción 01h) o especificación de archivo ASCIIZ (subfunción 02h)

Devuelve Varía según la subfunción Comentarios Da acceso a un programa al almacenador temporal de la impresora. La explicación detallada de esta función rebasa el alcance de

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

este manual de bolsillo. Véase DOS Programmer´s Reference, libro duplicado por Que Corporation.

A

Abrir Archivo, 114 – 115 Dispositivo, 48 Abrir / crear de manera ampliada 155 – 159 Ah – PrtSe (SysReq, Sistema presionado) 51 – 52 Ampliado(cx) Abrir / crear de manera, 158 – 159 Código de error, 146 – 148 Del país, información, 155 – 156 Tamaño de memoria, 54 Análisis sintáctico de nombre de Archivo, 102 – 103 Archivo Abrir, 114 – 115, 158 – 159 Aleatorio, lectura / escritura de(FCR), 96 – 97 Análisis sintáctico de nombre de, 101 – 103 Borrar, 117 – 118 Cerrar, 115 – 116 Crear, 149 – 150, 158 – 159 Crear / truncar, 113 – 114 Control, 113 –117, 118 – 119, 133 – 134,157 Escribir, 117 Establecer acceso de, 151 FCB, 75, 86 – 93, 96 – 103 Leer, 116 Mover apuntador de, 118 – 119 Obtener / establecer Atributos de, 119 – 120 Fecha y hora de, 144 – 145 Obtener tamaño de (FCB), 97 – 98 Renombrar, 92 – 93, 143 Secuencial, leer / escribir (FCB), 90 – 91 Temporal, 149 – 150 Truncar, 113 – 114 Arranque en caliente, 67 – 68 Asignar Memoria, 136 – 137 Valores iniciales a la tabla de disco duro, 34 Atributo, leer / escribir, 17 – 18

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

B Bandera(s) De teclado, 63 De verificación, 105 – 106, 142 – 143 BIOS, lista de funciones de, 2 – 7 Bloque

De control de archivos estándar (FCB, File Control Block, Bloque de control de archivos), 76

Mover, 53 Borrar archivo, 117 – 118 FCB, 89 – 90 Buffer Desalojar, 85, 157 – 158 Entrada STDIN, 83 Buscar La primera coincidencia, 141 – 142 La primera entrada (FCB), 87 – 90 C Cadena Escribir, 26 Mostrar, 82 – 83 Campo de registro aleatorio (FCB), 98 Carácter(es) De despliegue gráfico, proyección de bits de, 74 En la pantalla de video, repite el, 79 Gráficos generadores de, 24 – 26 Leer / escribir En el cursor, 18 – 19 En impresora, 66 En puerto de comunicaciones, 42 Cerrar Archivo, 116 Dispositivo, 49

Cilindro, buscar, 36 – 37 Código

De error, 145 – 148, 162 D retorno, Obtener, 149 Terminar con, 139 – 140 Página de, 156 – 157

CONTIG SYS, 16 Contador de reloj, obtener / fijar, 68 – 69 Conteo de reintentos de

Compartimiento, (IOCTL), 129 – 130 control(es) Archivo, 113 – 117, 118 – 119, 133 – 134, 157 Duplicar, 134

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

E/S genérica (IOTCL), 130 – 133 Establecer conteo de, 157 ¿local o remoto? (IOTCL), 129

COUNTRY SYS, 157 Ctrl-Break, 72, 80 – 84, 108, 161 Ctrl-C, 80 – 84, 108, 161, 165 Cursor, 13 –14

D

DASD (Direct Access Starage Device, Dispositivo de almacenamiento de acceso directo), 38 – 39 Desalojar buffer, 85, 158 Descriptor global, 11 Despejar pantalla, 12 Desplazar la ventana hacia arriba / hacia abajo, 16 – 17 Dirección, De DTA, fijar, 94

De segmento (EBDA, Área de datos del BIOS ampliado), 58 – 59

De terminación, 160 Del manejador de Ctrl.-Break, 72 Obtener De DTA, 106 De PSP, 153 Directorio, Crear, 112 Eliminar, 112 – 113 Establecer actual, 113 Obtener actual, 113

Disco, Absoluto, lectura / escritura de, 163 – 164 Controlador de, 10, 29 – 39, 74 Disquete, 28 – 29 Duro, Buscar cilindro, 36 – 37 Leer / escribir sector largo, 34 – 36 Restablecer, 37 Valores iniciales de, 34 Escribir / verificar rectores de, 30 – 31 Escritura absoluta de, 1614 – 165 Espacio libre del, 109 Formato, A pista del, 31 Fijar tipo de DASD para, 39 – 40 Fijar tipo del medio de almacenamiento para dar, 40 – 41 Interrupción periódica de unidad de, 45 – 46 Leer estado de línea de cambio de, 39

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Parámetros de, 32 – 33 Reinicio de, 85 – 86 Seleccionar, 86 Disposición de GDT fuente / destino, 12

Dispositivo(s), Abrir / cerrar, 48 – 49 De bloque (IOCTL) E/S genérico 131 – 132 ¿local o remoto?, 128 – 129 IOTCL: obtener / establecer información del, 120 – 121 Leer / escribir (IOTCL), 116 – 117, 122 – 124 Ocupado, 55 Palabra de datos de, 122 Disquete, 28 – 30 DOS Lista de funciones de 2 – 7 Número de versión de 106 – 107 DTA Fijar dirección de, 106 Duplicar control, 134 E

EBDA (Estándar Bios Data Area, Area de datos del BIOS ampliada), devolver dirección del segmento del, 58 – 59

Error crítico, 159 – 161, 165 E/S (entrada/ salida) Auxiliar, 79 – 80 Directa de la consola, 81 Genérica (IOTCL), 130 – 133 Escritura de disco absoluta, 164 – 165 Espacio libre del disco, 109 Espera, 52 – 53 De eventos, 50 Estado, De MODEM, 11, 44 – 45 De puerto, 10, 41 – 45 De teclado, bandera de, 65 – 66 Del equipo, palabra de, 9 F FCR (File Control Block, Bloque de control de archivos), 76, 86 – 93, 96 – 103 Fecha, obtener / establecer, 103 – 104, 144 – 145 Fijar paleta de color, 19 – 20, 22 – 23 Formato A pista disco, 31 Fijar tipo de DASD para, 39 – 40 Fijar tipo de medio de Almacenamiento para dar, 40 – 41

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

Interrupción periódica de unidad de, 45 – 46 Fuente / destino, dispositivo de GDT, 12 G GDT (Global Descriptor Table, Tabla de descriptor global), 11, 54 – 55 Gráficas generadoras de caracteres, 24 – 26 Gráfica(s) Tabla de proyección de bits de caracteres de despliegue, 74 Píxel para leer / escribir, 20 – 21 H Hora, obtener / establecer, 104 – 105, 144 – 145 I Impresión, 66 – 67 Estado de, 12, 66 – 67 Verificación de instalación para, 165 – 166 Impresora, Escribir carácter en, 66 Salida de, 80 – 81 Información del país, obtener / establecer, 110 – 111, 155 – 156 Interfaz con el dispositivo apuntador (PS/2), 59 – 60 Interrupción, Completo, 56 – 57 De reloj de tiempo real, 75 De ---- 73 Vector de, Ctrl.-C, 161 Obtener, 109 Establecer, 99 IOTCL, 120 – 134 --------- 116 – 117, 122 – 124 de comportamiento, 129 – 130 --------- 129 -------- 128 – 129 E/S genérica, 130 – 132 Información del dispositivo, 120 – 121 Manipulador de bloques de lectura / escritura, 125 – 126 Mapa de unidad lógica, 132 – 133 Salida / entrada, 126 – 127 L LASTDRIVE, 15 Lectura de disco absoluto, 163 – 164 Liberar memoria, 136 – 137

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

M Manejador de bloques (IOCTL), lectura / escritura, 125 – 126 Mapa de unidad lógica, (IOCTL),132 – 133

Memoria, Asignar, 136 – 137 Liberar, 136 – 137 Modificar asignación de, 137 – 138 Obtener tamaño de la, 27 – 28

Modificar asignación de memoria, 137 – 138 Modo de teletipo , escribir texto en, 21 – 22 Modo de presentación, 8 – 9, 12 – 13, 21 – 22 Mostrar Cadena, 82 – 83 Salida, 79 Mover Apuntador de archivo, 118 –119 Bloque, 53 N Número De unidad de arranque, 108 De versión de DOS, 106 – 107 P Página De código global, obtener / establecer, 156 – 157 De video (presentación visual), 16 Palabra de estado del equipo, 9, 27 Parámetros De configuración del sistema, 57 – 58 De unidad de disco, 32 – 33 Píxel, leer / escribir, 20 – 21 Pluma luminosa, 14 – 15 POS (Programable Option Select, Seleccionar Opción programable), 61

POST(Power On Sey-Test) bitácora de errores en auto prueba de encendido(PS/2),46 – 47

Preparación ampliada (PS/2), 43 – 44 Preparar Puerto de comunicaciones, 41 Puerto de impresión, 66 – 67 Programa, Ejecutar (EXEC), 138 – 139 Terminación de, 49 – 50, 77 – 78

PSP(Program Segment Prefix, Prefijo de segmento de programa), 78, 99, 153, 161

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

PS/2, 33, 38, 41, 43, 50, 53, 58 – 59, 69 – 72, 75 Puerto de comunicaciones, 41 – 43, 45

R Red, 151 – 153 Reinicio De disco, 85 – 86 De disco duro, 37 Reloj de tiempo real, 69 – 72, 75 Renombrar archivo, 92 – 93, 143 Restablecer sistema de disquetes, 28 S Sector largo, leer / escribir, 34 – 36 Seleccionar página de presentación visual activa, 15 – 16 SETBI.OCK, 138 Sistema Arranque en caliente del, 67 – 68 Devolver parámetros de configuración del, 57 – 58 Fecha, hora del, 103 – 104 Fijar alarma del, 71 – 72 Obtener tabla de primeros bytes del, 154 Tecla de solicitud de, 51 – 52 Valores del, 108 Soporte de palanca de mando, 51 STDAUX, 80 STDIN, 79, 81 – 84 STDOUT, 79 STDPRN, 80 – 81

Subdirectorio Crear, 112 Eliminar, 112 – 113 Establecer actual, 113 Obtener actual, 135 – 136

T Tabla de parámetros para la inicialización de video, 73 – 74 Teclado, 47 – 48, 62 – 66, 78 – 79 Terminación, De programa, 49 – 50, 77 – 78 Dirección de, 160 – 161 Terminar Con código de retorno, 139 – 140 Y permanecer residente, 107 – 108, 165 Tiempo de espera del cronómetro principal, habilitar / inhabilitar, 60 – 61

MANUAL DE BOLSILLO FUNCIONES DE DOS Y BIOS

U Unidad por omisión, Fijar, 86 Obtener, 93 – 94 V Vector de error crítico, 161 – 162 Ventana Despejar, 16 Desplazar hacia arriba / hacia abajo, 16 – 17 Verificación de instalación para imprimir, 165 – 166 Verificar sectores de disco, 30 – 31 Video Modos de presentación en, 8 – 9, 12, 22 Tabla de parámetros para la inicialización de, 73