Programación General > ASM (Ensamblador)

 Crear Archivo Funcion 3c, Int 21h

(1/1)

underworlddv:
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]

Eternal Idol:
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

Navegación

[0] Índice de Mensajes

Ir a la versión completa