TASM передача аргументов, в частности, имени удаляемого файла - Assembler

Узнай цену своей работы

Формулировка задачи:

Есть прога, которая удаляет файл. Как в нее передать аргумент(путь к файлу) из проги на С++? И как сделать проверку на существования файла и присутствия аргументов?
.MODEL SMALL
.stack 100h
.DATA
ReadBuf db 'C:\111.txt',0
.CODE
start:
 
mov ax, @data
mov ds, ax
 
lea dx,ReadBuf 
 
mov ah, 41h
int 21h
mov ah, 2h
int 21h
end start

Решение задачи: «TASM передача аргументов, в частности, имени удаляемого файла»

textual
Листинг программы
;DOS, TASM, COM-файл
;tasm.exe /m filename.asm
;tlink.exe /t /x filename.obj
;
.model tiny
.code
 
org 80h
len:
org 82h
fileName:
 
org 100h
START:
    mov ax,3
    int 10h
 
    lea bx,len
    cmp byte ptr [bx],0
    jnz short OKarg
    lea dx,msg_no_args
    jmp short m1
OKarg:
    lea di,fileName
    mov al,[bx]
    dec al
    cwd
    mov bx,ax
    mov byte ptr [di+bx],0
 
    mov ah,41h
    mov dx,di
    int 21h
    jnc short OKfile
    lea dx,msg_no_file
    jmp short m1
OKfile:
    lea dx,msg_success
m1:
    mov ah,9
    int 21h
 
    lea dx,Press_key
    int 21h
 
    xor ax,ax
    int 16h
    
    ret
 
Press_key db 13,10,'Press any key ...$'
 
msg_no_args db 13,10,'no argument$'
msg_success db 13,10,'ok$'
msg_no_file db 13,10,'no complyt$'
 
    end start

Оцени полезность:

15   голосов , оценка 3.6 из 5
Похожие ответы