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

📄 fuc.asm

📁 学生成绩管理系统
💻 ASM
字号:
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

;huyisong 20053449 12110502
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
INCLUDE CONTROL.lib
INCLUDE screen.lib
INCLUDE doc.lib

PUBLIC  INPUT,SAVEFILE,PROSUM,PROLIST,PROOPEN,PRODELETE,PROQUERY,PROMODIFY,PROCREATE
        
STACK       SEGMENT      STACK 'S'
            DW           64 DUP('S')
STACK       ENDS  

DATA	SEGMENT  


GRADE	STRUC
sno	DB	11
	DB	?
	DB	11 DUP(?)
NAM	DB	7
	DB	?
	DB	7 DUP(?)
math	DB	4
	DB	?
	DB	4 DUP(?)
chin	DB	4
	DB	?
	DB	4 DUP(?)
phy	DB	4
	DB	?
	DB	4 DUP(?)
eng	DB	4
	DB	?
	DB	4 DUP(?)
sum	DB	3 DUP(?)
	DB	'$'
bindatasum	DW	0
order	DB	3 DUP(?)
	DB	'$'
bindataorder	DW	1
GRADE	ENDS

strinsertno		DB	'what is the NO of the student :','$'
strinsertname		DB	'what is the name of the student :','$'
strinsertmath		DB	'please input the math score:','$'
strinsertchi		DB	'please input the chinese score:','$'
strinsertphy		DB	'please input the physics score:','$'
strinserteng		DB	'please input the english score:','$'

strsno		DB	'No','$'
strNAME	DB	'Name','$'
strmath	DB	'math','$'
strchin	DB	'chi','$'
strphy		DB	'phy','$'
strENG		DB	'eng','$'
strsum	DB	'SUM','$'
strorder	DB	'Order','$'
filewOK	        DB 'Write COMPLETE!',0DH,0AH,'$'
filewERR 	DB 'Write Error!',0DH,0AH,'$'
fileoOK 	DB 'Open COMPLETE!',0DH,0AH,'$'
fileoERR 	DB 'Open Error!PLEASE CREATE HU.DAT FIRST !',0DH,0AH,'$'
filecOK 	DB 'Close COMPLETE!',0DH,0AH,'$'
filecERR 	DB 'Close Error!',0DH,0AH,'$'



STU	GRADE	30 DUP(<>)					
CT	EQU	$-STU
P	EQU	CT/30   					
ROW		DB	0					
CT1	EQU	1
CRLF		DB	0DH,0AH,'$'				
NUMBER		DB	'00','$'
STU_NUMBER	DB	'ROW','$'
filerOK 	DB 'Read COMPLETE!',0DH,0AH,'$'
filerERR 	DB 'Read Error!',0DH,0AH,'$'
creat_ok DB 'create file ok',0DH,0AH,'$'
creat_err DB 'create file error',0DH,0AH,'$'
strinsertok	DB	'Input COMPLETE!','$'			
MSG0			DB	'Press any key to continue!','$'

strlistnull		DB	'There is NULL!','$'			

strdelget		DB	'what row do you want to delete(1_30):','$'	
strdelERR	DB	'CAN NOT FIND',0DH,0AH
			DB	'Press any key to continue!','$'
strdelok		DB	'Delete COMPLETE!',0DH,0AH
			DB	'Press any key to continue!','$'

strproopen      DB  '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<',0DH,0AH,'$'
strproopen1     DB  '<<                                                   <<',0DH,0AH,'$'
strproopen2     DB  '<<     NOW this PROGRAM WILL OPEN  the C:\HU.DAT !!  <<',0DH,0AH,'$' 




strprosave      DB  '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<',0DH,0AH,'$'
strprosave1     DB  '<<                                                   <<',0DH,0AH,'$'
strprosave2     DB  '<<NOW this PROGRAM WILL SAVE DATA into C:\HU.DAT !!  <<',0DH,0AH,'$'
strproinsert      DB  '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<',0DH,0AH,'$'
strproinsert1     DB  '<<                                                   <<',0DH,0AH,'$'
strproinsert2     DB  '<<           NOW this PROGRAM is INSERT PRO !!       <<',0DH,0AH,'$'
strprodel      DB  '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<',0DH,0AH,'$'
strprodel1     DB  '<<                                                   <<',0DH,0AH,'$'
strprodel2     DB  '<<           NOW this PROGRAM is DELETE PRO !!       <<',0DH,0AH,'$'
strpromodify      DB  '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<',0DH,0AH,'$'
strpromodify1     DB  '<<                                                   <<',0DH,0AH,'$'
strpromodify2     DB  '<<           NOW this PROGRAM is MODIFY PRO !!       <<',0DH,0AH,'$'
strsearchinput	DB	'please input the name of the student you want to search:','$'		
strsearchnull	DB	'CAN NOT FIND','$'
strsearchget	DB	'This is the student record which you want to search:','$'

									
BUFsearch	DB	7
		DB	?
		DB	7 DUP(?)
FILEHANDLE	DW	-1
NAME1	DB	'C:\HU.DAT',0					

BUFdel		DB	3
			DB	?
			DB	3 DUP(?)
datmath	DB	0
datchin	DB	0
datphy		DB	0
dateng     DB  0
datsum	DW	0

CHAR		DB	?
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

strprocreate      DB  '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<',0DH,0AH,'$'
strprocreate1     DB  '<<                                                   <<',0DH,0AH,'$'
strprocreate2     DB  '<<     NOW this PROGRAM WILL CREATE the C:\HU.DAT !  <<',0DH,0AH,'$'




;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<








strmodifynull		DB	'CAN NOT FIND','$'			
strmodifyget		DB	'Input new data overwrite the old','$'
strmodifyok	DB	'Update COMPLETE!','$'




DATA	ENDS

CODE	SEGMENT
MAIN	PROC	FAR






PROCREATE	PROC	FAR   							
     	ASSUME CS:CODE,DS:DATA  
     	LOADDS 	DATA							
     	CLRSCRcreate	
        
        PUTS 	0,0,strprocreate
     	PUTS 	1,0,strprocreate1
        PUTS 	2,0,strprocreate1
        PUTS 	3,0,strprocreate1
        PUTS 	4,0,strprocreate1
        PUTS 	5,0,strprocreate2
        PUTS 	6,0,strprocreate1
        PUTS 	7,0,strprocreate1
        PUTS 	8,0,strprocreate1
        PUTS 	9,0,strprocreate1
        PUTS 	10,0,strprocreate	












        
        							
     	NEWFILE NAME1,FILEHANDLE,creat_err 					
    	CMP 	AL,0						
	JZ		createexit_0
	PUTS 13,10,creat_ok
	
createexit_0:	RETURN							


PROCREATE	ENDP




PROOPEN	PROC	FAR   							
     	ASSUME CS:CODE,DS:DATA  
     	LOADDS 	DATA							
     	CLRSCRopen
        PUTS 	0,0,strproopen
     	PUTS 	1,0,strproopen1
        PUTS 	2,0,strproopen1
        PUTS 	3,0,strproopen1
        PUTS 	4,0,strproopen1
        PUTS 	5,0,strproopen2
        PUTS 	6,0,strproopen1
        PUTS 	7,0,strproopen1
        PUTS 	8,0,strproopen1
        PUTS 	9,0,strproopen1
        PUTS 	10,0,strproopen							
     	OPENFILE NAME1,FILEHANDLE 					
    	CMP 	AL,0						
	JZ		O_L0
	JMP		O_EXIT0						
O_L0:	PUTS 	13,10,fileoOK						
     	READFILE CT,STU,FILEHANDLE					
	READFILE CT1,ROW,FILEHANDLE					
    	CMP 	AL,0						
	JZ		O_L10
	JMP		O_EXIT10						
O_L10:  PUTS 	14,10,filerOK						
	CLOSEFILE 	FILEHANDLE					
	CMP 	AL,0						
	JNZ		O_EXIT20					
     	PUTS 	15,10,filecOK
	PUTS	16,10,MSG0						
	JMP 		O_EXIT30
O_EXIT0:	PUTS 	12,10,fileoERR					
		JMP 		O_EXIT30
O_EXIT10:	PUTS 	12,10,filerERR					
		JMP 		O_EXIT30
O_EXIT20:	PUTS 	12,10,filecERR					
O_EXIT30:	RETURN							
PROOPEN	ENDP



;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

SAVEFILE	PROC	FAR							
	ASSUME	CS:CODE,DS:DATA
	LOADDS	DATA
	CLRSCRsave



        PUTS 	0,0,strprosave
     	PUTS 	1,0,strprosave1
        PUTS 	2,0,strprosave1
        PUTS 	3,0,strprosave1
        PUTS 	4,0,strprosave1
        PUTS 	5,0,strprosave2
        PUTS 	6,0,strprosave1
        PUTS 	7,0,strprosave1
        PUTS 	8,0,strprosave1
        PUTS 	9,0,strprosave1  
        PUTS 	10,0,strprosave	



	  OPENFILE NAME1,FILEHANDLE
          CMP 	AL,0						
		  JZ	S_L0
		  JMP	S_EXIT0						
S_L0:		  PUTS 	13,10,fileoOK					
     	  WRITEFILE CT,STU,FILEHANDLE				
	  WRITEFILE CT1,ROW,FILEHANDLE  				
    	  CMP 	AL,0						
		  JZ	S_L10
		  JMP	S_EXIT10						
S_L10:      PUTS 	14,10,filewOK					
		  CLOSEFILE 	FILEHANDLE				
		  CMP 	AL,0						
		  JNZ		S_EXIT20				
     	  PUTS 	15,10,filecOK		
	  PUTS	16,10,MSG0						
		  JMP 	S_EXIT30
S_EXIT0:	  PUTS 	13,10,fileoERR					
		  JMP 	S_EXIT30
S_EXIT10:	  PUTS 	13,10,filewERR					
		  JMP 	S_EXIT30
S_EXIT20:	  PUTS 	13,10,filecERR					
S_EXIT30:	RETURN
SAVEFILE	ENDP




;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


INPUT	PROC	FAR							
	ASSUME	CS:CODE,DS:DATA
	LOADDS	DATA
	CLRSCRinsert 
        PUTS 	0,0,strproinsert
     	PUTS 	1,0,strproinsert1
        PUTS 	2,0,strproinsert1
        PUTS 	3,0,strproinsert1
        PUTS 	4,0,strproinsert1
        PUTS 	5,0,strproinsert2
        PUTS 	6,0,strproinsert1
        PUTS 	7,0,strproinsert1
        PUTS 	8,0,strproinsert1
        PUTS 	9,0,strproinsert
        
	PUTS	10,0,strinsertno
	GETS	P,ROW,STU.sno
	PUTS	11,0,strinsertname
	GETS	P,ROW,STU.NAM
	PUTS	12,0,strinsertmath
	GETS	P,ROW,STU.math
	PUTS	13,0,strinsertchi
	GETS	P,ROW,STU.chin
	PUTS	14,0,strinsertphy
	GETS	P,ROW,STU.phy
	PUTS	15,0,strinserteng
	GETS	P,ROW,STU.eng
	INC	ROW
	CALL	PROSUM
	CALL	PROSORT
	PUTS	16,0,strinsertok
	PUTS	17,0,MSG0
	
	RETURN
INPUT	ENDP


;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

PRODELETE	PROC FAR
	ASSUME	CS:CODE,DS:DATA
	LOADDS	DATA
	CLRSCRdelete
    

       PUTS 	0,0,strprodel
     	PUTS 	1,0,strprodel1
        PUTS 	2,0,strprodel1
        PUTS 	3,0,strprodel1
        PUTS 	4,0,strprodel1
        PUTS 	5,0,strprodel2
        PUTS 	6,0,strprodel1
        PUTS 	7,0,strprodel1
        PUTS 	8,0,strprodel1
        PUTS 	9,0,strprodel


	PUTS	10,0,strdelget
	MOV	AH,0AH
	LEA	DX,BUFdel
	INT 	21H
	MOV	CL,BUFdel+1
	XOR	CH,CH
	CMP	CX,1
	JZ	ADD_1
	MOV	AL,BUFdel+2
	XOR	AH,AH
	SUB	AL,30H
	MOV	DL,10
	MUL	DL
	MOV	BL,BUFdel+3
	SUB	BL,30H
	ADD	AL,BL
	XOR	AH,AH
	JMP	ADD_2
ADD_1:	MOV	AL,BUFdel+2
	XOR	AH,AH
	SUB	AL,30H
	XOR	AH,AH
ADD_2:	MOV	CX,AX
	SUB	AX,1
	MOV	DX,P
	MUL	DX
	MOV	BX,AX
	MOV	AX,CX
	MOV	DL,ROW
	XOR	DH,DH
	CMP	AX,DX
	JA	END_DELETE_ERROR
	JZ	END_DELETE
	CMP	AX,0
	JNA	END_DELETE_ERROR
	
DELETE_LOOP:	
	MOV	BP,BX
	ADD	BP,P
	LEA	DI,STU
	LEA	SI,STU
	ADD DI,BX
	ADD	SI,BP
	MOV	CX,P
	PUSH  AX
IN_LOOP:	MOV	AL,[SI]
	MOV	[DI],AL
	INC SI
	INC DI
	LOOP IN_LOOP
	POP AX
	ADD	BX,P
	ADD	AX,1
	CMP	AX,DX
	JZ	END_DELETE
	JMP	DELETE_LOOP
END_DELETE:
	DEC	ROW	
	PUTS	11,0,strdelok
	RETURN
END_DELETE_ERROR:
	PUTS	11,0,strdelERR
		RETURN
PRODELETE	ENDP




;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

PROSUM	PROC
	ASSUME	CS:CODE,DS:DATA
	LOADDS	DATA
	funcasctobin	datmath,STU.math,ROW
	funcasctobin	datchin,STU.chin,ROW
	funcasctobin	datphy,STU.phy,ROW
	funcasctobin   dateng,STU.eng,ROW
	XOR	AX,AX
	MOV	AL,datmath
	XOR	AH,AH
	XOR	BX,BX
	MOV	BL,datchin
	XOR	BH,BH
	ADD	AX,BX
	XOR	BX,BX
	MOV	BL,datphy
	XOR	BH,BH
	ADD	AX,BX
	
	XOR	BX,BX
	MOV	BL,dateng
	XOR	BH,BH
	ADD	AX,BX
	
	MOV	datsum,AX
	MOV	AL,ROW
	SUB	AL,1
	XOR	AH,AH
	MOV	BL,P
	MUL	BL
	LEA	BX,STU.bindatasum
	ADD	BX,AX
	PUSH	AX
	MOV	AX,datsum
	MOV	[BX],AX

	POP	AX
	LEA	BX,STU.sum
	ADD	BX,AX
	MOV	AX,datsum
	MOV	DL,100
	DIV	DL

	MOV	[BX],AL
	ADD	BYTE PTR [BX],30H
	MOV	AL,AH
	XOR	AH,AH
	MOV	DL,10
	DIV	DL
	MOV	[BX+1],AL
	ADD	BYTE PTR [BX+1],30H
	MOV	[BX+2],AH
	ADD	BYTE PTR [BX+2],30H
	
	RETURN
PROSUM	ENDP
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
PROSORT	PROC
	ASSUME	CS:CODE,DS:DATA
	LOADDS	DATA

	MOV	CL,ROW
	XOR	CH,CH
	CMP	CX,0
	JZ	END_SORT
	LEA	BP,STU.bindataorder
SET_ONE:MOV	WORD PTR DS:[BP],1
	ADD	BP,P
	LOOP	SET_ONE		          			
	MOV	CL,ROW
	XOR	CH,CH
	SUB	CX,1
	LEA	BX,STU.bindatasum
	LEA	BP,STU.bindataorder
	CMP	CX,0
	JZ	END_SORT1
SORT_OUT_LOOP:	PUSH 	CX
		MOV	SI,BX
		MOV	DI,BP
SORT_IN_LOOP:	ADD	SI,P
		ADD	DI,P
	MOV	DX,[BX]
	MOV	AX,[SI]
	CMP	DX,AX
	JG	GREAT
	JE	EQUAL
	INC	WORD PTR DS:[BP]
	JMP	EQUAL
GREAT:	INC	WORD PTR [DI]
EQUAL:
	LOOP	SORT_IN_LOOP
	POP	CX
	ADD	BX,P
	ADD	BP,P
	LOOP	SORT_OUT_LOOP					
	
END_SORT1:	MOV	CL,ROW
	XOR	CH,CH
	LEA	SI,STU.bindataorder
	LEA	BX,STU.order
SORT_LOOP:	MOV	AX,[SI]
	MOV	BYTE PTR [BX],'0'
	MOV	DL,10
	DIV	DL
	ADD	AH,30H
	ADD	AL,30H
	MOV	[BX+1],AL
	MOV	[BX+2],AH
	ADD	SI,P
	ADD	BX,P
	LOOP	SORT_LOOP

END_SORT:	;CLRSCR
	RETURN
PROSORT	ENDP



;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

PROQUERY	PROC FAR
	ASSUME	CS:CODE,DS:DATA
	LOADDS	DATA
	
	MOV	AH,0AH
	LEA	DX,BUFsearch
	INT	21H
	MOV	AX,SEG STU
	MOV	DS,AX
	MOV	ES,AX
	LEA	SI,BUFsearch+2
	LEA	DI,STU+15
	MOV	AL,0
	SUB	DI,P
	MOV	BX,DI
SEARCH_LOOP:
	LEA	SI,BUFsearch+2
	MOV	DI,BX
	ADD	DI,P
	MOV	BX,DI
	CMP	AL,ROW
	JZ	END_SEARCH_NO
	ADD	AL,1
	MOV	CL,BUFsearch[1]
	CMP	CL,[DI-1]
	JNZ	SEARCH_LOOP
	MOV	CL,[SI-1]
	XOR	CH,CH
	CLD
	REPZ	CMPSB
	JZ	END_SEARCH_YES
	JNZ	SEARCH_LOOP
	
END_SEARCH_NO:
	CLRSCR
	PUTS	10,0,strsearchnull
	PUTS	11,0,MSG0
	JMP	END_SEARCH
END_SEARCH_YES:
	CLRSCR
	PUTS	10,0,strsearchget
	SUB	AL,1
	funclistonerow  AL
	PUTS	12,0,MSG0
	JMP	END_SEARCH
END_SEARCH:
	RETURN
PROQUERY	ENDP
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
PROMODIFY  PROC  FAR
	ASSUME	CS:CODE,DS:DATA
	LOADDS	DATA
	MOV	AH,0AH
	LEA	DX,BUFsearch
	INT	21H
	MOV	AX,SEG STU
	MOV	DS,AX
	MOV	ES,AX
	LEA	SI,BUFsearch+2
	LEA	DI,STU+15
	MOV	AL,0
	SUB	DI,P
	MOV	BX,DI
UPDATE_LOOP:
	LEA	SI,BUFsearch+2
	MOV	DI,BX
	ADD	DI,P
	MOV	BX,DI
	CMP	AL,ROW
	JZ	END_UPDATE_NO
	ADD	AL,1
	MOV	CL,[SI-1]
	CMP	CL,[DI-1]
	JNZ	UPDATE_LOOP
	MOV	CL,[SI-1]
	CLD
	REPE	CMPSB
	JZ	END_UPDATE_YES
	JNZ	UPDATE_LOOP	
END_UPDATE_NO:
	CLRSCR
        PUTS 	0,0,strpromodify
     	PUTS 	1,0,strpromodify1
        PUTS 	2,0,strpromodify1
        PUTS 	3,0,strpromodify1
        PUTS 	4,0,strpromodify1
        PUTS 	5,0,strpromodify2
        PUTS 	6,0,strpromodify1
        PUTS 	7,0,strpromodify1
        PUTS 	8,0,strpromodify1
        PUTS 	9,0,strpromodify

	PUTS	10,0,strmodifynull
	PUTS	11,0,MSG0
	JMP	END_UPDATE
END_UPDATE_YES:
	CLRSCR
        
	SUB	AL,1
	funclistonerow  AL
	MOV	CL,AL
	PUTS	13,0,strinsertno
	GETS	P,CL,STU.sno
	PUTS	14,0,strinsertname
	GETS	P,CL,STU.NAM
	PUTS	15,0,strinsertmath
	GETS	P,CL,STU.math
	PUTS	16,0,strinsertchi
	GETS	P,CL,STU.chin
	PUTS	17,0,strinsertphy
	GETS	P,CL,STU.phy
	PUTS	18,0,strinserteng
	GETS	P,CL,STU.eng
	PUTS	19,0,strmodifyok
	PUTS    20,0,MSG0
	MOV	AL,ROW
	XOR	AH,AH
	PUSH	AX
	ADD	CL,1
	MOV	ROW,CL
	CALL	PROSUM
	POP	AX
	MOV	ROW,AL
	CALL	PROSORT
	JMP	END_UPDATE
END_UPDATE:
	
	RETURN
PROMODIFY  ENDP

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

PROLIST	PROC   FAR
	ASSUME	CS:CODE,DS:DATA
	LOADDS	DATA
	CLRSCRlist
	MOV	AL,0
	CMP	AL,ROW
	JB	D1
	PUTS	10,0,strlistnull
	PUTS	11,0,MSG0
	RETURN
D1:	funclistsomerow ROW
	PUTS	24,0,MSG0
	RETURN
PROLIST	ENDP
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
MAIN ENDP
CODE	ENDS
	END	MAIN

⌨️ 快捷键说明

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