SoloCodigo
Programación General => ASM (Ensamblador) => Mensaje iniciado 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]
-
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)