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

📄 5.asm

📁 用汇编语言做的一个简单的 文件管理
💻 ASM
字号:
STACK SEGMENT STACK
DW 128 DUP(?)
STACK ENDS
DATA  SEGMENT
FILENAME  DB 20,?,20 DUP(?)
FILE2 DB 20,?,20 DUP(?)
BUF1  DW 128 DUP('$')
BUF2  DW 128 DUP(?)
MENU  DB 0DH,0AH,'1.READ FILE',0DH,0AH,'2.COPY FILE',0DH,0AH,'3.Delete FILE',0DH,0AH,'4.EXIT',0DH,0AH,'PLEASE ENTER THE NUMBER(1-4):$'  
MES1  DB 0DH,0AH,'PLEASE READ FILE:',0DH,0AH,'$'
MES3  DB 0DH,0AH,'OK!THE FILE HAS BEEN DeleteD!$',0DH,0AH
MES4  DB 0DH,0AH,'PLEASE INPUT THE TARGET PATH AND NAME(*:\*.txt):$',0DH,0AH
MES5  DB 0DH,0AH,'SORRY!THE FILE IS NOT EXIST!PLEASE Create IT FIRST!$',0DH,0AH
MES6  DB 0DH,0AH,'PLEASE INPUT THE SOURCE PATH AND NAME:(*:\*.txt):$',0DH,0AH
MES7  DB 0DH,0AH,'PLEASE INPUT THE SOURCE FILE NAME:(*:\*.txt):$',0DH,0AH
DATA  ENDS
CODE  SEGMENT
      ASSUME CS:CODE,DS:DATA,SS:STACK
START:MOV AX,DATA
      MOV DS,AX
AGAIN:MOV AH,9
      MOV DX,OFFSET MENU
      INT 21H
      MOV AH,1
      INT 21H
N1:  CMP AL,31H
      JNZ N2
      CALL A1
      JMP AGAIN
N2:  CMP AL,32H
      JNZ N3
      CALL A2
      JMP AGAIN
N3:  CMP AL,33H        
      JNZ N4
      CALL A3
      JMP AGAIN
N4:  CMP AL,34H
      JNZ AGAIN
      MOV AH,4CH
      INT 21H
A1    PROC NEAR
      LEA DX,MES7
      MOV AH,9 
      INT 21H
      CALL INPUT
      MOV DX,OFFSET FILENAME
      ADD DX,2
      MOV AH,3DH
      MOV AL,0
      INT 21H
      JC FAULT1
      MOV BX,AX
      LEA DX,BUF1
      MOV CX,200
      MOV AH,3FH
      INT 21H
      MOV AH,3EH
      INT 21H
      LEA DX,MES1
      MOV AH,9
      INT 21H
      LEA DX,BUF1
      INT 21H
      JMP RE1
FAULT1: CALL FAUL
RE1:  RET 
A1    ENDP
A2    PROC NEAR
      LEA DX,MES6
      MOV AH,9 
      INT 21H
      CALL INPUT
      MOV DX,OFFSET FILENAME
      ADD DX,2
      MOV AH,3DH
      MOV AL,0
      INT 21H
      JC FAULT2
      MOV BX,AX
      LEA DX,BUF2
      MOV CX,100
      MOV AH,3FH
      INT 21H
      MOV AH,3EH
      INT 21H
      MOV DX,OFFSET MES4
      MOV AH,9
      INT 21H
      CALL INPUT2
      JMP RE2
FAULT2:CALL FAUL
RE2:  RET
A2    ENDP
A3    PROC NEAR
      LEA DX,MES7
      MOV AH,9 
      INT 21H
      CALL INPUT
      MOV DX,OFFSET FILENAME
      ADD DX,2
      MOV AH,41H
      INT 21H
      JNC INFO
      CALL FAUL
      JMP RE3
INFO:  MOV DX,OFFSET MES3
      MOV AH,9
      INT 21H
RE3:  RET 
A3    ENDP
INPUT  PROC NEAR
      LEA DX,FILENAME      
      MOV AH,0AH
      INT 21H
      LEA SI,FILENAME
      MOV AL,[SI+1]
      XOR AH,AH
      ADD SI,2
      ADD SI,AX
      MOV BYTE PTR [SI],0
      RET
INPUT  ENDP
FAUL  PROC NEAR
      MOV DX,OFFSET MES5
      MOV AH,9
      INT 21H
      RET 
FAUL  ENDP
INPUT2 PROC NEAR
      MOV DX,OFFSET FILE2
      MOV AH,0AH
      INT 21H
      LEA SI,FILE2
      MOV AL,[SI+1]
      XOR AH,AH
      ADD SI,2
      ADD SI,AX
      MOV BYTE PTR [SI],0
      LEA DX,FILE2
      ADD DX,2
      MOV AH,3CH
      MOV CX,0
      INT 21H
      MOV AH,3DH
      MOV AL,1
      INT 21H
      MOV BX,AX
      MOV DX,OFFSET BUF2
      MOV CX,100
      MOV AH,40H
      INT 21H
      MOV AH,3EH
      INT 21H
      RET
INPUT2 ENDP
CODE  ENDS 
      END START

⌨️ 快捷键说明

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