SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: underworlddv en Viernes 23 de Noviembre de 2007, 03:10

Título: Crear Archivo Funcion 3c, Int 21h
Publicado por: underworlddv en Viernes 23 de Noviembre de 2007, 03:10
tngo un problema con este codigo.... es para crear una archivo

no muestra errores al darle con el MASM... lo puedo ligar  con LINK y ejecutar....
.. "pero en el codigo imprimo el contenido de AL que contiene la informacion sobre si hay errores o no "..... bueno.. pues en el codigo mando a imprimir AL... y me muestra el error 5 "acceso negado".... alguien podria ayudarme¿?¿?¿?¿


seguro es una tonteria el error... pro pues es la primera vez q trato de crear un archivo-......

alguien podria ayudarme.... ¿?¿?¿?¿?
AQUI ESTA EL CODIGO:



;------------------------------------------------------crear archivo----------

pila segment para stack 'stack'
db 128 dup (?)
pila ends

datos segment para 'data'

Path db 'C:\archivo.txt','0'
datos ends

codigo segment para 'code'
assume cs:codigo,ss:pila,ds:datos

      principal proc far
                push ds
                mov ax,00
                push ax
                mov ax,datos
                mov ds,ax


mov ah,3ch
mov ch,00h
lea dx,path
int 21h



mov ah,02h ;muestra si hay error¡¡¡¡    3 ruta no encontrada, 4 no hay handles disponibles
;para asignar y 5 acceso negado.
mov dl,al
add dl,30h
int 21h

      


               ret
       principal endp
codigo ends
end principal
[/color]
Título: Re: Crear Archivo Funcion 3c, Int 21h
Publicado por: Eternal Idol en Viernes 23 de Noviembre de 2007, 10:11
Esto esta mal: Path db 'C:\archivo.txt','0'

Estas usando el caracter '0' cuando tenes que usar el numero 0.

Podes hacer: Path db 'f:\archivo.txt',0

Creo recordar que las cadenas en MS-DOS se terminaban en '$' y esto tambien funciona: Path db 'f:\archivo.txt', '$'

PD. Comproba la existencia del archivo manualmente.

http://www.ctyme.com/intr/rb-2778.htm (http://www.ctyme.com/intr/rb-2778.htm)