Interrup c i Ones

39
LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE INTERRUPCIONES DEL BIOS INT 00h ERROR POR DIVISION ENTRE CERO PRODUCE EL MENSAJE "DIVIDE OVERFLOW", Y EN BASIC DESPLIEGA EL MENSAJE "DIVISION BY ZERO". INT 01h PASO SIMPLE EJECUTA UNA RUTINA DESPUES DE CADA INSTRUCCION; LA BANDERA DE TRAMPA (TRAP) AUTOMATICAMENTE ES DESACTIVADA DURANTE LA RUTINA. INT 02h INTERRUPCION NO ENMASCARABLE DE ERROR DE PARIDAD PRODUCE EL MENSAJE "PARITY CHECK 1" O "PARITY CHECK 2" Y DETIENE EL SISTEMA. INT 03h PUNTO DE SUSPENSION (BREAKPOINT) SE EJECUTA UNA RUTINA DE SUSPENSION CON INT 3 O BIEN CUANDO SE ALCANZA LA INSTRUCCION CCH. EL COMANDO GO (G) DE DEBUG LA UTILIZA EN LOS PUNTOS DE SUSPENSION. INT 04h DESBORDAMIENTO (OVERFLOW) SE UTILIZA CON EL CODIGO DE OPERACION INTO PARA ACTIVAR LA RUTINA DEL USUARIO QUE MANEJA EL DESBORDAMIENTO. INT 05h IMPRESION DE PANTALLA ESTA INTERRUPCION COPIA LA PANTALLA A LA IMPRESORA #0, PARA ESTA FUNCION, LOS ARGUMENTOS NO SON PASADOS A TRAVES DE LOS REGISTROS DEL PAG. 1

Transcript of Interrup c i Ones

Page 1: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

INTERRUPCIONES DEL BIOS

INT 00h ERROR POR DIVISION ENTRE CERO

PRODUCE EL MENSAJE "DIVIDE OVERFLOW", Y EN BASIC DESPLIEGA EL MENSAJE "DIVISION BY ZERO".

INT 01h PASO SIMPLE

EJECUTA UNA RUTINA DESPUES DE CADA INSTRUCCION; LA BANDERA DE TRAMPA (TRAP) AUTOMATICAMENTE ES DESACTIVADA DURANTE LA RUTINA.

INT 02h INTERRUPCION NO ENMASCARABLE DE ERROR DE PARIDAD

PRODUCE EL MENSAJE "PARITY CHECK 1" O "PARITY CHECK 2" Y DETIENE EL SISTEMA.

INT 03h PUNTO DE SUSPENSION (BREAKPOINT)

SE EJECUTA UNA RUTINA DE SUSPENSION CON INT 3 O BIEN CUANDO SE ALCANZA LA INSTRUCCION CCH. EL COMANDO GO (G) DE DEBUG LA UTILIZA EN LOS PUNTOS DE SUSPENSION.

INT 04h DESBORDAMIENTO (OVERFLOW)

SE UTILIZA CON EL CODIGO DE OPERACION INTO PARA ACTIVAR LA RUTINA DEL USUARIO QUE MANEJA EL DESBORDAMIENTO.

INT 05h IMPRESION DE PANTALLA

ESTA INTERRUPCION COPIA LA PANTALLA A LA IMPRESORA #0, PARA ESTA FUNCION, LOS ARGUMENTOS NO SON PASADOS A TRAVES DE LOS REGISTROS DEL 8088. EL BYTE 50H:0 MANEJA EL ESTADO DE LA OPERACION DE IMPRESION, DONDE: 0 = DONE, 1 = EN PROGRESO, 0FFH = ERROR..

INT 06h RESERVADA PARA USO FUTURO

INT 07h RESERVADA PARA USO FUTURO

PAG. 1

Page 2: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

INT 08h ATENCION AL CANAL 0 DEL TEMPORIZADOR DEL SISTEMA (IRQ0)

NORMALMENTE, EL CANAL 0 DEL 8253 PRODUCE UNA INTERRUPCION IRQ0 CADA 54936 MILISEGUNDOS. EL OBJETO ES ACTIVAR UNA RUTINA QUE ACTUALIZA EL TEMPORIZADOR (TIMER) DEL SISTEMA EN 46C-470H; ADEMAS, VERIFICA SI EL MOTOR DEL DISCO DEBE SER APAGADO. VER TAMBIEN INT 1AH Y LAS FUNCIONES 2C-2DH DE INT 21H.

INT 09h ATENCION AL TECLADO (IRQ1)

EL 8259 DE LA PC PRODUCE ESTE VECTOR PARA ACTIVAR LA RUTINA QUE MANEJA EL TECLADO.

INT 0Ah RESERVADA PARA USO FUTURO (IRQ2)

INT 0Bh RESERVADA PARA COMUNICACIONES COM2 (IRQ3)

INT 0Ch RESERVADA PARA COMUNICACIONES COM1, BSC O SDLC (IRQ4)

INT 0Dh ATENCION AL DISCO RIGIDO (IRQ5)

INT 0Eh ATENCION AL DISCO (IRQ6)

SE UTILIZA PARA INDICAR AL BIOS QUE HA OCURRIDO UNA INTERRUPCION EN EL CONTROLADOR DEL DISCO, LO QUE SIGNIFICA QUE ESTA DISPONIBLE LA INFORMACION DE LA ULTIMA PETICION DE ENTRADA/SALIDA.

INT 10h VIDEO

ESTA INTERRUPCION PROVEE UNA INTERFACE A LA PANTALLA PARA LAS SIGUIENTES FUNCIONES:

10h/AH = 0 ESTABLECE EL MODO DEL DISPLAY

AL = 0 40 x 25 BLANCO Y NEGRO AL = 4 GRAFICAS 320 x 200 COLORAL = 1 40 x 25 COLOR AL = 5 GRAFICAS 320 x 200 BLANCO Y NEGROAL = 2 80 x 25 BLANCO Y NEGRO AL = 6 GRAFICAS 640 x 200 BLANCO Y NEGROAL = 3 80 x 25 COLOR AL = 7 80 x 25 MONOCROMATICO

PAG. 2

Page 3: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

NOTA : LOS MODOS 0 A 6 USAN TARJETA DE VIDEO COLOR GRAFICAS. MODO 7 USA TARJETA DE VIDEO MONOCROMATICO.

10h/AH = 1 ESTABLECE EL TIPO DE CURSOR

CH (BITS 4-0) = LINEA INICIAL DEL CURSORCL (BITS 4-0) = LINEA FINAL DEL CURSOR

NOTA : PARA APAGAR EL CURSOR LA LLAMADA ES CON CX = 2000H

10h/AH = 2 ESTABLECE LA POSICION DEL CURSOR

DH,DL = POSICION DEL CURSOR (RENGLON,COLUMNA), LA PARTE SUPERIOR IZQUIERDA ES 0,0.

BH = NUMERO DE PAGINA, DEBE SER 0 SI SE SELECCIONA EL MODO DEGRAFICAS.

10h/AH = 3 LEE LA POSICION DEL CURSOR

BH = NUMERO DE PAGINA, DEBE SER 0 SI SE SELECCIONA EL MODO DE GRAFICAS.VALORES REGRESADOS:

DH,DL = POSICION DEL CURSOR (RENGLON,COLUMNA), LA PARTE SUPERIOR IZQUIERDA ES 0,0.

CH,CL = MODO DEL CURSOR

10h/AH = 4 LEE LA POSICION DEL LAPIZ OPTICOVALORES REGRESADOS:AH = 0 SI EL LAPIZ NO ESTA ACTIVOAH = 1 SI LOS REGISTROS CONTIENEN LA POSICION DEL LAPIZDH,DL = RENGLON, COLUMNA DEL LAPIZ (SI AH = 1)CH = LINEA DE RASTREO (0-199, SI AH = 1)BX = COLUMNA DEL PIXEL (0-319 O 0-639, SI AH = 1)

10h/AH = 5 SELECCIONA LA PAGINA ACTIVA DEL DISPLAY

AL = NUMERO DE PAGINA (0-7 SI EL MODO ES 0 Ó 1, 0-3 SI EL MODO ES 2 Ó 3).

10h/AH = 6 CORRIMIENTO DE LA VENTANA DE LA PAGINA ACTIVA HACIA ARRIBA, BLANQUEA LA NUEVA

LINEA DE LA PARTE INFERIOR.

AL = NUMERO DE LINEAS (SI AL = 0, BLANQUEA LA VENTANA COMPLETA).CH,CL = RENGLON,COLUMNA DE LA ESQUINA SUPERIOR IZQUIERDA DE LA VENTANADH,DL = RENGLON,COLUMNA DE LA ESQUINA INFERIOR DERECHA DE LA VENTANABH = ATRIBUTO A USAR EN LA NUEVA LINEA EN BLANCO

PAG. 3

Page 4: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

10h/AH = 7 CORRIMIENTO DE LA VENTANA DE LA PAGINA ACTIVA HACIA ABAJO, BLANQUEA LA

NUEVA LINEA DE LA PARTE SUPERIOR.

AL = NUMERO DE LINEAS (SI AL = 0, BLANQUEA LA VENTANA COMPLETA).CH,CL = RENGLON, COLUMNA DE LA ESQUINA SUPERIOR IZQUIERDA DE LA VENTANADH,DL = RENGLON, COLUMNA DE LA ESQUINA INFERIOR DERECHA DE LA VENTANABH = ATRIBUTO A USAR EN LA NUEVA LINEA EN BLANCO

10h/AH = 8 LECTURA DE UN CARACTER Y SU ATRIBUTO EN LA POSICION DEL CURSOR

BH= NUMERO DE PAGINA, DEBE SER 0 SI SE SELECCIONO EL MODO DE GRAFICAS

VALORES REGRESADOS:

AL = VALOR DEL CARACTERAH= VALOR DEL ATRIBUTO (NO VALIDO EN MODO GRAFICO).

10h/AH = 9 ESCRIBE CARACTER Y SU ATRIBUTO EN LA POSICION DEL CURSOR

BH= NUMERO DE PAGINA, DEBE SER 0 SI SE SELECCIONO EL MODO DE GRAFICASCX= NUMERO DE CARACTERES A ESCRIBIRAL = CARACTERBL = ATRIBUTO (MODO DE TEXTO O COLOR)

10h/AH = 10 ESCRIBE EL CARACTER SOLO EN LA POSICION DEL CURSOR

BH= NUMERO DE PAGINA, DEBE SER 0 SI SE SELECCIONO EL MODO DE GRAFICASCX= NUMERO DE CARACTERES A ESCRIBIRAL = CARACTER

10h/AH = 11 SELECCIONA LA PALETA DE COLORES

BH= 0 DEFINE EL COLOR DE FONDO (MODO 4) O DEFINE EL COLOR DEL BORDE (MODOS -3).BL = VALOR DEL COLORBH= 1 SELECCIONA LA PALETA DE COLOR (SOLO MODE 4)BL = 0 SELECCIONA GREEN (1), RED (2), YELLOW (3)BL = 1 SELECCIONA CYAN (1), MAGENTA (2), WHITE (3)

10h/AH = 12 ESCRIBE PUNTO (SOLO MODOS 4-6)

PAG. 4

Page 5: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

DX= NUMERO DE RENGLONCX= NUMERO DE COLUMNAAL = VALOR DEL COLORNOTA: SI EL BIT 7 DE BL = 1, EL COLOR SERA EXCLUSIVO

10h/AH = 13 LEE PUNTO (SOLO MODOS 4-6)

DX= NUMERO DE RENGLONCX= NUMERO DE COLUMNA

VALORES REGRESADOS:

AL = VALOR DEL COLOR

10h/AH = 14 ESCRIBE CARACTER

AL = VALOR DEL CARACTERBL = COLOR DE FRENTE O DEL CARACTER (SI EL MODO ES GRAFICO)BH= NUMERO DE PAGINA (SI EL MODO ES DE TEXTO)

NOTA: ESTA FUNCION EMULA UN TELETIPO ESCRIBIENDO UN CARACTER EN LA POSICION ACTUAL DEL CURSOR, DESPUES MUEVE EL CURSOR UNA POSICION A LA DERECHA, CON SALTO DE LINEA EN EL MARGEN DERECHO, LOS CODIGOS DE CONTROL SOPORTADOS SON:

SP (20H) = ESCRIBE UN ESPACIO EN BLANCOCR (0DH) = CURSOR AL MARGEN IZQUIERDO DE LA LINEA ACTUALLF (0AH) = CURSOR ABAJO UNA LINEA, RECORRIENDO SI ESTA AL FINAL.BS (08H) = CURSOR A LA IZQUIERDA UN CARACTERBEL (07H) = SONIDO (BEEP)

10h/AH = 15 LEE EL ESTADO DEL VIDEO

VALORES REGRESADOS

AL = MODO DEL VIDEOAH= TAMAÑO DE LA PANTALLA (80 o 40)BH= NUMERO DE PAGINA ACTIVA

INT 11h REPORTE DEL EQUIPO

ESTA INTERRUPCION REPORTA LA CONFIGURACION DEL SISTEMA.

VALORES REGRESADOS:

AX = CONFIGURACION DEL EQUIPO EN LA PALABRA, DEFINIDA COMO:

PAG. 5

Page 6: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

BIT 15,14 = NUMERO DE IMPRESORAS CONECTADASBIT 13 = NO SE USABIT 12 = INTERFACE DE JUEGO CONECTADABIT 11,10,9= NUMERO DE PUERTOS RS232 CONECTADOSBIT 8 = NO SE USABIT 7,6 = NUMERO DE FLOPPY DISK DRIVES CONECTADOS

00 = 1 DRIVE, 01 = 2 DRIVES, 10 = 3 DRIVES, 11 = 4 DRIVESBIT 5,4 = MODO INICIAL DEL VIDEO

00 = DUMB TERMINAL, 01 = 40 X 25 COLOR10 = 80 X 25 COLOR, 11 = 80 X 25 MONOCHROME

BIT 3,2,1 = NO SE USABIT 0 = EXISTENCIA DE FLOPPY DRIVES

0 = NO HAY FLOPPY DRIVES, 1 = SÍ HAY FLOPPY DRIVES

INT 12h REPORTE DEL TAMAÑO DE LA MEMORIA

VALORES REGRESADOS:

AX = NUMERO DE BLOCKS DE 1K (1024) BYTE DE MEMORIA CONTIGUA, COMENZANDO DESDE 0:0. ESTE VALOR NO DEPENDE DE LOS SWITCHES DE LA TARJETA PRINCIPAL.

INT 13h DISKETTE I/O

ESTA INTERRUPCION EJECUTA TODAS LAS TRANSFERENCIAS DE DATOS ENTRE EL FLOPPY O EL DISCO DURO Y LA MEMORIA DEL SISTEMA. TAMBIEN PROVEE UNA FUNCION DE FORMATEO DE PISTAS PARA EL FLOPPY DISK.

LOS FLOPPY DISK SON NUMERADOS DEL 0-1 DEPENDIENDO DE SU LOCALIZACION FISICA EN EL SISTEMA. EL BIT 0 DE AX REGRESADO POR INT 11H INDICA LA EXISTENCIA DE FLOPPY DRIVES: 0=NINGUNO, 1=UNO O MAS.

13h/AH = 0 REESTABLECE EL SISTEMA DEL DISCO. LLEVA AL SISTEMA A UN ESTADO DE INICIALIZACION CUANDO OCURRE UN ERROR DE DISCO.

13h/AH = 1 LEE EL ESTADO DEL DISCO

VALORES REGRESADOS:

CARRY= 1 SI HAY ERRORAH = ESTADO DEL ERROR

00H = NO HAY ERROR01H = COMANDO NO RECONOCIDO02H = DIRECCIONAMIENTO NO ENCONTRADO03H = DISCO PROTEGIDO CONTRA ESCRITURA04H = SECTOR NO ENCONTRADO

PAG. 6

Page 7: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

08H = DMA SOBREPASADO09H = ANTEPUESTO AL DMA10H = ERROR EN CRC AL LEER EL DISCO20H = FALLA EN EL CONTROLADOR DEL DISCO40H = FALLA EN BUSQUEDA80H = NO HAY RESPUESTA DESDE EL SISTEMA DEL DISCO EN EL TIEMPO

PERMITIDO

13h/AH = 2 LEE SECTORES DEL DISCO A LA MEMORIA

13h/AH = 3 ESCRIBE SECTORES DE LA MEMORIA AL DISCO

13h/AH = 4 VERIFICA SECTORES DEL DISCO

AL = NUMERO DE SECTORES (1-8)ES:BX = DIRECCION DEL BUFFER PARA LOS DATOS DEL DISCO (NO SE REQUIERE SI AH = 4)CH = NUMERO DE CILINDROCL = NUMERO DEL PRIMER SECTORDH = NUMERO DE LA CABEZADL = NUMERO DEL DRIVE (0-7)

VALORES REGRESADOS:

CARRY= 1 SI HAY ERRORAH = ESTADO DEL ERROR

00H = NO HAY ERROR01H = COMANDO NO RECONOCIDO02H = DIRECCIONAMIENTO NO ENCONTRADO03H = DISCO PROTEGIDO CONTRA ESCRITURA04H = SECTOR NO ENCONTRADO08H = DMA SOBREPASADO09H = ANTEPUESTO AL DMA10H = ERROR EN CRC AL LEER EL DISCO20H = FALLA EN EL CONTROLADOR DEL DISCO40H = FALLA EN BUSQUEDA80H = NO HAY RESPUESTA DESDE EL SISTEMA DEL DISCO EN EL TIEMPO

PERMITIDO

13h/AH = 5 FORMATEO DE UNA PISTA (TRACK) DEL DISCO FLEXIBLE.

AL = NUMERO DE SECTORES EN LA PISTAES:BX = DIRECCION DE LA TABLA DE DESCRIPCION DE LA PISTA (TRACK)CH = NUMERO DE PISTA (0-39)DH = NUMERO DE CABEZA (0-1)DL = NUMERO DE DRIVE (0-1)

VALORES REGRESADOS:

CARRY= 1 SI HAY ERROR

PAG. 7

Page 8: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

AH = ESTADO DEL ERROR00H = NO HAY ERROR01H = COMANDO NO RECONOCIDO02H = DIRECCIONAMIENTO NO ENCONTRADO03H = DISCO PROTEGIDO CONTRA ESCRITURA04H = SECTOR NO ENCONTRADO08H = DMA SOBREPASADO09H = ANTEPUESTO AL DMA10H = ERROR EN CRC AL LEER EL DISCO20H = FALLA EN EL CONTROLADOR DEL DISCO40H = FALLA EN BUSQUEDA80H = NO HAY RESPUESTA DESDE EL SISTEMA DEL DISCO EN EL TIEMPO

PERMITIDO

NOTA : LA TABLA DESCRIPTORA DE LA PISTA ESTA COMPUESTA DE 4 BYTES (C,H,R,N) PARA LA DIRECCION DE CAMPO DE CADA SECTOR EN LA PISTA EN ORDEN FISICO:

C = NUMERO DE CILINDROH = NUMERO DE CABEZAR = NUMERO DE SECTORN = CODIGO DE LONGITUD DEL SECTOR 0 = 1281 = 256 2 = 5123 = 1024

DISCO FIJO (I/O): LA INTERFACE I/O DEL DISCO FIJO PROVEE ACCESO AL MISMO A TRAVES DE LA CONTROLADORA. LAS SIGUIENTES FUNCIONES PERTENECEN AL DISCO FIJO SOLAMENTE:

REGISTROS USADOS PARA LAS OPERACIONES DEL DISCO FIJO:

(DL) - NUMERO DE DRIVE (80H-87H)(DH) - NUMERO DE CABEZA (0-7)(CH) - NUMERO DE CILINDRO (0-1023)(CL) - NUMERO DE SECTOR (1-17)

NOTA : LOS DOS MSB DEL NUMERO DE CILINDRO SON PUESTOS EN LA LOCALIZACION DEL MSB DEL REGISTRO CL RESPECTIVAMENTE (10 BITS EN TOTAL).

(AL) - NUMERO DE SECTORES (RANGO DE 1-80H PARA LECTURA/ESCRITURA LONGITUD 1-79H).

(VALOR DEL INTERLEAVE PARA FORMATO 1-16)

(ES:BX) - DIRECCIONAMIENTO DEL BUFFER PARA LECTURAS Y ESCRITURAS.

A LOS DISCOS FIJOS LES SON ASIGNADOS NUMEROS SECUENCIALES, INICIANDO CON 80H, DEPENDIENDO DEL NUMERO DE DRIVES INSTALADOS. EL DRIVE NUMERO 80H ES EL

DRIVE DEL DISCO FIJO DE ARRANQUE (NOTA : PARA INICIALIZAR EL DRIVE DEL DISCO FIJO, LA DIRECCION DEL DRIVE EN DL DEBE SER 80H-87H.) LOS PARAMETROS DEL DISCO FIJO ESTAN APUNTADOS POR EL VECTOR INT 41H.

PAG. 8

Page 9: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

(AH) = 00 RESTAURA EL SISTEMA DEL DISCO(AH) = 01 LEE EL ESTADO DE LA ULTIMA OPERACION DEL DISCO EN (AL)(AH) = 02 TRANSFIERE LOS SECTORES DESEADOS DEL DISCO A LA MEMORIA(AH) = 03 TRANSFIERE LOS SECTORES DESEADOS DE LA MEMORIA AL DISCO(AH) = 04 VERIFICA LOS SECTORES DESEADOS(AH) = 05 FORMATEA LA PISTA DESEADA(AH) = 06 FORMATEA LA PISTA DESEADA Y ESTABLECE LAS BANDERAS PARA LOS

SECTORES DAÑADOS.(AH) = 07 FORMATEA EL DRIVE COMENZANDO EN LA PISTA DESEADA.(AH) = 08 REGRESA LOS PARAMETROS ACTUALES DEL DRIVE(AH) = 09 INICIALIZA LAS CARACTERISTICAS DEL DRIVE, INT 41H APUNTA AL BLOCK

DE DATOS(AH) = 0ALONGITUD DE LECTURA(AH) = 0BLONGITUD DE ESCRITURA

NOTA : LA LONGITUD DE LECTURA Y ESCRITURA ES 512 + 4 BYTES DE ECC

(AH) = 0C BUSQUEDA(AH) = 0D INICIALIZA DISCO (DISCO FIJO SOLAMENTE)(AH) = 0E LEE EL BUFFER DEL SECTOR(AH) = 0F ESCRIBE EL BUFFER DEL SECTOR (RECOMENDADO PARA FORMATEAR)(AH) = 10 PRUEBA EL DRIVE(AH) = 11 RECALIBRA(AH) = 12 DIAGNOSTICO DE LA RAM DE LA CONTROLADORA(AH) = 13 DIAGNOSTICO DEL DRIVE(AH) = 14 DIAGNOSTICO INTERNO DE LA CONTROLADORA

SALIDA :

AH = ESTADO DE LA OPERACION ACTUAL

CY = 0 OPERACION REALIZADA CON EXITO (AH=0)CY = 1 FALLA EN LA OPERACION (AH TIENE UN ERROR)

NOTA: EL ERROR 11H INDICA QUE LOS DATOS LEIDOS TIENEN UN ERROR RECUPERABLE EL CUAL FUE CORREGIDO POR EL ALGORITMO ECC. EL ERROR YA NO PODRA OCURRIR

SI LOS DATOS SON REESCRITOS.

AL = LONGITUD DEL BURST

LA INFORMACION DE LOS PARAMETROS DEL DRIVE ESTAN ACCESADOS EN LOS SIGUIENTES REGISTROS:

DL = NUMERO DE DRIVES CONSECUTIVOS (0-2)DH = MAXIMO NUMERO DE CABEZASCH = MAXIMO NUMERO DE CILINDROSCL = MAXIMO VALOR PARA EL NUMERO DE SECTORES Y CILINDROS BITS ALTOS

SI CUALQUIERA DE LOS SIGUIENTES ERRORES ES REPORTADO, INICIALICE EL DRIVE Y REINTENTE LA OPERACION.

00FH FALLA EN LA OPERACION SENSE0BBH ERROR INDEFINIDO80H FALLA EN LA RESPUESTA DE INSTALACION

PAG. 9

Page 10: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

40H FALLA EN LA OPERACION DE BUSQUEDA20H FALLA EN LA CONTROLADORA11H ECC CORRIGIO ERROR DE DATOS10H MAL ECC EN LA LECTURA DEL DISCO0BH BANDERA DE TRACK MALO ES DETECTADA09H SE ANTEPONE AL DMA A TRAVES DE 64K07H FALLA EN LA ACTIVIDAD DE LOS PARAMETROS DEL DRIVE05H FALLA EN LA INICIALIZACION04H NO SE ENCONTRO EL SECTOR REQUERIDO02H NO SE ENCONTRO LA MARCA DE LA DIRECCION01H MAL COMANDO PASADO AL I/O DEL DISCO00H NO HAY ERROR

INT 14H COMUNICACION CON EL PUERTO SERIAL RS-232

14h/AH = 0 INICIALIZA EL PUERTO DE COMUNICACION

DX = NUMERO DEL PUERTO SERIE (0-3)AL = PARAMETROS DE INICIALIZACIONBIT 7,6,5= INDICE DE BAUD

000 = 19.2 KILOBAUD 100 = 1200 BAUD001 = 150 BAUD 101 = 2400 BAUD010 = 300 BAUD 110 = 4800 BAUD011 = 600 BAUD 111 = 9600 BAUD

BIT 4,3 = TIPO DE PARIDAD00 Ó 10 NINGUNA (NONE)01 IMPAR (ODD)11 PAR (EVEN)

BIT 2 = BITS DE PARADA (0 = 1 BIT, 1 = 2 BITS)BIT 1,0 = LONGITUD DE PALABRA (10 = 7 BITS, 11 = 8 BITS)

VALORES REGRESADOS:

AH = ESTADOBIT 7= TIEMPO FUERABIT 6= REGISTRO DE CORRIMIENTO DEL TRANSMISOR VACIOBIT 5= REGISTRO DE ESPERA DEL TRANSMISOR VACIOBIT 4= DETECCION DE SUSPENSION (BREAK)BIT 3= ERROR DE CUADROBIT 2= ERROR DE PARIDADBIT 1= ERROR DE SOBREEJECUCIONBIT 0= DATOS DE RECEPTOR LISTOS

14h/AH = 1 ENVIO DE CARACTER

AL = VALOR DEL CARACTERDX = NUMERO DEL PUERTO SERIE (0-3)

VALORES REGRESADOS:

PAG. 10

Page 11: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

AH = ESTADO DE OPERACIONBIT 7= INCAPAZ DE TRANSMITIRBIT 6= REGISTRO DE CORRIMIENTO DEL TRANSMISOR VACIOBIT 5= REGISTRO DE ESPERA DEL TRANSMISOR VACIOBIT 4= DETECCION DE SUSPENSION (BREAK)BIT 3= ERROR DE CUADROBIT 2= ERROR DE PARIDADBIT 1= ERROR DE SOBREEJECUCIONBIT 0= DATOS DE RECEPTOR LISTOS

14h/AH = 2 RECEPCION DE CARACTER

DX = NUMERO DEL PUERTO SERIE (0-3)

VALORES REGRESADOS:

AL = VALOR DEL CARACTERAH = ESTADO DE OPERACIONBIT 7= DATOS NO RECIBIDOSBIT 4= DETECCION DE SUSPENSION (BREAK)BIT 3= ERROR DE CUADROBIT 2= ERROR DE PARIDADBIT 1= ERROR DE SOBREEJECUCION

14h/AH = 3 ESTADO DEL PUERTO

DX = NUMERO DEL PUERTO SERIE (0-3)AH = ESTADO DE LA LINEA DE CONTROL

BIT 7 = TIEMPO FUERABIT 6 = REGISTRO DE CORRIMIENTO DEL TRANSMISOR VACIOBIT 5 = REGISTRO DE ESPERA DEL TRANSMISOR VACIOBIT 4 = DETECCION DE SUSPENSION (BREAK)BIT 3 = ERROR DE CUADROBIT 2 = ERROR DE PARIDADBIT 1 = ERROR DE SOBREEJECUCIONBIT 0 = DATOS DE RECEPTOR LISTOS

AL = ESTADO DEL MODEMBIT 7 = DETECCION DE RECEPCION DE LINEABIT 6 = INDICADOR DE ANILLOBIT 5 = DATOS LISTOSBIT 4 = LIMPIA PARA ENVIARBIT 3 = DETECTA CAMBIO EN LA SE¥AL DE LA LINEA DE RECEPCIONBIT 2 = BORDE DE SALIDA DEL INDICADOR DE ANILLOBIT 1 = CAMBIO DE CONJUNTO DE DATOSBIT 0 = CAMBIO DE LIMPIA PARA ENVIAR

INT 15H FUNCIONES DE CASSETTE

TODAS LAS INTERRUPCIONES DEL 5289 QUEDAN ANULADAS MIENTRAS SE DA ACCESO AL CASSETTE, INCLUYENDO AL CRONIZADOR (TIMER) DEL SISTEMA.

PAG. 11

Page 12: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

INT 16H I/O DEL TECLADO

ESTA RUTINA PROPORCIONA UNA DIVERSIDAD DE FUNCIONES RELACIONADAS CON EL TECLADO.

16H/AH = 0 LECTURA DE CARACTER

VALORES REGRESADOSAL = VALOR ASCII ó 0AH = CODIGO DE BUSQUEDA DE LA TECLA PULSADA (SI AL = ASCII), ó CODIGO

EXTENDIDO (SI AL = 0)

16h/AH = 1 LECTURA DE ESTADO

VALORES REGRESADOS

BANDERA CERO = 0 SI UN CARACTER ESTA DISPONIBLEAX = IGUAL QUE LECTURA DE CARACTER SI Z = 0

16h/AH = 2 REGRESO DEL ESTADO DE DIGITACION DE TECLA

VALORES REGRESADOSAL = ESTADO DEL TECLADO

BIT 7 = INSERT ACTIVOBIT 6 = CAPS LOCK PULSADABIT 5 = NUM LOCK PULSADABIT 4 = SCROLL LOCK PULSADABIT 3 = ALT PULSADABIT 2 = CTRL PULSADABIT 1 = SHIFT IZQUIERDA PULSADABIT 0 = SHIFT DERECHA PULSADA

INT 17H IMPRESORA PARALELA

17h/AH = 0 IMPRESION DE CARACTER

AL = CARACTER ASCIIDX = NUMERO DE IMPRESORA

VALORES REGRESADOS

AH = ESTADO DE LA IMPRESORABIT 7 = NO OCUPADO BIT 3 = ERROR DE I/OBIT 6 = RECONOCE BIT 2 = NO SE USA

PAG. 12

Page 13: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

BIT 5 = SIN PAPEL BIT 1 = NO SE USABIT 4 = SELECCIONADA BIT 0 = ERROR DE TIEMPO FUERA

17h/AH = 1 INICIALIZA EL PUERTO DE IMPRESORA

VALORES REGRESADOSAH = ESTADO DE LA IMPRESORA

BIT 7 = NO OCUPADO BIT 3 = ERROR DE I/OBIT 6 = RECONOCE BIT 2 = NO SE USABIT 5 = SIN PAPEL BIT 1 = NO SE USABIT 4 = SELECCIONADA BIT 0 = ERROR DE TIEMPO FUERA

17h/AH = 2 LECTURA DEL ESTADO DE IMPRESORA

VALORES REGRESADOS

AH = ESTADO DE LA IMPRESORABIT 7 = NO OCUPADO BIT 3 = ERROR DE I/OBIT 6 = RECONOCE BIT 2 = NO SE USABIT 5 = SIN PAPEL BIT 1 = NO SE USABIT 4 = SELECCIONADA BIT 0 = ERROR DE TIEMPO FUERA

INT 18H PUNTO DE ENTRADA DE BASIC RESIDENTE EN ROM

EL VECTOR APUNTA A LA ENTRADA DEL BASIC DE CASSETTE RESIDENTE EN ROM.

INT 1AH FUNCIONES DEL TEMPORIZADOR (TIMER) DEL SISTEMA

ESTA RUTINA PROPORCIONA LOS SERVICIOS DE LECTURA Y PUESTA DEL TEMPORIZADOR DEL SISTEMA (LOCALIDAD 46CH).

1Ah/AH = 0 LECTURA DE LA HORA DEL DIA

CX = PALABRA ALTA DE LA HORA DEL DIADX = PALABRA BAJA DE LA HORA DEL DIAAL = 0 SI EL DIA NO CAMBIO DESDE LA ULTIMA LECTURA

NOTA : LA CUENTA DEL TIEMPO EN CX,DX CORRE A RAZON DE 18.2056 HZ O SEA 54.9254 MILISEGUNDOS/CUENTA

1Ah/AH = 1 PONE LA HORA DEL DIA

CX = PALABRA ALTA DE LA HORA DEL DIADX = PALABRA BAJA DE LA HORA DEL DIA

NOTA : INICIALMENTE EL TIEMPO ES CERO CUNDO SE ENCIENDE LA PC.

PAG. 13

Page 14: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

INT 1BH RUTINA DE SUSPENSION MEDIANTE EL TECLADO

ESTA RUTINA ES LLAMADA POR INT 09H PARA EJECUTAR UNA SUSPENSION DE CORRIDA DE PROGRAMA AL ACCIONAR LA COMBINACION CTRL-BREAK.

INT 1CH RUTINA DEL TEMPORIZADOR DEL SISTEMA

LA RUTINA ES LLAMADA POR INT 08H PARA EJECUTAR ACCIONES DEL USUARIO CUANDO OCURRE UN PULSO DEL TEMPORIZADOR DEL SISTEMA.

INT 1DH TABLA DE PARAMETROS DE VIDEO

ESTE VECTOR APUNTA A UNA TABLA QUE CONTINE CUATRO CONJUNTOS DE 16 VALORES DE MODOS DE PANTALLA: 40 x 25 (MODOS 0 Y 1); 80 x 25 (MODOS 2 Y 3); GRAFICOS (MODOS 4 A 6); Y MONOCROMATICOS (MODO 7).

INT 1EH TABLA DE PARAMETROS DE DISCO

ESTE VECTOR APUNTA A UNA TABLA DE PARAMETROS CARACTERISTICOS DE OPERACION DE DISCO QUE SE COPIA DEL ROM BIOS (FEFC7) AL AREA DE TRABAJO DEL DOS. LA COPIA DE LA TABLA SE UTILIZA DURANTE EL PROCESO DE PUESTA EN MARCHA DEL SISTEMA Y MAS ADELANTE SE CAMBIA A LA LOCALIDAD 522H. LAS ABREVIATURAS QUE SE PRESENTAN TIENEN EL SIGUINTE SIGNIFICADO: SRT = TIEMPO DE ETAPA (SE EXPRESA EN INCREMENTOS DE 2 MILISEGUNDOS). HB = ENCABEZADO. EOT = FIN DE LA PISTA (NUMERO DEL ULTIMO SECTOR DE LA PISTA). DTL = LONGITUD DE DATOS DEL SECTOR. SI EL SISTEMA CONTIENE DISCO RIGIDO, LA TABLA DE PARAMETROS SE COPIA DE C8201, Y EL VECTOR QUE APUNTA A LA TABLA DE PARAMETROS DEL DISCO DURO ES INT 41H.

INT 1FH CARACTERES DE GRAFICACION 128 A 255

ESTA VECTOR APUNTA A UNA TABLA DE MAPAS DE PEL (PIXEL) DE LOS CARACTERES GRAFICOS 128 A 255; EL VECTOR ES INSTALADO POR EL USUARIO. CUANDO SE UTILIZA EL MODO DE GRAFICOS, LA INTERFASE DE LECTURA/ESCRITURA DE CARACTERES FORMA CADA CARACTER DEL CODIGO ASCII MEDIANTE UN PATRON DE PUNTOS DE LOS PRIMEROS 128 NUMEROS DEL CODIGO, PORQUE ESTAN CONTENIDOS EN EL ROM. PARA TENER ACCESO AL SEGUNDO GRUPO, 128 A 255, EL VECTOR DEBE SER ESTABLECIDO POR EL USUARIO PARA APUNTAR A UNA TABLA HASTA 1KB, DONDE CADA NUMERO DEL CODIGO ESTA REPRESENTADO POR 8 BYTES. AL ENCENDERSE LA PC, ESTE VECTOR SE INICIALIZA EN 0000:0, Y EL USUARIO PUEDE CAMBIARLO SI REQUIERE EL GRUPO COMPLETO DE CARACTERES.

PAG. 14

Page 15: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

INTERRUPCIONES DEL DOS

INT 20H PROGRAMA TERMINADO

SE UTILIZA PARA SALIR DE UN PROGRAMA, EL VECTOR TRANFIERE A LA LOGICA DE DOS PARA RECUPERAR LAS DIRECCIONES DE TERMINACION, DE CTRL-BREAK Y DE SALIDA DE ERROR CRITICO CON LOS VALORES QUE TENIAN ANTES DE ENTRAR AL PROGRAMA.

INT 21H PETICION DE SERVICIOS

EN UNA DE LAS INTERRUPCIONES MAS IMPORTANTES DEL DOS. LOS SERVICIOS QUE OFRECE INT 21H SE OBTIENEN CUANDO SE ALMACENA EN AH EL NUMERO DE LA FUNCION QUE SE DESEA Y SE INTRODUCE ANTES DE LLAMAR LA INTERRUPCION.

21h/AH = 0 PROGRAMA TERMINADO

CS APUNTA AL PSP

21h/AH = 1 ENTRADA DEL TECLADO

VALORES REGRESADOS:AL = CARACTER

21h/AH = 2 SALIDA DE DESPLIEGUE

DL = CARACTER QUE SALE A PANTALLA

21h/AH = 3 ENTRADA AUXILIAR

VALORES REGRESADOS:

PAG. 15

Page 16: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

AL = CARACTER DEL DISPOSITIVO AUXILIAR (AUX, COM1, COM2)

21h/AH = 4 SALIDA AUXILIAR

DL = CARACTER QUE SALE AL DISPOSITIVO AUXILIAR

21h/AH = 5 SALIDA A IMPRESORA

DL = CARACTER QUE SALE POR IMPRESORA

21h/AH = 6 I/O DIRECTA DE CONSOLA

DL = FFH PARA ENTRADA DE CONSOLADL = 00-FEH PARA SALIDA DE CONSOLAVALORES REGRESADOS:DL = FFH, AL REGRESA UN CARACTER DE ENTRADA DEL TECLADODL <> FFH, DL CONTIENE UN CARACTER CON ECO EN PANTALLA

21h/AH = 7 ENTRADA DIRECTA DE CONSOLA SIN ECO

VALORES REGRESADOS:AL = CARACTER DEL TECLADO

21h/AH = 8 ENTRADA DE CONSOLA SIN ECO

VALORES REGRESADOS:AL = CARACTER DEL TECLADO

21h/AH = 9 IMPRESION DE CADENA

DS:DX APUNTADOR AL PRIMER CARACTER DE LA CADENA

21h/AH = 0A ENTRADA DE TECLADO DESDE BUFFER

DS:DX APUNTA A UN BUFFER DE ENTRADA

21h/AH = 0B VERIFICA EL ESTADO DE ENTRADA ESTANDAR

VALORES REGRESADOS:AL = FFH SI EL CARACTER ESTA DISPONIBLE EN EL TECLADOAL = 00H SI NINGUN CARACTER ESTA DISPONIBLE

21h/AH = 0C LIMPIA EL BUFFER DEL TECLADO E INVOCA UNA FUNCION

PAG. 16

Page 17: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

AL = NUMERO DE LA FUNCION (SOLO 1,6,7,8, Y 0A)

21h/AH = 0D REINICIA EL DISCO

NOTA: LOS ARCHIVOS QUE CAMBIARON DE TAMAÑO Y NO FUERON CERRADOS, NO SE REGISTRAN ADECUADAMENTE EN EL DIRECTORIO DEL DISCO.

21h/AH = 0E SELECCION DE DISCO

DL = NUMERO DE LA UNIDAD DE DISCO (0 = A, 1 = B, ETC.)VALORES REGRESADOS:AL = NUMERO TOTAL DE UNIDADES DE DISCO

21h/AH = 0F ABRE UN ARCHIVO

DS:DX = APUNTA A UN FCB (BLOQUE DE CONTROL DE ARCHIVO)

VALORES REGRESADOS:AL = 00 SI SE ABRIO EL ARCHIVOAL = FFH SI EL ARCHIVO NO FUE ABIERTO

21h/AH = 10 CIERRA UN ARCHIVO

DS:DX = APUNTA A UN FCB ABIERTO

VALORES REGRESADOS:AL = 00 SI SE ENCONTRO EL ARCHIVOAL = FFH SI EL ARCHIVO NO SE ENCONTRO EN EL DIRECTORIO

21h/AH = 11 BUSQUEDA DE PRIMERA ENTRADA

DS:DX = APUNTA A UN FCB NO ABIERTO

VALORES REGRESADOS:AL = 00 SI SE ENCONTRO EL NOMBRE DEL ARCHIVOAL = FFH SI NO SE ENCONTRO EL NOMBRE DEL ARCHIVO

21h/AH = 12 BUSQUEDA DE SIGUIENTE ENTRADA

DS:DX = APUNTA A UN FCB NO ABIERTO ESPECIFICADO POR AH = 11

VALORES REGRESADOS:AL = 00 SI SE ENCONTRO EL NOMBRE DEL ARCHIVOAL = FFH SI NO SE ENCONTRO EL NOMBRE DEL ARCHIVO

21h/AH = 13 BORRA UN ARCHIVO

DS:DX = APUNTA A UN FCB NO ABIERTO

PAG. 17

Page 18: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

VALORES REGRESADOS:AL = 00 SI SE BORRO EL ARCHIVOAL = FFH SI NO SE ENCONTRO EL ARCHIVO EN EL DIRECTORIO

21h/AH = 14 LECTURA SECUENCIAL

DS:DX = APUNTA A UN FCB ABIERTO

VALORES REGRESADOS:AL = 00 SI LA LECTURA SE RELIZO NORMALMENTEAL = 01 SI EOF (NO SE LEYERON LOS DATOS)AL = 02 SI DTA ES MUY PEQUE¥A (LECTURA CANCELADA)AL = 03 SI EOF (SE LEYO UN REGISTRO PARCIAL)

21h/AH = 15 ESCRITURA SECUENCIAL

DS:DX = APUNTA A UN FCB ABIERTOVALORES REGRESADOS:AL = 00 SI LA ESCRITURA SE REALIZO NORMALMENTEAL = 01 SI EL DISCO FLEXIBLE ESTA LLENO (SE CANCELA)AL = 02 SI DTA ES MUY PEQUEÑA (SE CANCELA)

21h/AH = 16 CREACION DE ARCHIVO

DS:DX = APUNTA A UN FCB NO ABIERTO

VALORES REGRESADOS:

AL = 00 SI EL ARCHIVO SE CREOAL = FFH SI EL ARCHIVO NO SE CREO

21h/AH = 17 CAMBIO DE NOMBRE DE ARCHIVO

DS:DX = APUNTA A UN FCB MODIFICADO

VALORES REGRESADOS:AL = 00 SI SE CAMBIO EL NOMBRE DEL ARCHIVOAL = FFH SI EL NOMBRE DEL ARCHIVO NO SE HALLO O SI FALLO EL INTENTO DE

CAMBIARLE EL NOMBRE

21h/AH = 19 DISCO ACTIVO

VALORES REGRESADOS:AL = UNIDAD DE DISCO ACTIVA (0 = A, 1 = B, ETC)

21h/AH = 1A DIRECCION DE TRANSFERENCIA DE DISCO

PAG. 18

Page 19: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

DS:DX = DIRECCION DE TRANSFERENCIA

21h/AH = 1B INFORMACION SOBRE LA TABLA DE ASIGNACION

VALORES REGRESADOS:DS:BX= APUNTA AL BYTE QUE DESCRIBE EL MEDIO DE LA UNIDAD DE DISCO

AUTOMATICA (DEFAULT)DX = NUMERO DE UNIDADES ASIGNADASAL = NUMERO DE SECTORES/UNIDAD ASIGNADACX = MAGNITUD DEL SECTOR FISICO

21h/AH = 1C INFORMACION SOBRE LA TABLA DE ASIGNACION DEL DISPOSITIVO ESPECIFICO

DL = NUMERO DE LA UNIDAD DE DISCO (DRIVE)

VALORES REGRESADOS:

DS:BX= APUNTA AL BYTE QUE DESCRIBE EL MEDIO DE LA UNIDAD DE DISCO ESPECIFICADA EN DL

AL = NUMERO DE SECTORES/UNIDAD ASIGNADADX = NUMERO DE UNIDADES ASIGNADASCX = MAGNITUD DEL SECTOR FISICO

21h/AH = 21 LECTURA ALEATORIA

DS:DX = APUNTA A UN FCB ABIERTO

VALORES REGRESADOS:

AL = 00 SI LA LECTURA SE REALIZO NORMALMENTEAL = 01 SI EOF (NO SE LEYERON DATOS)AL = 02 SI DTA ES MUY PEQUE¥A (SE CANCELA)AL = 03 SI EOF (SE LEYO UN REGISTRO PARCIAL)

21h/AH = 22 ESCRITURA ALEATORIA

DS:DX = APUNTA A UN FCB ABIERTO

VALORES REGRESADOS:

AL = 00 SI LA ESCRITURA SE REALIZO NORMALMENTEAL = 01 SI EL DISCO ESTA LLENO (SE CANCELA)AL = 02 SI DTA ES MUY PEQUEÑA (SE CANCELA)

21h/AH = 23 TAMAÑO DEL DISCO

DS:DX = APUNTA A UN FCB NO ABIERTO

PAG. 19

Page 20: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

VALORES REGRESADOS:

AL = 00 SI SE HALLO LA ENTRADA AL DIRECTORIOAL = FFH SI NO SE HALLO LA ENTRADA AL DIRECTORIO

21h/AH = 24 CAMPO DE REGISTRO RELATIVO

DS:DX = APUNTA A UN FCB ABIERTO

NOTA: ESTA FUNCION SE LLAMA ANTES DE EFECTUAR LECTURA O ESCRITURA ALEATORIAS

21h/AH = 25 INSTALA VETOR DE INTERRUPCION

DS:DX = DIRECCION DE LA RUTINA DE MANEJO DE INTERRUPCIONAL = NUMERO DE LA INTERRUPCION

21h/AH = 26 CREACION DE NUEVO SEGMENTO DEL PROGRAMA

DX = NUMERO DEL SEGMENTO DEL NUEVO SEGMENTO DEL PROGRAMA

NOTA: SE RECOMIENDA EVITAR ESTA LLAMADA Y EN SU LUGAR USAL LA FUNCION 4BH DE EXEC.

21h/AH = 27 LECTURA ALEATORIA DE BLOQUE

DS:DX =APUNTA A UN FCB ABIERTOCX = NUMERO DE REGISTROS QUE VAN A LEERSE

VALORES REGRESADOS:

AL = 00 SI LA LECTURA SE REALIZO NORMALMENTEAL = 01 SI EOF (NO SE LEYERON LOS DATOS)AL = 02 SI DTA ES MUY PEQUE¥A (SE CANCELA)AL = 03 SI EOF (SE LEYO UN REGISTRO PARCIAL)CX = NUMERO DE REGISTROS LEIDOS

21h/AH = 28 ESCRITURA ALEATORIA DE BLOQUE

DS:DX = APUNTA A UN FCB ABIERTOCX = NUMERO DE REGISTROS QUE VAN A ESCRIBIRSE

VALORES REGRESADOS:

AL = 00 SI LA ESCRITURA SE REALIZO NORMALMENTEAL = 01 SI EL DISCO ESTA LLENO (SE CANCELA)AL = 02 SI DTA ES MUY PEQUE¥A (SE CANCELA)

PAG. 20

Page 21: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

21h/AH = 29 ANALISIS DEL NOMBRE DE ARCHIVO ESPECIFICADO

DS:SI = APUNTA A UNA LINEA DE COMANDO QUE VA A ANALIZARSEES:DI = APUNTA A UNA PARTE DE LA MEMORIA QUE VA A LLENARSE CON UN FCB AUN

NO ABIERTOAL = VALOR DEL BIT QUE CONTROLA EL ANALISIS

VALORES REGRESADOS:

AL = 00 SI EN LA LINEA DE COMANDO NO ESTAN TODOS LOS CARACTERES DEL NOMBRE DEL ARCHIVO

AL = 01 SI EN LA LINEA DE COMANDO SI ESTAN TODOS LOS CARACTERES AL = FFH SI NO ES VALIDO EL ESPECIFICADOR DE LA UNIDAD DE DISCO (DRIVE) DS:DI = APUNTA

AL PRIMER CARACTER QUE ESTA DESPUES DEL NOMBRE DEL ARCHIVO A ANALIZAR

ES:DI = APUNTA AL PRIMER BYTE DEL FCB FORMATEADO

21h/AH = 2A SE OBTIENE LA FECHA

VALORES REGRESADOS:

AL = DIA DE LA SEMANA (0 = DOMINGO,...,6 = SABADO)CX = AÑO (1980 A 2099)DH = MES (1 A 12)DL = DIA (1 A 31)

21h/AH = 2B SE INTRODUCE LA FECHA

CX = AÑO (1980 A 2099)DH = MES (1 A 12)DL = DIA (1 A 31)

VALORES REGRESADOS:AL = 00 SI LA FECHA ES VALIDAAL = FFH SI LA FECHA NO ES VALIDA

21h/AH = 2C SE OBTIENE LA HORA

VALORES REGRESADOS:CH = HORA (0 A 23)CL = MINUTOS (0 A 59)DH = SEGUNDOS (0 A 59)DL = CENTESIMAS DE SEGUNDO (0 A 99)

21h/AH = 2D SE INTRODUCE LA HORA

CH = HORA (0 A 23)CL = MINUTOS (0 A 59)

PAG. 21

Page 22: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

DH = SEGUNDOS (0 A 59)DL = CENTESIMAS DE SEGUNDO (0 A 99)

VALORES REGRESADOS:AL = 00 SI LA HORA ES VALIDAAL = FFH SI LA HORA NO ES VALIDA

21h/AH = 2E VERIFICACION DE INICIALIZACION/REINICIALIZACION

AL = 00 PARA PONER VERIFICACION DE APAGADOAL = 01 PARA PONER VERIFICACION DE ENCENDIDO

21h/AH = 2F SE OBTIENE DIRECCION DE TRANSFERENCIA A DISCO (DTA)

VALORES REGRESADOS:ES:BX ES LA DTA ACTIVA

21h/AH = 30 NUMERO DE LA VERSION DE DOS

VALORES REGRESADOS:BX = 0000CX = 0000AL = NUMERO PRINCIPAL DE LA VERSIONAH = NUMERO SECUNDARIO DE LA VERSION

21h/AH = 31 TERMINA EL PROCESO Y PERMANECE COMO RESIDENTE

AL = CODIGO DE REGRESODX = TAMAÑO DE LA MEMORIA EN PARRAFOS

21h/AH = 33 VERIFICACION DEL CTRL-BREAK

AL = 00 PARA SOLICITAR EL ESTADO CORRIENTEAL = 01 PARA INSTALAR EL ESTADODL = 00 PARA DESACTIVAR EL ESTADO CORRIENTEDL = 01 PARA INSTALAR EL ESTADO

VALORES REGRESADOS:DL = ESTADO ACTUAL (00 = ACTIVADO, 01 = DESACTIVADO)

21h/AH = 35 SE OBTIENE VECTOR

AL = NUMERO DE LA INTERRUPCION

PAG. 22

Page 23: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

VALORES REGRESADOS:ES:BX = APUNTA A LA RUTINA QUE MANEJA LA INTERRUPCION

21h/AH = 36 SE OBTIENE ESPACIO LIBRE EN DISCO

DL = UNIDAD DE DISCO (0 POR OMISION, 1 = B)

VALORES REGRESADOS:BX = AGRUPAMIENTOS (CLUSTERS) DISPONIBLESDX = AGRUPAMIENTOS POR UNIDAD DE DISCOCX = BYTES/SECTORAX = FFFFH SI LA UNIDAD EN DL NO ES VALIDA; EN CASO CONTRARIO, EL NUMERO DE

SECTORES/AGRUPAMIENTO.

21h/AH = 38 INFORMACION DE TIPO INTERNACIONAL

NOTA: VEA EL MANUAL IBM-DOS TECHNICAL REFERENCE PARA LAS VERSIONES DOS 2.10 Y DOS 3.00 Y 3.10

AH = 39 CREACION DE SUBDIRECTORIO (MKDIR)DS:DX = APUNTA A UNA CADENA ASCII VALORES REGRESADOS:AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

21h/AH = 3A SUPRIME SUBDIRECTORIO (RMDIR)

DS:DX = APUNTA A UNA CADENA ASCII

VALORES REGRESADOS:AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

21h/AH = 3B CAMBIO DE SUBDIRECTORIO (CHDIR)

DS:DX = APUNTA A UNA CADENA ASCII

VALORES REGRESADOS:

AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

21h/AH = 3C CREACION DE ARCHIVO (CREAT)

DS:DX = APUNTA A UNA CADENA ASCIICX = ATRIBUTO

VALORES REGRESADOS:

AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

21h/AH = 3D ABRE UN ARCHIVO

PAG. 23

Page 24: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

DS:DX = APUNTA A UN NOMBRE DE TRAYECTORIA ASCIIAL = CODIGO DE ACCESO

VALORES REGRESADOS:

AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

NOTA: LOS CODIGOS DE ACCESO SON: AL = 0, EL ARCHIVO ESTA ABIERTO PARA LECTURA; AL= 1, EL ARCHIVO ESTA ABIERTO PARA ESCRITURA; AL = 2, EL ARCHIVO ESTA ABIERTO PARA AMBAS OPERACIONES

21h/AH = 3E CIERRA UN MANEJADOR DE ARCHIVO

BX = MANEJADOR DE ARCHIVO QUE SE OBTIENE AL ABRIR O CREAR

VALORES REGRESADOS:

AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

21h/AH = 3F LCTURA DE UN ARCHIVO O DISPOSITIVO

BX = MANEJADOR DE ARCHIVODS:DX = DIRECCION DEL BUFFERCX = NUMERO DE BYTES QUE VAN A LEERSE

VALORES REGRESADOS:

AX = NUMERO DE BYTES LEIDOS; CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

21h/AH = 40 ESCRIBIR EN UN ARCHIVO O DISPOSITIVO

BX = MANEJADOR DE ARCHIVODS:DX = DIRECCION DE LOS DATOS PARA EL ARCHIVOCX = NUMERO DE BYTES A ESCRIBIR

VALORES REGRESADOS:

AX = NUMERO DE BYTES ESCRITOS; CODIGOS DE ERROR SI LA BANDERA DEACARREO (CARRY) ESTA ACTIVA

21h/AH = 41 SUPRIMIR UN ARCHIVO DE DIRECTORIO ESPECIFICADO (UNLINK)

DS:DX = DIRECCION DE UNA CADENA ASCII

VALORES REGRESADOS:

PAG. 24

Page 25: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

21h/AH = 42 MOVER APUNTADOR DE ARCHIVO LECTURA-ESCRITURA

CX:DX = DISTANCIA (DESPLAZAMIENTO) A MOVER EN BYTESAL = METODO DE MOVIMIENTO (0,1,2)BX = MANEJADOR DE ARCHIVO

VALORES REGRESADOS:

AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVADX:AX = LOCALIDAD DEL NUEVO APUNTADOR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

NOTA: LOS METODOS DE MOVIMIENTO SON: 0, EL APUNTADOR SE DESPLAZA CX:DX BYTES DEL COMIENZO DEL ARCHIVO; 1, EL APUNTADOR SE DESPLAZA A LA LOCALIDAD MAS EL DESPLAZAMIENTO; 2, EL APUNTADOR SE MUEVE AL FINAL DEL ARCHIVO MAS EL DESPLAZAMIENTO. ESTE ULTIMO SIRVE PARA DETERMINAR EL TAMAÑO DEL ARCHIVO.

21h/AH = 43 CAMBIO DE MODO DE ARCHIVO (CHMOD)

DS:DX = APUNTA A UN NOMBRE DE TRAYECTORIA ASCIICX = ATRIBUTOAL = CODIGO DE FUNCION

VALORES REGRESADOS:

AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVACX = ATRIBUTO CORRIENTE DEL ARCHIVO; SI LA BANDERA DE ACARREO NO ESTA

ACTIVA Y SE CONSIGUE EL ATRIBUTO.

21h/AH = 44 CONTROL DE I/O PARA DISPOSITIVOS (IOCTL)

DS:DX = DATOS O BUFFERCX = NUMERO DE BYTES A LEER O ESCRIBIRBX = MANEJADOR DE ARCHIVOBL = NUMERO DE UNIDAD DE DISCO (0 = POR OMISION, 1 = A, ETC.)

VALORES REGRESADOS:AX = NUMERO DE BYTES TRANSFERIDOS SI LA BANDERA DE ACARREO (CARRY) NO

ESTA ACTIVA; CODIGOS DE ERROR SI LA BANDERA DE ACARREO ESTA ACTIVA O SI SE TIENE AX = 0FFH

NOTA: LOS VALORES DE FUNCION SON:

AL = 00 SE OBTIENE INFORMACION DE DISPOSITIVO (REGRESA EN DX)AL = 01 SE INSTALA INFORMACION DE DISPOSITIVO (DETERMINADA POR DX). PARA ESTA

LLAMADA, DH DEBE SER CERO

PAG. 25

Page 26: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

AL = 02 LEE EL NUMERO CX DE BYTES EN DS:DX DEL CANAL DE CONTROL DEL DIPOSITIVO

AL = 03 ESCRIBE EL NUMERO CX DE BYTES DESDE DS:DX AL CANAL DE CONTROL DEL DISPOSITIVO

AL = 04 LO MISMO QUE 2, PERO USA EL NUMERO DE LA UNIDAD DE DISCO EN BL CON 0 = POR OMISION, 1 = A, ETC.

AL = 05 LO MISMO QUE 3, PERO USA EL NUMERO DE LA UNIDAD DE DISCO EN BLAL = 06 SE OBTIENE EL ESTADO DE LA ENTRADAAL = 07 SE OBTIENE EL ESTADO DE LA SALIDAAL = 08 "¿ ES UN BLOQUE PARTICULAR E INTERCAMBIABLE DE DISPOSITIVO ? "AL = 09 "¿ ES UN DISPOSITIVO LOGICO LOCAL O REMOTO ?"AL = 0A "¿ ES UN MANEJADOR LOCAL O REMOTO ?"AL = 0B CAMBIO DE CUENTA DE COMPARTICION DE REINTENTOSAL = 0C E/S GENERICA PARA CONTROLESAL = 0D E/S GENERICA PARA DISPOSITIVOS DE BLOQUESAL = 0E OBTIENE MAPA DE UNIDAD LOGICAAL = 0F ESTABLECER MAPA DE UNIDAD LOGICA

21h/AH = 45 DUPLICA UN MANEJADOR DE ARCHIVO (DUP)

BX = MANEJADOR DE ARCHIVO

VALORES REGRESADOS:AX = NUEVO MANEJADOR DE ARCHIVO SI LA BANDERA DE ACARREO NO ESTA

ACTIVA; EN CASO CONTRARIO CODIGOS DE ERROR.

21h/AH = 46 OBLIGA A UN DUPLICADO DE MANEJADOR DE ARCHIVO (FORCDUP)

BX = MANEJADOR EXISTENTE DEL ARCHIVOCX = SEGUNDO MANEJADOR DE ARCHIVO

VALORES REGRESADOS:AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

21h/AH = 47 OBTIENE DIRECTORIO CORRIENTE

DS:SI= APUNTA A UNA AREA DE MEMORIA DE USUARIO DE 64 BYTESDL = NUMERO DE UNIDAD DE DISCO (0 = POR OMISION, 1 = A, ETC.)

VALORES REGRESADOS:DS:SI= SE LLENA CON EL NOMBRE COMPLETO DE LA TRAYECTORIA SI LA BANDRA DE

ACARREO NO ESTA ACTIVA.AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

21h/AH = 48 ASIGNA MEMORIA

BX = NUMERO DE PARRAFOS DE MEMORIA SOLICITADOS

PAG. 26

Page 27: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

VALORES REGRESADOS:AX:0 = APUNTA AL BLOQUE DE MEMORIA ASIGNADOAX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVABX = TAMAÑO DEL BLOQUE DE MEMORIA DISPONIBLE MAS LARGO

21/hAH = 49 LIBERA MEMORIA ASIGNADA

ES = SEGMENTO DEL BLOQUE QUE SE OBTIENE

VALORES REGRESADOS:AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

21h/AH = 4A MODIFICA BLOQUES DE MEMORIA ASIGNADA (SETBLOCK)

ES = SEGMENTO DEL BLOQUEBX= CONTIENE EL TAMAÑO EN PARRAFOS DEL NUEVO BLOQUE

VALORES REGRESADOS:AX= CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVABX= MAXIMO TAMAÑO POSIBLE

21h/AH = 4B CARGA O EJECUTA UN PROGRAMA (EXEC)

DS:DX = APUNTA A LA CADENA ASCII CON LA UNIDAD DE DISCO, TRAYECTORIA, Y NOMBRE DE ARCHIVO A SER CARGADO.

ES:BX = APUNTA A UN BLOQUE DE PARAMETROS PARA LA CARGAAL = VALOR DE FUNCION (VEA LA NOTA)

VALORES REGRESADOS:AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVANOTA: VALORES DE FUNCION: 00, CARGA Y EJECUTA EL PROGRAMA; 03, CARGA, NO CREA

EL PSP Y NO COMIENZA LA EJECUCION . (CONSULTE EL MANUAL TECHNICAL REFERENCE PARA MAYOR INFORMACION)

21h/AH = 4C TERMINA UN PROCESO (EXIT)

AL = CODIGO DE REGRESO

21h/AH = 4D OBTIENE CODIGO DE REGRESO DE UN SUBPROCESO (WAIT)

VALORES REGRESADOS:AX = CODIGOS DE REGRESO

21h/AH = 4E ENCUENTRA PRIMERA COINCIDENCIA DE ARCHIVO

PAG. 27

Page 28: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

DS:DX = APUNTA A UNA CADENA ASCII QUE CONTIENE LA UNIDAD DE DISCO, TRAYECTORIA, Y NOMBRE DE ARCHIVO PERTENECIENTES AL ARCHIVO QUE SE VA A LOCALIZAR

CX = ATRIBUTO QUE SE USA EN LA BUSQUEDA DEL ARCHIVO

VALORES REGRESADOS:AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

NOTA: DOS RESERVA 21 BYTES PARA LAS SIGUIENTES LLAMADAS: 1 BYTE PARA EL ATRIBUTO DE ARCHIVO; 2BYTES PARA LA HORA DEL ARCHIVO; 2 BYTES PARA

LA FECHA DEL ARCHIVO; 2 BYTES PARA LA PALABRA BAJA DEL TAMAÑO, Y 2 BYTES PARA LA PALABRA ALTA DEL TAMAÑO DEL ARCHIVO.

21h/AH = 4F ENCUENTRA LA SIGUIENTE COINCIDENCIA DE ARCHIVO

DTA CONTIENE LA INFORMACION DE LA PRIMERA O SIGUIENTE BUSQUEDA (4E,4F)

VALORES REGRESADOS:

AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

21h/AH = 54 OBTIENE VALOR DE LA BANDERA DE VERIFICACION

VALORES REGRESADOS:

AL = VALOR DE LA BANDERA DE VERIFICACION (VERIFY): 00H, SI LA BANDERA ESTA APAGADA, 01H SI LA BANDERA ESTA ENCENDIDA

21h/AH = 56 CAMBIA EL NOMBRE A UN ARCHIVO

DS:DX = APUNTA A UNA CADENA ASCII QUE CONTIENE LA UNIDAD DE DISCO, TRAYECTORIA Y NOMBRE DEL ARCHIVO QUE VA A CAMBIARSE

ES:DI = APUNTA A UNA CADENA ASCII QUE CONTIENE LA NUEVA TRAYECTORIA Y EL NOMBRE DEL ARCHIVO

21h/AH = 57 OBTIENE/ESTABLECE LA FECHA Y HORA DEL ARCHIVO

AL = 00 SE OBTIENE LA FECHA Y HORA; 01 FIJA LA FECHA Y HORABX = MANEJADOR DE ARCHIVOCX = TIEMPO QUE SE VA A FIJAR SI AL = 01DX = FECHA QUE SE VA A FIAJR SI AL = 01

VALORES REGRESADOS:

AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

PAG. 28

Page 29: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

DX = SI SE OBTIENE FECHA, LA TOMA DE LA TABLA INTERNA CX = SI SE OBTIENE HORA, LA TOMA DE LA TABLA INTERNA

21h/AH = 59 OBTIENE ERROR EXTENDIDO (DOS 3.00 Y 3.10)

BX = 0000 (VERSION, 0 PARA 3.00 Y 3.10)

VALORES REGRESADOS:

AX = ERROR EXTENDIDOBH = TIPO DE ERRORBL = ACCION SUGERIDACH = LUGAR

NOTA: CONSULTE EL MANUAL TECHNICAL REFERENCE PARA MAYOR INFORMACION

21h/AH = 5A CREA ARCHIVO UNICO (DOS 3.00 Y 3.10)

DS:DX = APUNTA A UNA TRYECTORIA ASCII QUE TERMINA CON DIAGONAL INVERSA (\)CX = ATRIBUTO

VALORES REGRESADOS:

AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVADS:DX = TRAYECTORIA ASCII CON EL NOMBRE DEL ARCHIVO DEL NUEVO ARCHIVO

AGREGADO

21h/AH = 5B CREA NUEVO ARCHIVO (DOS 3.00 Y 3.10)

DS:DX = APUNTA A UN NOMBRE DE TRAYECTORIA ASCIICX = ATRIBUTOS DE ARCHIVO

VALORES REGRESADOS:

AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

21h/AH = 5C CIERRA/ABRE EL ACCESO AL ARCHIVO (DOS 3.00 Y 3.10)

AL = 00 PARA CERRAR; 01 PARA ABRIRBX = MANEJADOR DE ARCHIVOCX = DEESPLAZAMIENTO ALTODX = DESPLAZAMIENTO BAJOSI = LONGITUD ALTADI = LONGITUD BAJA

VALORES REGRESADOS:

PAG. 29

Page 30: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

21h/AX = 5E00 OBTIENE NOMBRE DE LA MAQUINA (DOS 3.10)

DS:DX = APUNTA AL BUFFER DE LA MEMORIA DONDE REGRESA EL NOMBRE ASCII DE LA COMPUTADORA

VALORES REGRESADOS:

DS:DX SE LLENA CON EL NOMBRE DE LA COMPUTADORA CH = NOMBRE/NUMERO DE LA BANDERA INDICADORA, 0 = NOMBRE NO DEFINIDO;

OTRO = NOMBRE/NUMERO DEFINIDOCL = NUMERO DEL NOMBRE NETBIOSAX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

21h/AX = 5E02 INSTALA PROCEDIMIENTO DE IMPRESORA (DOS 3.10)

BX = REDIRECCION DEL INDICE DE LISTACX = LONGITUD DE LA CADENA DEL PROCEDIMIENTO (MAXIMO 64 BYTES)DS:SI = APUNTA AL BUFFER DEL PROCEDIMIENTO DE IMPRESORA

VALORES REGRESADOS:

AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

21h/AX = 5E03 OBTIENE PROCEDIMIENTO DE IMPRESORA (DOS 3.10)

BX = REDIRECCION DEL INDICE DE LISTAES:DI = APUNTA AL BUFFER DEL PROCEDIMIENTO DE IMPRESORA

VALORES REGRESADOS:

AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVACX = LONGITUD DE LOS DATOS REGRESADOSES:DI = SE LLENA CON LA CADENA DEL PROCEDIMIENTO DE IMPRESORA

21h/AX = 5F02 OBTIENE ENTRADA DE LISTA DEREDIRECCION (DOS 3.10)

BX = INDICE DE REDIRECCION (BASADO EN 0)DS:DI = APUNTA A LA DIRECCION DE UN BUFFER DE 128 BYTES DEL NOMBRE DE LA REDES:DI = APUNTA A LA DIRECCION DE UN BUFFER DE 128 BYTES DEL NOMBRE DE LA RED

VALORES REGRESADOS:BH = BANDERA DE ESTADO DEL DISPOSITIVO (BIT 0 = 0 SI EL DISPOSITIVO ES VALIDO;

BIT 0 = 1 SI EL DISPOSITIVO NO ES VALIDO; BITS 1 A 7 RESRVADOS)

PAG. 30

Page 31: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

BL = TIPO DE DISPOSITIVOCX = VALOR DEL PARAMETRO ALMACENADO DX,BP SON DESTRUIDOSDS:SI = NOMBRE ASCII DEL DISPOSITIVO LOCALES:DI = NOMBRE ASCII DE LA RED

21h/AX = 5F03 DISPOSITIVO REDIRIGIDO (DOS 3.10)

BL = TIPO DE DISPOSITIVO (03, DISPOSITIVO DE IMPRESORA; 04, DISPOSITIVO DE ARCHIVO)

CX = VALOR A SALVAR DEL LLAMADORDS:SI = NOMBRE ASCII DEL DISPOSITIVO FUENTEES:DI = TRAYECTORIA ASCII DE LA RED DE DESTINO CON CONTRASEÑA

VALORES REGRESADOS:AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

21h/AX = 5F04 CANCELA REDIRECCION (DOS 3.10)

DS:SI = NOMBRE ASCII DEL DISPOSITIVO O TRAYECTORIA

VALORES REGRESADOS:AX = CODIGOS DE ERROR SI LA BANDERA DE ACARREO (CARRY) ESTA ACTIVA

21h/AH = 62 OBTIENE DIRECCION DEL PSP (DOS 3.00 Y 3.10)

VALORES REGRESADOS:BX = DIRECCION DEL SEGMENTO DEL PROCESO QUE SE EJECUTA

INT 22H DIRECCION DE TERMINACION

CUANDO UN PROGRAMA TERMINA, EL CONTROL SE TRANSFIERE A LA DIRECCION DE ESTA INTERRUPCION. NO DEBE UTILIZARSE DIRECTAMENTE PUESTO QUE LA FUNCION EXEC (VEA LA FUNCION AH = 4B DE INT 21H)2 SE ENCARGA DE LLAMARLA.

INT 23H DIRECCION DE SALIDA DE CTRL-BREAK

SE EJECUTA ESTA INTERRUPCION CUANDO EL USUARIO ACCIONA LA COMBINACION CTRL-BREAK EN EL MOMENTO DE ESTAR CORRIENDO UN PROGRAMA O DURANTE EL TRABAJO DE LA IMPRESORA O EN LAS OPERACIONES DE COMUNICACION.

INT 24H VECTOR QUE MANEJA EL ERROR CRITICO

PAG. 31

Page 32: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

CUANDO SE PRESENTA UN ERROR CRITICO DENTRO DE DOS, EL CONTROL SE TRANSFIERE MEDIANTE ESTA INTERRUPCION, LA CUAL EXAMINA LAS CONDICIONES DEL ERROR Y PRESENTA LAS OPCIONES: Abort, Ignore o Retry.

INT 25H LECTURA ABSOLUTA DE DISCO

ESTE VECTOR TRANSFIERE EL CONTROL DIRECTAMENTE A LA UNIDAD DE DISCO (DRIVE); A SU REGRESO, LAS BANDERAS CONTINUAN EN LA PILA. DEBE ASEGURARSE DE EXTRAERLAS (POP) DE LA PILA PARA EVITAR ALGUN PROCESO INCONTROLADO. LA PETICION ES COMO SIGUE: AL = NUMERO DE LA UNIDAD (DRIVE), 0 = A, 1 = B, ETC.; CX = NUMERO DE SECTORES QUE VAN A LEERSE; DX = NUMERO DEL SECTOR LOGICO INICIAL; DS:BX = DIRECCION DE TRANSFERENCIA.

INT 26H ESCRITURA ABSOLUTA DE DISCO

ESTE VECTOR ES LA CONTRAPARTE DEL ANTERIOR; SE APLICA LA MISMA DESCRIPCION QUE PARA INT 25H, TENIENDO EN CUENTA QUE SE TRATA DE ESCRIBIR Y NO DE LEER.

INT 27H TERMINA Y PERMANECE RESIDENTE

ESTE VECTOR SE UTILIZA EN LOS PROGRAMAS QUE VAN A CONTINUAR EN LA MEMORIA EN CALIDAD DE RESIDENTES. LA FUNCION AH = 31 DE INT 21H TIENE EL MISMO PROPOSITO Y SE PREFIERE A ESTA; CUANDO SE UTILIZA UNA U OTRA, DOS CONSIDERA EL PROGRAMA COMO UNA EXTENSION, DE MODO QUE EL PROGRAMA NO SE ALTERA CUANDO SE EJECUTAN OTROS PROGRAMAS.

INT 28H A 2EH RESERVADAS PARA DOS

INT 2FH INTERRUPCION MULTIPLEX

SE UTILIZA EN LA VERSION 3.x DE DOS PARA SOMETER A, O CANCELAR EN, LA LINEA DE ESPERA DE IMPRESION DE ARCHIVOS.

INT 30H A 3FH RESERVADAS PARA DOS

INT 40H A 41H FUNCIONES Y PARAMETROS DE DISCO RIGIDO

LAS DOS RUTINAS SUSTITUYEN AL VECTOR INT 13H PARA REALIZAR LAS FUNCIONES DE DISCO DURO Y APUNTAR A LA TABLA QUE CONTIENE LOS PARAMETROS CARACTERISTICOS OPERACIONALES DE DISCO DURO, Y QUE ESTAN EN EL BIOS.

PAG. 32

Page 33: Interrup c i Ones

LENGUAJE ENSAMBLADOR ING. CARLOS MAGGI NATALE

INT 42H A 43H RESERVADAS PARA DOS

INT 44H A 5FH RESERVADAS PARA BIOS

INT 60H A 67H RESERVADAS PARA EL USUARIO

INT 68H A 7FH RESERVADAS

INT 80H A 85H RESERVADAS PARA BASIC

INT 86H A F0H RESERVADAS PARA EL INTERPRETE DE BASIC

INT F1H A FFH RESERVADAS PARA COMUNICACIONES DE INTERPROCESO.

PAG. 33