Ensamblador - Problemas al eliminar un archivo en Ensamblador 8086

 
Vista:
sin imagen de perfil

Problemas al eliminar un archivo en Ensamblador 8086

Publicado por Dario (1 intervención) el 25/10/2021 15:32:30
Hola a todos, el motivo de este post es ver si se puede hacer algo en cuanto a este código, lo que pasa es que no puedo eliminar un archivo siempre y cuando la función 3CH para crearlo se ejecute con INT 21H, ya que hice pruebas y quite la ejecución de la interrupción para crear un archivo y si funciona la eliminación si coloco en NMF el nombre de un archivo directamente, y cuando vuelvo a probar ejecutando la interrupción de creación con el nombre directo en NMF deja de funcionar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
;Pedir el nombre del archivo
MOV AH, 0AH
LEA DX, NMF
INT 21H
MOV BL, NMF[1]
MOV NMF[BX + 2], ' '
 
;Crear el archivo
MOV AH, 3CH
MOV CX, 0H
LEA DX, NMF + 2
INT 21H
MOV HND, AX
 
;Cerrar el archivo
MOV AH, 3EH
MOV BX, HND
INT 21H
 
;Eliminar el archivo
MOV AH, 41H
LEA DX, NMF + 2
INT 21H

NMF y HND están definidas de la siguiente manera.

1
2
NMF DB 100 DUP(' '), 0
HND DW 0

Y cabe mencionar que el CF = 0 y AX = 00003 al momento de lanzar la interrupción para eliminar el archivo, por lo que no sabría si se trata de un error ya que CF no es 1. Espero y me puedan ayudar, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder