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

📄 2.asm

📁 用汇编编写的仓库零件管理系统
💻 ASM
📖 第 1 页 / 共 2 页
字号:
         MOV  BX,29
                           
LOP6:    MOV  AH,1
         INT  21H
         CMP  AL,0AH
         JZ   CONTINUE5
         CMP  AL,0DH
         JZ   CONTINUE5
         MOV  BUFFER1[BX],AL 
         INC  BX
         CMP  BX,34
         JZ   CONTINUE5
         JMP  LOP6  
CONTINUE5:                       ;MIN输入
         NEWLINE
         PUTS MESS20
         CURSOR 18,4
         MOV  BX,36
         
LOP7:    MOV  AH,1
         INT  21H
         CMP  AL,0AH
         JZ   CONTINUE6
         CMP  AL,0DH
         JZ   CONTINUE6
         MOV  BUFFER1[BX],AL 
         INC  BX
         CMP  BX,39
         JZ   CONTINUE6
         JMP  LOP7                                  
CONTINUE6:
          
         OPENFILE  FNAME,FILEHANDLE,O_ERR
         MOVCUR  2,0,FILEHANDLE              ;移动文件指针至文件尾
     
         WRITEFILE 39,BUFFER1,FILEHANDLE,W_ERR 
         PUTS MESS21 
         PUTS MESS22
         CLOSEFILE  FILEHANDLE,C_ERR
         
         MOV  AH,07                   ;任意键返回
         INT  21H         
         POP  DX
         POP  CX
         POP  BX
         POP  AX
         
         JMP START  
INSERT   ENDP         

LIST     PROC NEAR
         
         NEWLINE
         PUTS MESS14
         ;ZEROIT BUFFER2
         MOV  BX,0
         MOV  CX,39
LLOP1:   MOV  BUFFER2[BX],' '
         INC  BX
         LOOP LLOP1
               
         OPENFILE  FNAME,FILEHANDLE,O_ERR
         MOVCUR 0,0,FILEHANDLE                       ;移动文件指针至文件首
         
LIST1:   READFILE  39,BUFFER2,FILEHANDLE,R_ERR
         CMP     AX,0                                ;判断文件是否结束
         JE      LIST2
         PUTS    BUFFER2
         NEWLINE
         JMP  LIST1
LIST2:   
         CLOSEFILE  FILEHANDLE,C_ERR
         PUTS MESS22
         MOV  AH,7
         INT  21H         
         JMP  START         
LIST     ENDP        
         


QUERY    PROC NEAR
         
         NEWLINE
         PUTS MESS15
         CURSOR 13,3
         MOV  BX,0
         MOV  CX,39
QLOP1:   MOV  BUFFER1[BX],' '
         INC  BX
         LOOP QLOP1
                  
         MOV  BX,0 
Q1:      MOV  AH,1
         INT  21H
         CMP  AL,0AH
         JZ   Q2
         CMP  AL,0DH
         JZ   Q2
         MOV  BUFFER1[BX],AL 
         INC  BX
         CMP  BX,3
         JZ   Q2
         JMP  Q1
Q2:      
         OPENFILE  FNAME,FILEHANDLE,O_ERR
         MOVCUR 0,0,FILEHANDLE          
        ; ZEROIT BUFFER2
         MOV     BX,0
         MOV     CX,39
QLOP2:   MOV     BUFFER2[BX],' '
         INC     BX
         LOOP    QLOP2
                  
Q3:      READFILE  39,BUFFER2,FILEHANDLE,R_ERR
         MOV     DI,0
         MOV     SI,0
         MOV     CX,3
Q4:      CMP     AX,0                                ;判断文件是否结束
         JE      Q5
         MOV     DL,BUFFER1[DI]
         CMP     DL,BUFFER2[DI]             ;判断相符
         JNZ     Q3
         INC     DI
         LOOP    Q4
         MOV     SI,1
         NEWLINE
         PUTS    MESS14 
         PUTS    BUFFER2
Q5:      CLOSEFILE  FILEHANDLE,C_ERR 
         CMP  SI,1                          ;未发现相同项
         JZ   Q6
         PUTS MESS23 
Q6:      NEWLINE
         PUTS MESS22
         MOV  AH,7
         INT  21H         
         JMP  START           
         
         
QUERY    ENDP

MODIFY   PROC NEAR
         
         MOV  BX,0
         MOV  CX,39
MLOP1:   MOV  BUFFER1[BX],' '
         INC  BX
         LOOP MLOP1         
         NEWLINE
         PUTS MESS15
         CURSOR 13,3
         MOV  BX,0 
MLOP2:   MOV  AH,1                 ;ID
         INT  21H
         CMP  AL,0AH
         JZ   MCONTINUE1
         CMP  AL,0DH
         JZ   MCONTINUE1
         MOV  BUFFER1[BX],AL 
         INC  BX
         CMP  BX,3
         JZ   MCONTINUE1
         JMP  MLOP2 
MCONTINUE1:                    ;NAME输入缓冲区
         NEWLINE
         PUTS MESS16
         CURSOR 14,5
         MOV  BX,5
         
MLOP3:    MOV  AH,1
         INT  21H
         CMP  AL,0AH
         JZ   MCONTINUE2
         CMP  AL,0DH
         JZ   MCONTINUE2
         MOV  BUFFER1[BX],AL 
         INC  BX
         CMP  BX,17
         JZ   MCONTINUE2
         JMP  MLOP3
MCONTINUE2:                  ;PRICE输入
         NEWLINE
         PUTS MESS17
         CURSOR 15,6
         MOV  BX,19
         
MLOP4:    MOV  AH,1
         INT  21H
         CMP  AL,0AH
         JZ   MCONTINUE3
         CMP  AL,0DH
         JZ   MCONTINUE3
         MOV  BUFFER1[BX],AL 
         INC  BX
         CMP  BX,22
         JZ   MCONTINUE3
         JMP  MLOP4
MCONTINUE3:                          ;amount输入
         NEWLINE
         PUTS MESS18
         CURSOR 16,7                             
         MOV  BX,24
         
MLOP5:    MOV  AH,1
         INT  21H
         CMP  AL,0AH
         JZ   MCONTINUE4
         CMP  AL,0DH
         JZ   MCONTINUE4
         MOV  BUFFER1[BX],AL 
         INC  BX
         CMP  BX,27
         JZ   MCONTINUE4
         JMP  MLOP5
MCONTINUE4:                         ;TOTAL输入
         NEWLINE
         PUTS MESS19
         CURSOR 17,6
         MOV  BX,29
                           
MLOP6:    MOV  AH,1
         INT  21H
         CMP  AL,0AH
         JZ   MCONTINUE5
         CMP  AL,0DH
         JZ   MCONTINUE5
         MOV  BUFFER1[BX],AL 
         INC  BX
         CMP  BX,34
         JZ   MCONTINUE5
         JMP  MLOP6  
MCONTINUE5:                       ;MIN输入
         NEWLINE
         PUTS MESS20
         CURSOR 18,4
         MOV  BX,36
         
MLOP7:    MOV  AH,1
         INT  21H
         CMP  AL,0AH
         JZ   MCONTINUE6
         CMP  AL,0DH
         JZ   MCONTINUE6
         MOV  BUFFER1[BX],AL 
         INC  BX
         CMP  BX,39
         JZ   MCONTINUE6
         JMP  MLOP7                                  
MCONTINUE6:
          
         OPENFILE  FNAME,FILEHANDLE,O_ERR
         MOVCUR 0,0,FILEHANDLE
MLOP8:   MOV  BX,0
         MOV  CX,39
MLOP9:   MOV  BUFFER2[BX],' '
         INC  BX
         LOOP MLOP9 
         
MLOP10:  READFILE  39,BUFFER2,FILEHANDLE,R_ERR
         MOV     DI,0
         MOV     SI,0
         
         MOV     CX,3
MLOP11:  CMP     AX,0                       ;判断文件是否结束
         JE      MLOP12
         MOV     DL,BUFFER1[DI]
         CMP     DL,BUFFER2[DI]             ;判断相符
         
         JNZ     MLOP10
         INC     DI
         LOOP    MLOP11
         MOV     SI,1
         MOVCUR  1,,FILEHANDLE           ;移动文件指针
         WRITEFILE  39,BUFFER1,FLIEHANDLE,R_ERR
         NEWLINE 
         PUTS    MESS24
MLOP12:  CLOSEFILE  FILEHANDLE,C_ERR
         CMP     SI,1
         JZ      MLOP13
         PUTS    MESS23                
MLOP13:  NEWLINE
         PUTS MESS22
         MOV  AH,7
         INT  21H         
         JMP  START                    
                  
         
MODIFY   ENDP 
        
DELETE   PROC NEAR
         NEWLINE
         PUTS MESS15
         CURSOR 13,3
         MOV  BX,0
         MOV  CX,39
DLOP1:   MOV  BUFFER1[BX],' '
         INC  BX
         LOOP DLOP1
                  
         MOV  BX,0 
D1:      MOV  AH,1
         INT  21H
         CMP  AL,0AH
         JZ   D2
         CMP  AL,0DH
         JZ   D2
         MOV  BUFFER1[BX],AL 
         INC  BX
         CMP  BX,3
         JZ   D2
         JMP  D1
D2:      
         OPENFILE  FNAME,FILEHANDLE,O_ERR
         MOVCUR 0,0,FILEHANDLE          
        ; ZEROIT BUFFER2
         MOV     BX,0
         MOV     CX,39
DLOP2:   MOV     BUFFER2[BX],' '
         INC     BX
         LOOP    DLOP2
                  
D3:      READFILE  39,BUFFER2,FILEHANDLE,R_ERR
         MOV     DI,0
         MOV     SI,0
         MOV     CX,3
D4:      CMP     AX,0                                ;判断文件是否结束
         JE      D5
         MOV     DL,BUFFER1[DI]
         CMP     DL,BUFFER2[DI]             ;判断相符
         JNZ     D3
         INC     DI
         LOOP    D4
         MOV     SI,1
         MOVCUR  1,-39,FLIEHANDLE
        
DELETE   ENDP

COUN     PROC NEAR
         RET
COUN     ENDP

PRINT    PROC NEAR
         RET
PRINT    ENDP 
        


CODE     ENDS
         END  MAIN

⌨️ 快捷键说明

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