⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delself.asm

📁 自己编的汇编程序(masm5.0),执行后在DOS窗口显示路径
💻 ASM
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2003.7.22
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	.model   small
	.stack
	.data
nameaddr dw ?
lenth dw ?
path  db 30 dup(?)
m1 db 0ah,0dh,'error!',0ah,0dh,'$'
m2 db 0ah,0dh,'ok deleted!',0ah,0dh,'$'
	.code
main	proc	far
start:
		mov ax,@data
		mov ds,ax
env:																								
		mov ax,es:[2ch]		;PSP偏移2ch为环境段指针	 	  
		mov es,ax																						
		mov si,00h																			
again:								 
		cmp byte ptr es:[si],01h ;查找标志0100															
		jz next1																			
		inc si
		jmp again
next1:	
		inc si
		cmp byte ptr es:[si],00h
		jz ok
		jmp again
ok:					;找到记下偏移地址
		inc si
		mov nameaddr,si			  		
findend:
		cmp byte ptr es:[si],00h
		jz next2
		inc si
		jmp findend
next2:
		sub si,[nameaddr]			  
		mov [lenth],si				 
move:					;构造输出串格式
		push es						      	
		push ds
		pop es
		pop ds
		mov si,es:[nameaddr]		  
		lea di,path					  	
		mov cx,es:[lenth]			  
		cld							  
		rep movsb
		push es						  
		push ds
		pop es
		pop ds
makename:							  			
		mov si,lenth
		mov byte ptr [path+si],'$'
dispaly:								  		
		lea dx,path		;输出	
		mov ah,09h
		int 21h
del:					
			   		;读键
		mov ah,08h
		int 21h
		mov dx,[nameaddr]
		push ds
		push es
		pop ds
		
		mov ah,43h		;修改文件属性
		mov al,01h
		mov cx,00h
		int 21h
				
		mov ah,41h		;删除
		int 21h
		pop ds
		lea dx,m1
		cmp ax,00h
		jnz exit
		lea dx,m2
exit:			
		mov ah,09h
		int 21h
		mov ax,4c00h
		int 21h
main	endp
	end	start
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -