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

📄 version1.05.txt

📁 学生成绩管理系统
💻 TXT
字号:
;----------------------------------------------------------------------------------------------------------
;功能:移动文件到文件尾 
;调用参数:文件句柄FILEHANDLE
;返回参数:无

TOFILEEND     MACRO  FILEHANDLE
          MOV BX,FILEHANDLE
          MOV CX,0                                 
          MOV DX,0
          MOV AL,2
          MOV AH,42H
          INT 21H
         ENDM
;----------------------------------------------------------------------------------------------------------
;功能:显示字符串 
;调用参数:字符串首地址
;返回参数:无

SHOW      MACRO ADDRS
          PUSHREG
          LEA DX,ADDRS
          MOV AH,9
          INT 21H
          POPREG
          ENDM
;-----------------------------------------------------------------------------------------------------------
;功能:设置光标 (00-00)
;调用参数:行号
;返回参数:无

SET_P0    MACRO  
          MOV AH,2
          MOV DH,0
          MOV DL,0
          MOV BH,0
          INT 10H
          ENDM
;-----------------------------------------------------------------------------------------------------------
;功能:设置光标 (A-44)
;调用参数:行号
;返回参数:无

SET_P1    MACRO  A
          MOV AH,2
          MOV DH,A
          MOV DL,44
          MOV BH,0
          INT 10H
          ENDM
;-----------------------------------------------------------------------------------------------------------
;功能:设置光标 (14-02)
;调用参数:无
;返回参数:无

SET_P2    MACRO
          PUSHREG
          MOV AH,2
          MOV DH,14
          MOV DL,2
          MOV BH,0
          INT 10H
         POPREG
          ENDM
;-----------------------------------------------------------------------------------------------------------
;功能:设置光标 (10-33)
;调用参数:无
;返回参数:无

SET_P3    MACRO
          MOV AH,2
          MOV DH,10
          MOV DL,33
          MOV BH,0
          INT 10H
          ENDM
;-----------------------------------------------------------------------------------------------------------
;功能:清除全屏幕 (0000-4F4F)
;调用参数:无
;返回参数:无

CLEAR     MACRO                        ;CLEAR ALL SCREEN
          MOV AL,0
          MOV CL,0
          MOV CH,0
          MOV DH,4F
          MOV DL,4F
          MOV BH,1FH
          MOV AH,6
          INT 21H
          ENDM
;-----------------------------------------------------------------------------------------------------------
;功能:右上方方屏幕 (3044-1199)
;调用参数:无
;返回参数:无

CLEAR1    MACRO
          MOV AL,0
          MOV BH,1FH
          MOV CH,3
          MOV CL,44
          MOV DH,11
          MOV DL,99
          MOV AH,6
          INT 10H
          ENDM                         
;-----------------------------------------------------------------------------------------------------------
;功能:清除下方屏幕 (1200-4F7F)
;调用参数:无
;返回参数:无

CLEAR2    MACRO
          MOV AL,0
          MOV BH,1FH
          MOV CH,12
          MOV CL,0
          MOV DH,4F
          MOV DL,7F
          INT 10H
          ENDM                              
;-----------------------------------------------------------------------------------------------------------
;功能:回车换行
;调用参数:无
;返回参数:无

NEWLINE   MACRO
          PUSH AX
          PUSH DX
          MOV  DL,0DH
          MOV  AH,2
          INT  21H
          MOV  DL,0AH
          MOV  AH,2
          INT  21H
          POP  DX
          POP  AX
          ENDM
;---------------------------------------------------------------------------------------------------------
;功能:输出数据
;调用参数:要输出的缓冲区地址 addrs
;返回参数:无

SHOW_ITEM MACRO ADDRS
          LOCAL NLOOP,ILOOP,W10,R1,G1 ,RET,CKLOOP       
          PUSH BX
          PUSH CX
          PUSH DX
          MOV  BX,0
CKLOOP:    MOV  DL,ADDRS[BX]              ;CHECK  NULL STRING
          CMP DL,32
          JNZ  ILOOP  
          INC BX
          CMP BX,16
          JL  CKLOOP
          JMP  RET
          MOV  BX,0
NLOOP:    MOV  DL,ADDRS[BX]              ;DISPLAY NUMBER
          MOV AH,2
          INT 21H
          INC BX
          CMP BX,10
          JL  NLOOP
         MOV DL,' '
          MOV AH,2
          INT 21H
        
ILOOP:    MOV  DL,ADDRS[BX]              ;DISPLAY NAME
          MOV AH,2
          INT 21H
          INC BX
          CMP BX,16
          JL  ILOOP
         MOV DL,' '
          MOV AH,2
          INT 21H
          MOV DL,' '
          MOV AH,2
          INT 21H
          MOV DL,' '
          MOV AH,2
          INT 21H
          MOV CX,3                                  ;DISPLAY SCORE
W10:      MOV DL,' '
          MOV AH,2
          INT 21H
          MOV DL,' '
          MOV AH,2
          INT 21H
          MOV DL,' '
          MOV AH,2
          INT 21H
          MOV DL,ADDRS[BX]
          MOV AH,2
          INT 21H
          INC BX
          MOV DL,ADDRS[BX]
          MOV AH,2
          INT 21H
          INC BX
          MOV DL,ADDRS[BX]
          MOV AH,2
          INT 21H
          INC BX
          LOOP W10
          MOV DL,' '
          MOV AH,2
          INT 21H
          MOV DL,' '
          MOV AH,2
          INT 21H
          MOV DL,' '
          MOV AH,2
          INT 21H
;----------------------------------2--10-进制转换(接上)-----------------
          XOR DX,DX
          MOV AX,WORD PTR ADDRS[25]
          MOV CX,100
          MOV DX,0
          DIV CX
          MOV BX,DX
          CMP AL,0
          JZ      G1
          MOV DL,AL
          ADD DL,30H
          MOV AH,2
          INT 21H
G1:  
          MOV AX,BX
          MOV DX,0
          MOV CX,10
          DIV CX
          MOV BX,DX
          MOV DL,AL
          ADD DL,30H
          MOV AH,2
          INT 21H
          MOV DL,BL
          ADD DL,30H
           INT 21H
          NEWLINE
RET: POP DX  
          POP CX
          POP BX
          ENDM

;-------------------------------------------------------------------
;功能:设置光标
;调用参数:行号line列号 col
;返回参数:无

SETCURSOR MACRO LINE,COL
          MOV AH,2
          MOV DH,LINE
          MOV DL,COL
          XOR BH,BH
          INT 21H
          ENDM
;----------------------------------------------------
;功能:创建文件
;调用参数:PNAME :文件说明
;反回参数:AL=1 成功,FILEHANDLE=文件句柄,AL=0 失败

NEWFILE MACRO  PATHNAME,FILEHANDLE,N_ERR
         LOCAL  N_ERROR,N_QUIT
         PUSH  BX
         PUSH  CX
         PUSH  DX
         MOV    AH,3CH
         MOV    CX,0
         LEA    DX,PARTHNAME
         INT    21H
         JC     N_ERROR
         MOV    FILEHANDLE,AX
         MOV    AL,1
         JMP    N_QUIT
N_ERROR:
         PUTS   15,1,N_ERR,1EH
         MOV    AL,0 
N_QUIT:  
         POP  DX
         POP  CX
         POP  BX
         ENDM 
;----------------------------------------------------------
;功能:读文件
;调用参数:LENTH:写字节数 BUF:缓冲区首址 FILEHANDLE:文件句柄
;返回参数:AL=1 成功,FILEHANDLE=文件句柄,AL=0 失败          
READFILE MACRO LENTH,BUF,FILEHANDLE,R_ERR
         LOCAL  R_ERROR,R_QUIT
         PUSH  BX
         PUSH  CX
         PUSH  DX  
         LEA    DX,BUF         
         MOV    AH,3FH 
         MOV    BX,FILEHANDLE
         MOV    CX,LENTH
         INT    21H
         JC     R_ERROR
         ;MOV    AL,1
         JMP    R_QUIT
R_ERROR: 
         PUTS   16,1,R_ERR,1EH
         MOV    AL,0
R_QUIT:  
         PUSH  BX
         PUSH  CX
         PUSH  DX
         ENDM            
;----------------------------------------------------
;功能:打开文件
;调用参数:PNAME :文件说明
;反回参数:AL=1 成功,FILEHANDLE=文件句柄,AL=0 失败

OPENFILE MACRO  PNAME,FILEHANDLE,O_ERR
         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,1
         JMP    O_QUIT
O_ERROR:
         PUTS   16,1,O_ERR,1EH
         MOV    AL,0 
O_QUIT:  
         POP  DX
         ENDM     
;----------------------------------------------------------
;功能:写文件
;调用参数:LENTH:写字节数 BUF:缓冲区首址 FILEHANDLE:文件句柄
;返回参数:AL=1 成功,FILEHANDLE=文件句柄,AL=0 失败          
WRITEFILE MACRO LENTH,BUF,FILEHANDLE,W_ERR
         LOCAL  W_ERROR,W_QUIT
         PUSH  BX
         PUSH  CX
         PUSH  DX  
         MOV    BX,FILEHANDLE
         MOV    CX,LENTH
         MOV    AH,40H
         LEA    DX,BUF
         INT    21H
         JC     W_ERROR
         MOV    AL,1
         JMP    W_QUIT
W_ERROR: 
         PUTS   16,1,W_ERR,1EH
         MOV    AL,0
W_QUIT:  
         PUSH  BX
         PUSH  CX
         PUSH  DX
       ;  CURSOR
         ENDM                  

;-----------------------------------------------------------------
;功能:关闭文件
;调用参数 : FILEHANDLE:文件句柄
;返回参数:AL=1 成功,AL=0 失败         
CLOSEFILE MACRO FILEHANDLE,C_ERR
         LOCAL  C_ERROR,C_QUIT
         PUSH  BX
         PUSH  CX
         PUSH  DX
         MOV     AH,3EH
         MOV     BX,FILEHANDLE
         INT     21H
         JC      C_ERROR
         MOV     AL,1
         JMP     C_QUIT
C_ERROR:  
         PUTS  16,1,C_ERR,1EH
         MOV     AL,0
C_QUIT:  
         PUSH  BX
         PUSH  CX
         PUSH  DX
         ENDM                                   
;---------------------------------------------------
;功能:给DS赋值
;调用参数: 数据段名:DATA
;返回参数:无
LOADDS   MACRO  DATA
         MOV    AX,DATA
         MOV    DS,AX
         ENDM
;----------------------------------------------------
;功能:    返回DOS
;调用参数: 无
;返回参数: 无    
RETURN   MACRO
         MOV AX,4C00H
         INT 21H
         ENDM    
;程序9.1     (文件名:FILEFUC.MAC)
;CLRSCR         	;功能:清屏
;CURSOR         	;功能:置光标	
;PUTS           	;功能:在指定位置显示
;NEWFILE       	;功能: 创建文件
;OPENFILE      	;功能:打开文件	 
;WRITEFILE     	;功能:写文件 	
;READFILE     	;功能:读文件 
;CLOSEFILE    	;功能:关闭文件
;LOADDS    	;功能:给DS赋值
;RETURN       	;功能:返回DOS

;-----------------------------------
;功能:清屏
;-----------------------------------
CLRSCRN	MACRO
		PUSHREG
		MOV  AH,6
		MOV  AL,0
		MOV  BH,1FH
		MOV  CX,0
		MOV  DX,4F4FH
		INT  10H
		POPREG
		ENDM
;-----------------------------------
;功能:置光标
;入口参数:DH:DL 行,列  出口参数:无
;-----------------------------------
CURSOR	MACRO   
		PUSH  AX
                PUSH  BX
		MOV   AH,2
		XOR   BH,BH
		INT   10H
		POP   BX
                POP   AX
		ENDM
;-----------------------------------------
;功能:在指定位置显示指定颜色的字符串
;入口参数:以$结束的字符串变量S 出口参数:无                           
;-----------------------------------------
PUTS	MACRO ROW,COL,S,ATTRIB
		LOCAL  EXIT5
		LOCAL  LOOP10
		PUSHREG
		MOV    DH,ROW
		MOV    DL,COL
		CURSOR
		LEA    BX,S
		MOV    CX,80
		LOOP10:	MOV   AL,[BX]
		CMP   AL,'$'
		JE    EXIT5
		PUTC  DH,DL,AL,ATTRIB
		INC   DL
		INC   BX
		LOOP  LOOP10
EXIT5:	                    POPREG
		ENDM
;-----------------------------------
;功能:保存寄存器DX、CX、BX、AX
;-----------------------------------
PUSHREG	MACRO
		PUSH  DX
		PUSH  CX
		PUSH  BX
		PUSH  AX
		ENDM
;-----------------------------------
;功能:恢复寄存器AX、BX、CX、DX
;-----------------------------------
POPREG	MACRO
		POP  AX
		POP  BX
		POP  CX
		POP  DX
		ENDM
;-----------------------------------------
;功能:在指定位置显示指定颜色的字符
;入口参数:X:行,Y:列,CHAR:字符,ATTRIB:颜色
;出口参数:无
;-----------------------------------------
	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,1
                  INT  10H
                  POPREG	;宏嵌套
                  ENDM
;------------------------------------------
;功能:接受一个输入串
;入口参数:缓冲区首地址:ADDRS,串长度:COUNT
;出口参数:无
GETIN     MACRO ADDRS,COUNT
LOCAL     ZEROIT,LP,INPUT_END,EXIT
          PUSHREG
          MOV  BX,0
ZEROIT:   MOV  ADDRS[BX],' '
          INC BX
          CMP BX,27
          JL  ZEROIT
          MOV BX,0
LP:       MOV AH,1
          INT 21H
          CMP AL,0AH
          JZ  INPUT_END
          CMP AL,0DH
          JZ  INPUT_END
          MOV ADDRS[BX],AL
          INC BX
          CMP BX,COUNT
          JL  LP
INPUT_END: CMP AL,0DH
          JZ   EXIT
          MOV  AL,0AH
          JZ   EXIT
          MOV  AH,7
          INT  21H
          JMP  INPUT_END
EXIT:     
          POPREG
          ENDM

⌨️ 快捷键说明

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