Situación de salida
D
=
edición
E
=
versión (dentro de la edic
ión)
Siempre:
AF, BC, HL, IX corruptos
Preservados todos los demás registros
DOS ABRIR
Ol06h (262)
• Crear
y/o
abrir un fichero.
Si ya existe el fichero, la rutina ejecuta la 'acción abrir'; si no, ejecuta la 'acción crear'.
Estas funciones son especificadas en DE, con los siguientes valores:
Acción
abrir:
I
=
Error -
Ya existe el fichero.
2
=
Abrir el fichero, leer la cabecera (si la hay). Colocar el puntero inmediatamente
después de la cabecera.
3
=
Abrir el fichero, ignorar la cabecera. Colocar el puntero en OOOOh
(O).
4
=
Suponiendo que el nombre de fichero especificado es
nombre.tipo;
borrar nom
bre.BAK (si existe); a nombre. tipo darle el nombre nombre.BAK. Ejecutar la 'ac
ción crear'
.
5
=
Borrar la versión existente. Ejecutar la 'acción crear'.
Acción crear:
I
=
Error -
No existe el fichero.
2
=
Crear y abrir el fichero nuevo con cabecera. Colocar el puntero inmediatamente
después de la cabecera.
3
=
Crear y abrir el fichero nuevo sin cabecera. Colocar el puntero en OOOOOOh
(O).
Ejemplo
.
Para simular en la cinta la acción 'si el fichero existe, abrirlo; si no, crearlo con
cabecera', se debe hacer 'acción abrir' igual a I y 'acción crear' igual a 1.
Ejemplo. Para abrir un fichero y generar un mensaje de error en caso de que el fichero
no exista, se debe hacer 'acción abrir' igual a I
y
'acción crear' igual a O.
Ejemplo. Para crear un fichero nuevo con cabecera, cambiando previamente la versión
existente a . BAK, se debe hacer 'acción abrir' igual a 3 y 'acción crear' igual a 1.
Para los ficheros con cabecera la posición de EOF es la primera posición de byte que es
posterior a todas las posiciones en las que se ha escrito algún byte.
Para los ficheros sin cabecera la posición de EOF es el primer byte del primer registro de
128 bytes que es posterior a todas las posiciones en las que se ha escrito algún byte.
Capítulo 8. Guía de programación en +3 BA5lC
240