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

📄 filefuc.mac

📁 成绩数据库管理系统. 1.能够实现菜单显示、菜单选择、编辑(录入、插入、修改、删除等)、查找、显示、求总成绩、按总成绩排序(高→低)并显示、装入数据文件、数据文件存盘、退出、为数据动态分配存储空间[
💻 MAC
字号:
PUSHREG MACRO
        PUSH DX
        PUSH CX
        PUSH BX
        PUSH AX
        ENDM

POPREG MACRO
        POP AX
        POP BX
        POP CX
        POP DX
        ENDM

CLRCRN MACRO
        PUSHREG
        MOV AH,6
        MOV AL,0
        MOV BH,1FH
        MOV CX,0
        MOV DX,184FH
        INT 10H
        POPREG
        ENDM

CURSOR MACRO
        PUSH AX
        PUSH BX
        MOV AH,2H
        XOR BH,BH
        INT 10H
        POP BX
        POP AX
        ENDM

PUTC MACRO X,Y,CHAR,ATTRIB
        PUSHREG
        MOV DH,X
        MOV DL,Y
        CURSOR
        MOV AH,09H
        MOV AL,CHAR
        MOV BH,0
        MOV BL,ATTRIB
        MOV CX,1D
        INT 10H
        POPREG
        ENDM

PUTS    MACRO ROW,COL,S,ATTRIB
        LOCAL EXIT5
        LOCAL LOOP10
        PUSHREG
        MOV DH,ROW
        MOV DL,COL
        CURSOR
        LEA BX,S
        MOV CX,80D
LOOP10: MOV AL,[BX]
        CMP AL,'$'
        JE EXIT5
        PUTC DH,DL,AL,ATTRIB
        INC DL
        INC BX
        LOOP LOOP10
EXIT5:  POPREG
        ENDM
; NEWFILE功能: 创建文件
;调用参数: PATHNAM:文件说明;FILEHANDLE:文件句柄
;返回参数: AL=0 成功,FILEHANDLE=文件句柄; AL =1 失败
NEWFILE 	MACRO 	PATHNAM,FILEHANDLE 
  		LOCAL 	N_ERROR,N_QUIT
   		PUSH 	BX
   		PUSH 	CX
   		PUSH 	DX
MOV 	AH,3CH
   		MOV 	CX,0
   		LEA 		DX,PATHNAM
   		INT 		21H
   		JC 		N_ERROR					;建立文件错转
  	 	MOV 	FILEHANDLE,AX			;保存文件标记
   		MOV 	AL,0

   		JMP 		N_QUIT
N_ERROR: MOV 	AL,1	
N_QUIT:   POP 		DX
    		POP 		CX
    		POP 	BX
   		ENDM    
; OPENFILE功能:打开文件
;调用参数: PNAME:文件说明;FILEHANDLE:文件句柄
;返回参数: AL=0成功, FILEHANDLE=文件句柄; AL =1失败  
OPENFILE	MACRO 	PNAME, FILEHANDLE
   		LOCAL 	O_ERROR,O_QUIT
   		PUSH 	DX
   		MOV 	AH,3DH
   		LEA 	DX,PNAME
   		MOV 	AL,2
   		INT 		21H
   		JC 		O_ERROR
   		MOV 	FILEHANDLE,AX
   		MOV 	AL,0
   		JMP 		O_QUIT
O_ERROR: MOV 	AL,1
O_QUIT: 	POP 		DX
		ENDM   
; WRITEFILE功能: 写文件
;调用参数:LENGTH:写字节数;BUF:缓冲区首址;FILEHANDLE:文件句柄
;返回参数: AL=0 成功;AL =1失败 
WRITEFILE  MACRO  LENGTH,BUF,FILEHANDLE
     		LOCAL 	W_ERROR,W_QUIT
     		PUSH 	BX
     		PUSH 	CX
     		PUSH 	DX
     		MOV 	BX,FILEHANDLE
     		MOV 	CX,LENGTH        
     		MOV 	AH,40H  
     		LEA 		DX,BUF    
     		INT 		21H
     		JC 		W_ERROR
     		MOV 	AL,0
     		JMP 		W_QUIT
W_ERROR: MOV 	AL,1
W_QUIT: 	POP 		DX
     		POP 		CX
     		POP 		BX
    		ENDM
; READFILE功能: 读文件
;调用参数: LENGTH:读字节数;BUF:缓冲区首址; FILEHANDLE:文件句柄
;返回参数: AL=0 成功;AL =1失败
READFILE MACRO  	LENGTH,BUF,FILEHANDLE
     		LOCAL 	R_ERROR,R_QUIT
       	PUSH 	BX
       	PUSH 	CX
       	PUSH 	DX
       	LEA 		DX,BUF
       	MOV 	AH,3FH
       	MOV 	BX,FILEHANDLE
       	MOV 	CX,LENGTH
       	INT 		21H          
       	JC 		R_ERROR
       	
       	JMP 		R_QUIT 
R_ERROR: MOV 	AL,1
R_QUIT: 	POP 		DX
    		POP 		CX
       	POP 		BX
  		ENDM         
; CLOSEFILE功能: 关闭文件
;调用参数: FILEHANDLE:文件句柄
;返回参数: AL=0 成功;AL =1失败
CLOSEFILE  MACRO 	FILEHANDLE
   		LOCAL 	C_ERROR,C_QUIT
   		PUSH 	BX
   		PUSH 	CX
   		PUSH 	DX
   		MOV 	AH,3EH
   		MOV 	BX,FILEHANDLE
   		INT 		21H
   		JC 		C_ERROR
   		MOV 	AL,0
   		JMP 		C_QUIT
C_ERROR: MOV 	AL,1	
C_QUIT: 	POP 		DX	       
   		POP 		CX
   		POP 		BX
		ENDM
; LOADDS功能: 给DS赋值
;调用参数: 数据段名:DATA_NAME	
;返回参数:无
LOADDS 	MACRO 	DATA_NAME
	 	MOV 	AX,DATA_NAME
    	 	MOV 	DS,AX
	 	ENDM
; RETURN功能: 返回DOS
;调用参数:无
;返回参数:无
RETURN 	MACRO  
MOV 	AX,4C00H
   		INT 		21H
   		ENDM
LOADDS MACRO DATA
       MOV AX,DATA
       MOV DS,AX
       ENDM
RETURN MACRO
       AX,4COOH
       INT 21H
       ENDM
CURSORPOS MACRO ;返回光标当前行列
          push ax
     push bx
     
    MOV BH,0
     MOV AH,3
     INT 10H
     MOV CL,DL
     MOV CH,DH
     CMP DL,15
     JL STDS
     SUB DL,3
STDS: 
     SUB DH,3
     SUB DL,2
     MOV AH,0
     MOV AL,DH
     MOV BL,2
     DIV BL
     MOV DH,AL
   

     MOV AH,0
     MOV AL,DL
     MOV BL,10
     DIV BL
     MOV DL,AL
  
 
   pop bx
   pop ax
 
     
ENDM

⌨️ 快捷键说明

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