Compilar juicio sin entrada de teclado
0B Verificar el estado del teclado AL=00 con entrada AL=FF sin entrada
Interrumpir llamada
Parámetro de retorno de parámetro de llamada de función AH
00 El programa termina (igual que INT 20H) CS=prefijo de segmento de programa
01 Entrada de teclado y eco AL=caracteres de entrada
02 Salida de pantalla DL=caracteres de salida
03 Entrada de comunicación asíncrona AL=datos de entrada
04 Salida de comunicación asíncrona DL=datos de salida
05 Salida de impresora DL=carácter de salida
06 Estación de control directo I /O DL=FF(entrada)DL=Carácter(salida) AL=Carácter de entrada
07 Entrada de teclado (sin eco) AL=Carácter de entrada
08 Entrada de teclado (sin eco) Detectar Ctrl-Break AL=Ingresar carácter
09 Mostrar cadena DS: DX=Dirección de cadena '$' termina la cadena
0A Entrada de teclado al búfer DS: DX=primera dirección del búfer (DS :DX)=número máximo de caracteres en el búfer (DS:DX 1)=número real de caracteres ingresados
0B Verificar el estado del teclado AL=00 Entrada AL=FF Sin entrada
0C Borre el búfer de entrada y solicite la función de entrada especificada AL=número de función de entrada (1, 6, 7, 8, A)
0D El reinicio del disco borra el búfer de archivos
p>
0E Especificar la unidad de disco predeterminada actual DL=número de unidad 0=A, 1=B,... AL=número de unidad
0F Abrir archivo DS: DX=primera dirección de FCB AL =00 Archivo encontrado AL=FF Archivo no encontrado
10 Cerrar el archivo DS: DX=FCB primera dirección AL=00 Modificación del directorio exitosa AL=FF Archivo no encontrado en el directorio
11 Buscar el primero entrada de directorio DS: DX=primera dirección de FCB AL=00 encontrada AL=FF no encontrada
12 Busque la siguiente entrada de directorio DS: DX=primera dirección de FCB (con * o ? en el archivo) AL=00 encontrado AL=FF no encontrado
13 Eliminar archivo DS: DX=Primera dirección FCB AL=00 eliminado exitosamente AL=FF no encontrado
14 Leer DS secuencialmente: DX= Primera dirección FCB AL=00 Lectura exitosa=01 Fin del archivo, no hay datos en el registro=02 Espacio DTA insuficiente=03 Fin del archivo, registro incompleto
15 Escribir DS secuencialmente: DX=Primera dirección FCB AL=00 Escribir exitosamente = 01 Disco lleno = 02 El espacio DTA no es suficiente
16 Crear archivo DS: DX=FCB primera dirección AL=00 Crear exitosamente =FF No hay espacio en disco
17 Cambiar nombre de archivo DS : DX=primera dirección de FCB (DS: DX 1) = nombre de archivo antiguo (DS: DX 17) = nombre de archivo nuevo AL=00 Exitoso AL=FF No exitoso
19 Obtener la unidad de disco predeterminada actual
AL=letra de unidad predeterminada 0=A, 1=B, 2=C,...
1A Establecer dirección DTA DS: DX=dirección DTA
1B Tomar información FAT de unidad predeterminada AL = número de sectores por clúster DS: BX = byte de identificación FAT CX = tamaño del sector físico DX = número de clústeres de la unidad predeterminada
1C Tome cualquier información FAT de la unidad DL = unidad El número es el mismo que arriba
21 Lectura aleatoria DS: DX=Primera dirección FCB AL=00 Lectura exitosa=01 Fin del archivo=02 Desbordamiento del búfer=03 El búfer no está lleno
22 Escritura aleatoria DS: DX=Primera dirección FCB AL=00 Escritura exitosa=01 Disco lleno=02 Desbordamiento del búfer
23 Determinar el tamaño del archivo DS: DX=Primera dirección FCB AL=00 Éxito (la longitud del archivo se completa en FCB) AL= FF no encontrado
24 Establecer número de registro aleatorio DS: DX=primera dirección FCB
25 Establecer vector de interrupción DS: DX=vector de interrupción AL=número de tipo de interrupción
26 Crear prefijo de segmento de programa DX=nuevo prefijo de segmento de programa
27 Leer DS en bloques aleatorios: DX=primera dirección de FCB CX=número de registros AL=00 Lectura exitosa=01 Fin del archivo=02 Buffer también grande Pequeño, final de transmisión=03 el búfer no está lleno
28 Escriba DS en bloques aleatorios: DX=primera dirección de FCB CX=número de registros AL=00 escritura exitosa=01 disco lleno=02 desbordamiento del búfer p>
29 Nombre del archivo de análisis ES: DI=Primera dirección FCB DS: SI=cadena ASCIIZ AL=Indicador de análisis de control AL=00 Archivo estándar=01 Archivo ambiguo=02 Letra de unidad ilegal
2A Obtener la fecha CX=Año DH:DL=Mes:Día (binario)
2B Establecer fecha CX:DH:DL=Año:Mes:Día AL=00 Éxito=FF Inválido
2C Obtener hora CH: CL = hora: minuto DH: DL = segundo: 1/100 segundo
2D Establecer hora CH: CL= hora: minuto DH: DL= segundo: 1/100 segundo AL=00 Éxito = FF no es válido
2E Configure el indicador de lectura y escritura automática del disco AL=00, cierre el indicador AL=01, abra el indicador
2F Obtenga la primera dirección del disco buffer ES: BX=la primera dirección del buffer
30 Obtener el número de versión de DOS AH=número de versión, AL=versión
31 Finalizar y permanecer AL=código de retorno DX=residencia tamaño del área
33 Ctrl - Detección de ruptura AL=00 Obtener estado = 01 Establecer estado (DL) DL = 00 Desactivar detección = 01 Activar detección DL = 00 Apagar Ctrl-Detección de ruptura = 01 Activar Ctrl-Detección de interrupción
35 Obtener vector de interrupción AL=tipo de interrupción ES: BX=vector de interrupción
36 Obtener espacio libre en disco DL=número de unidad 0=predeterminado, 1=A, 2 =B,... Éxito: AX=sectores por conglomerado Número BX = número efectivo de conglomerados CX
=Número de bytes por sector DX=Número total de clusters Fallo: AX=FFFF
38 Establecer/obtener información del país DS: DX=primera dirección del área de información BX=código de país (código de prefijo telefónico internacional) AX= Código de error
39 Crear subdirectorio (MKDIR) DS: DX=Dirección de cadena ASCIIZ AX=Código de error
3A Eliminar subdirectorio (RMDIR) DS: DX=Dirección de cadena ASCIIZ AX= Código de error
3B Cambiar el directorio actual (CHDIR) DS: DX=Dirección de cadena ASCIIZ AX=Código de error
3C Crear archivo DS: DX=Dirección de cadena ASCIIZ CX=Atributos del archivo Con éxito: AX =Error de código de archivo: AX=Código de error
3D Abrir archivo DS: DX=Dirección de cadena ASCIIZ AL=0 Lectura=1 Escritura=3 Lectura/escritura exitosa: AX=Error de código de archivo: AX=Código de error
3E Error al cerrar el archivo BX=Código de archivo: AX=Código de error
3F Leer archivo o dispositivo DS: DX=Dirección del buffer de datos BX=Código de archivo CX=Leer el número de bytes leídos correctamente: AX=el número de bytes realmente leídos AX=0 Se ha llegado al final del archivo y el error de lectura: AX=código de error
40 Escribir archivo o dispositivo DS: DX=búfer de datos dirección BX =Código de archivo CX=Número de bytes escritos exitosamente: AX=Número de bytes realmente escritos Error de escritura: AX=Código de error
41 Eliminar archivo DS: DX=Dirección de cadena ASCIIZ exitosa: AX =00 error : AX=código de error (2, 5)
42 Mover puntero de archivo BX=código de archivo CX: DX=cantidad de desplazamiento AL=modo de movimiento (0: desplazamiento absoluto desde el principio del archivo, 1: desde Movimiento relativo de la posición actual, 2: desplazamiento absoluto desde el final del archivo) Éxito: DX: AX=nuevo error de posición del puntero del archivo: AX=código de error
43 Establecer/obtener atributo de archivo DS: DX =Dirección de cadena ASCIIZ AL =0 Obtener atributo de archivo AL=1 Establecer atributo de archivo CX=Atributo de archivo Éxito: CX=Atributo de archivo Fallo: CX=Código de error
44 Control de E/S del archivo del dispositivo BX=Código de archivo AL=0 Obtener estado =1 Establecer estado DX =2 Leer datos=3 Escribir datos=6 Obtener estado de entrada=7 Obtener estado de salida DX=Información del dispositivo
45 Copiar código de archivo BX=Código de archivo 1 Éxito: AX=Error del código de archivo 2: AX=código de error
46 Copiar manualmente el código de archivo BX=código de archivo 1CX=Error del código de archivo 2: AX=código de error
47 Obtener el directorio actual nombre de ruta DL=letra de unidad DS: SI=dirección de cadena ASCIIZ (DS: SI)=cadena ASCIIZ Error: AX=Código de error
48 Asignar espacio de memoria BX=Solicitar capacidad de memoria con éxito: AX=Error asignar ubicación de memoria: BX=Memoria máxima disponible
49 No se pudo liberar espacio de contenido ES=Dirección del segmento inicial de memoria: AX=Código de error
4A Ajustar el bloque de almacenamiento asignado ES=Memoria original dirección inicial BX=Re La capacidad solicitada falló: BX=espacio máximo disponible AX=código de error
4B Programa de ensamblaje/ejecución DS: DX=dirección de cadena ASCIIZ ES: BX=primera dirección del área de parámetros AL=0 Carga ejecución AL
=3 Error al cargar sin ejecución: AX=código de error
4C Finalizar con código de retorno AL=código de retorno
4D Obtener código de retorno AX=código de retorno
4E Encuentre el primer archivo coincidente DS: DX=dirección de cadena ASCIIZ CX=Atributo AX=Código de error (02, 18)
4F Encuentre el siguiente archivo coincidente DS: DX=dirección de cadena ASCIIZ (en el nombre del archivo Con ? o *) AX=código de error (18)
54 Indicador de lectura y escritura automática AL=valor del indicador actual
56 Cambio de nombre de archivo DS: DX=cadena ASCIIZ (antigua)ES: DI=cadena ASCIIZ (nueva) AX=código de error (03, 05, 17)
57 Establecer/obtener fecha y hora del archivo BX=Código de archivo AL=0 Leer AL=1 Establecer (DX: CX) DX: CX=Fecha y hora Fallo: AX=Código de error
58 Obtener/establecer código de estrategia de asignación AL=0 Obtener código AL=1 Establecer código (BX) Éxito: AX=Código de estrategia Fallo: AX= código de error
59 Obtener código de error extendido AX=código de error extendido BH=tipo de error BL=operación recomendada CH=ubicación del error
5A Crear archivo temporal CX=archivo Atributo DS: DX= Dirección de cadena ASCIIZ Éxito: AX=Nombre de código de archivo Fallo: AX=Código de error
5B Crear un nuevo archivo CX=Atributo de archivo DS: DX=Dirección de cadena ASCIIZ Éxito: AX=Nombre de código de archivo Fallo: AX= Código de error
5C Control de acceso al archivo AL=00 Bloqueado=01 Abrir BX=Código de archivo CX: DX=Desplazamiento del archivo SI: DI=Error en la longitud del archivo: AX=Código de error
62 Obtenga el prefijo del segmento de programa BX=dirección PSP
Tabla de funciones del puerto de E/S
—————————————————— ——— —————
Función y propósito de la dirección de E/S
———————————————————— ———— ——
0 canal DMA 0, registro de dirección de memoria (controlador DMA 1 (8237))
1 canal DMA 0, registro de recuento de transferencias
2 canal DMA 1, registro de dirección de memoria
3 canal DMA 1, registro de conteo de transferencias
4 canal DMA 2, registro de dirección de memoria
5 canal DMA 2. registro de conteo de transferencias
6 Canal DMA 3, registro de dirección de memoria
7 Canal DMA 3, registro de recuento de transferencias
8 Estado de los canales DMA 0-3 Registro
Registro de máscara AH DMA canal 0-3
Registro de modo BH DMA canal 0-3
Puntero de byte de borrado CH DMA
Byte de borrado maestro DH DMA
EH DMA canal 0-3 borrar registro de máscara
FH DMA canal 0-3 escribir registro de máscara
19H DMA registro de inicio
20H-3FH utilizado por el controlador de interrupción programable 1 (8259)
40H utilizado por el temporizador de interrupción programable (8253), contador de lectura/escritura 0
p>
41H Temporizador de interrupción programable registro
Registro
42H Temporizador de interrupción programable registro misceláneo
43H Temporizador de interrupción programable, registro de palabra de control
44H Temporizador de interrupción programable, registro varios (AT)
47H Temporizador de interrupción programable, registro de palabra de control del contador 0
48H-5FH Uso del temporizador de interrupción programable
60H-61H teclado Búfer de datos de entrada
61H AT: registro de control de teclado 8042/XT: registro de salida 8255
registro de entrada 62H 8255
registro de modo de comando 63H 8255
búfer de entrada de teclado 64H 8042/estado 8042
65H-6FH 8255/8042 dedicado
Registro de dirección RAM CMOS 70H
Registro de datos RAM CMOS 71H
Puerto de prueba de producción 80H
81H DMA canal 2, registro de direcciones de tabla de páginas
82H DMA canal 3, registro de direcciones de tabla de páginas
83H DMA canal 1, registro de direcciones de tabla de páginas
87H DMA canal 0, registro de direcciones de tabla de páginas
89H DMA canal 6, registro de direcciones de tabla de páginas
8AH DMA canal 7, registro de direcciones de tabla de páginas
8BH DMA canal 5, registro de direcciones de tabla de páginas
8FH DMA canal 4, registro de direcciones de tabla de páginas
93H-9FH Controlador DMA dedicado
Máscara A0H NM1 registro/controlador de interrupción programable 2
A1H máscara del controlador de interrupción programable 2
C0H DMA canal 0, memoria Registro de dirección (controlador DMA 2 (8237))
C2H DMA canal 0, registro de recuento de transferencias
C4H DMA canal 1, registro de dirección de memoria
C6H DMA Canal 1, registro de recuento de transferencias
C8H DMA canal 2, memoria registro de dirección
CAH DMA canal 2, registro de conteo de transferencias
CCH DMA canal 3, registro de dirección de memoria
CEH DMA canal 3, registro de conteo de transferencias
D0H Registro de estado DMA
D2H Registro de solicitud de escritura DMA
D4H Registro de máscara DMA
D6H Registro de modo DMA
D8H Puntero de byte de borrado DMA
Borrado maestro DMA DAH
Registro de máscara de borrado DCH DMA
Registro de máscara de escritura DEH DMA
DFH-EFH reservado
Uso del coprocesador F0H-FFH
100H-16FH reservado
Registro de datos del disco duro 170H No.1
Disco duro 171H No.1 registro de error de disco
172H Número del sector de datos del disco duro N°1
173H Número del sector del disco duro N°1
174H Cilindro del disco duro N°1 (bajo byte)
175H Cilindro de disco duro n.° 1 (byte alto)
176H Unidad de disco duro/cabezal de registro n.° 1
177H Disco duro n.° 1 registro de estado
1F0H Registro de datos del disco duro N° 0
1F1H Registro de errores del disco duro N° 0
1F2H N° 0 Recuento del sector de datos del disco duro
p>
1F3H Número de sectores del disco duro No. 0
1F4H Cilindro del disco duro No. 0 (byte bajo)
1F5H Cilindro del disco duro No. 0 (byte alto) )
p>
1F6H Registro de estado del disco duro/cabezal n.° 0
1F7H Registro de estado del disco duro n.° 0
1F9H-1FFH reservado p>
Puerto de control de juegos 200H-20FH
Unidad de expansión 210H-21FH
278H Puerto paralelo N°3, puerto de datos
279H Puerto paralelo No 3, puerto de estado
27AH Puerto paralelo nº 3, puerto de control
2B0H-2DFH reservado
2E0H Uso EGA/VGA
2E1H GPIP (adaptador No. 0)
2E2H adquisición de datos (adaptador No. 0)
2E3H adquisición de datos (adaptador No. 1)
2E4H- 2F7H reservado
2F8H Puerto serie N° 2, registro de envío/retención (tarjeta de interfaz RS232 2)
2F9H Puerto serie N° 2, registro válido de interrupción
2FAH Puerto serie N° 2, registro de ID de interrupción
2FBH Puerto serie N° 2, registro de control de línea
2FCH Puerto serie N° 2, registro de control de módem
2FDH Puerto serie N° 2, registro de estado de línea
2FEH Puerto serie N° 2, registro de estado del módem
2FFH reservado
Tarjeta prototipo 300H-31FH
Registro del adaptador de disco duro 320H
Registro de estado/control del adaptador de disco duro 322H
Registro de estado de interrupción/solicitud del adaptador de disco duro 324H
325H -347H reservado
348H-357H DCA3278 p>
366H-36FH Red de PC
372H Adaptador de disquete Salida de datos/Registro de estado
375H -376H Registro de datos del adaptador de disquete
377H Registro de entrada de datos del adaptador de disquete
378H Puerto paralelo nº 2, puerto de datos
379H Puerto paralelo nº 2 , puerto de estado
37AH Puerto paralelo nº 2, puerto de control
380H-38FH Comunicación SDLC y BSC
390H-393H Adaptador de clúster 0
Comunicación BSC 3A0H-3AFH
Registro de video 3B0H-3B H MDA
3BCH Puerto paralelo No. 1, puerto de datos
3BDH Puerto paralelo No. 1, puerto de estado
3BEH Puerto paralelo nº 1, puerto de control
3C0H-3CFH Registro de vídeo EGA/VGA
3D0H-3D7H Registro de vídeo CGA p>
3F0H-3F7H Registro del controlador de disquete
3F8H Puerto serie No. 1, registro de envío/retención (tarjeta de interfaz RS232 1)
3F9H Puerto serie No. 1, registro válido de interrupción
3FAH Puerto serie n.° 1, registro de ID de interrupción
3FBH Puerto serie n.° 1, registro de control de línea
3FCH Puerto serie n.° 1 , registro de control del módem
3FDH Puerto serie nº 1, registro de estado de línea
p>
3FEH Puerto serie nº 1, registro de estado del módem
3FFH
Reserva