• Domingo 22 de Diciembre de 2024, 15:08

Autor Tema:  Crear Archivo Funcion 3c, Int 21h  (Leído 1815 veces)

underworlddv

  • Miembro activo
  • **
  • Mensajes: 42
    • Ver Perfil
Crear Archivo Funcion 3c, Int 21h
« en: Viernes 23 de Noviembre de 2007, 03:10 »
0
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

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Crear Archivo Funcion 3c, Int 21h
« Respuesta #1 en: Viernes 23 de Noviembre de 2007, 10:11 »
0
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

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.