No acceso a registros de carpeta
Publicado por Dan (2 intervenciones) el 28/04/2012 03:30:08
Hola, tengo un problema, me gustaria que me pudieran ayudar o decir donde esta mi error, El siguiente codico lo hice con un amigo en TASM, se supone que debe entrar a la carpeta y mostrar todos los archivos que se encunetran dentro, pero ejecutandolo en Turbo Debbuger nos muestra que encuentra archivos en esta parte
MOV DX,OFFSET path
MOV AX, SEG path
ya que AL nos da 00 y tengo entendido que eso significa que encontro archivos pero en la segunda vuelta nos muestra 12 en AL y no se como corregir ese error para despues poder mostrar los archivos que esten dentro de esta carpeta.
;VIRUS
.model small
.stack
.data
path DB "C:\nueva\*.*",00H
error DB "Error$"
bien DB "Bien$"
disk DB 43 DUP (?)
renglon DB 0
salida DB "Fin del programa$"
.code
ioln macro var
push ax
push dx
mov dx, offset var
mov ax, seg var
mov ds, ax
mov ah, 09h
int 21h
pop dx
pop ax
endm
cursor macro
push ax
push dx
MOV AH,renglon
ADD AH,1
MOV renglon,AH
MOV DL,0
MOV DH,renglon
MOV AH,02H ; mueve el cursor
INT 10H
pop dx
pop ax
endm
salir macro
mov ah,4ch
int 21h
endm
primer macro
MOV AH, 1AH
MOV DX,OFFSET disk
MOV AX, SEG disk
MOV DS, AX
INT 21H
MOV AH, 4EH
MOV CX, 00H
MOV DX,OFFSET path
MOV AX, SEG path
MOV DS, AX
INT 21H
endm
avance macro
MOV AH, 4FH
INT 21H
endm
INICIO:
primer
;imp:
;LEA SI, disk+1Eh
;MOV DI, OFFSET disk
;MOV AX, SEG disk
;MOV ES,AX
;MOV DL, [SI]
;MOV AH, 02H ;Peticion para desplegar
;INT 21H
;INC SI ;Caracter siguiente
;CMP BYTE PTR[SI], 00H
;JNE imp
VOLVER:
avance
CMP AX,00H
JE VOLVER
salir
END INICIO
MOV DX,OFFSET path
MOV AX, SEG path
ya que AL nos da 00 y tengo entendido que eso significa que encontro archivos pero en la segunda vuelta nos muestra 12 en AL y no se como corregir ese error para despues poder mostrar los archivos que esten dentro de esta carpeta.
;VIRUS
.model small
.stack
.data
path DB "C:\nueva\*.*",00H
error DB "Error$"
bien DB "Bien$"
disk DB 43 DUP (?)
renglon DB 0
salida DB "Fin del programa$"
.code
ioln macro var
push ax
push dx
mov dx, offset var
mov ax, seg var
mov ds, ax
mov ah, 09h
int 21h
pop dx
pop ax
endm
cursor macro
push ax
push dx
MOV AH,renglon
ADD AH,1
MOV renglon,AH
MOV DL,0
MOV DH,renglon
MOV AH,02H ; mueve el cursor
INT 10H
pop dx
pop ax
endm
salir macro
mov ah,4ch
int 21h
endm
primer macro
MOV AH, 1AH
MOV DX,OFFSET disk
MOV AX, SEG disk
MOV DS, AX
INT 21H
MOV AH, 4EH
MOV CX, 00H
MOV DX,OFFSET path
MOV AX, SEG path
MOV DS, AX
INT 21H
endm
avance macro
MOV AH, 4FH
INT 21H
endm
INICIO:
primer
;imp:
;LEA SI, disk+1Eh
;MOV DI, OFFSET disk
;MOV AX, SEG disk
;MOV ES,AX
;MOV DL, [SI]
;MOV AH, 02H ;Peticion para desplegar
;INT 21H
;INC SI ;Caracter siguiente
;CMP BYTE PTR[SI], 00H
;JNE imp
VOLVER:
avance
CMP AX,00H
JE VOLVER
salir
END INICIO
Valora esta pregunta


0