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

📄 menu.asm

📁 学分管理系统的分析
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	box_jiao  500,42,590,62,<RGB 125,0,32>
	out_hz    520,44, menu44, <RGB 32,50,180>
	box_jiao  600,42,690,62,<RGB 125,0,32>
	out_hz    620,44,menu45,  <RGB 32,50,180>
	call      show_onepage
	showpagebutton 740,430,758,460,uparrow
	showpagebutton 740,462,758,492,downarrow
	mov   busy,0
	
	.repeat
	.WHILE	 1
	submenu_h  200,42,290,62,first,menu41,help41,chinese_sort,next1,BACKFLAG3
next1:
	submenu_h  300,42,390,62,second,menu42,help42,maths_sort,next2,BACKFLAG3
next2:
	submenu_h  400,42,490,62,third,menu43,help43,rank_sort,next3,BACKFLAG3
next3:
	submenu_h  500,42,590,62,forth,menu44,help44,rank_sort,next4,BACKFLAG2
next4:
	submenu_h  600,42,690,62,fifth,menu45,help45,goback,next5,BACKFLAG3
next5:	
	submenu_p  740,430,758,460,sixth,uparrow,uparrowhelp,pageup,next6
next6:
	submenu_p  740,462,758,492,seventh,downarrow,downarrowhelp,pagedown,next7
next7:		
	.ENDW   
	.until leave_sort == 1 
	mov    BACKFLAG1, 1
	mov    BACKFLAG2, 1
	mov    BACKFLAG3, 1
	mov    leave_sort , 0

	setxy  120,40,780,520
	mov    busy,1
	call   clearscreen_rdw
	call   store_m
	mov    busy,0
	ret
showsubmenu4   endp
;============================================================================ 	
rank_sort    proc    near
	push   bx
	mov    bx,  29
	call   sort_records
	call   show_onepage
	mov    stop_uppage,   1
	mov    stop_downpage, 0
	pop    bx
	ret
rank_sort    endp	
;============================================================================ 	
chinese_sort    proc    near
	push   bx
	mov    bx,  24
	call   sort_records
	call   show_onepage
	mov    stop_uppage,   1
	mov    stop_downpage, 0
	pop    bx
	ret
chinese_sort    endp	
;============================================================================ 	
maths_sort    proc    near
	push   bx
	mov    bx,  25
	call   sort_records
	call   show_onepage
	mov    stop_downpage, 0
	mov    stop_uppage,   1
	pop    bx
	ret
maths_sort    endp	
;============================================================================ 	
;modify
showsubmenu5   proc
	setxy 300,100,500,500
	call  clearscreen_in
	mov   stop_uppage, 1
	mov   stop_downpage,0

	mov   busy, 1

	box_jiao  200,40,400,70,<RGB 125,0,32>
	out_hz    280,45,reflesh_string , <RGB 32,50,180>
	box_jiao  500,40,700,70,<RGB 125,0,32>
	out_hz    580,45,menu45,  <RGB 32,50,180>
	call      show_onepage
	showpagebutton 740,430,758,460,uparrow
	showpagebutton 740,462,758,492,downarrow
	mov   no_scroll,  1
	mov   busy,0
	.repeat
	.WHILE	 1
	submenu  200,40,400,70,first,reflesh_string,refleshhelp,reflesh,next1,BACKFLAG2
next1:
	submenu  500,40,700,70,second,menu45,help45,goback,next2,BACKFLAG3
next2:	
	submenu_p  740,430,758,460,third,uparrow,uparrowhelp,pageup,next3
next3:
	submenu_p  740,462,758,492,forth,downarrow,downarrowhelp,pagedown,next4
next4:		
	submenu    120,100,730,500,sixth,kong,modifyhelp,kongprocess,next5,nouse
next5:	
	ishere   120,100,730,500
	jnc      next6
	call     exchange_scroll
	call     light_line
next6:
	isrightkey
	jnc      next7
	call     modify_one_record
next7:
	.ENDW   
	.until leave_sort == 1 

	mov    BACKFLAG1, 1
	mov    BACKFLAG2, 1
	mov    BACKFLAG3, 1
	mov    leave_sort , 0

	setxy  120,40,780,520
	mov    busy,1
	call   clearscreen_rdw
	call   store_m
	mov    busy,0
	ret
showsubmenu5   endp
kongprocess   proc  near
	ret
kongprocess   endp	
;============================================================================ 	
showsubmenu6  proc  near
	push  ds
	push  es
	mov   ax, data
	mov   ds, ax


	setxy 300,100,500,500
	call  clearscreen_out
	mov   busy, 1
        slow_zi   300, 120,string,<RGB 0,255,0>
	box_jiao  300,150, 500,180,<RGB	125,0,32>
	out_hz	  380,155,menu61 , <RGB	32,50,180>
	box_jiao  300,200,500,230,<RGB	125,0,32>
	out_hz	  380,205,menu62 , <RGB 32, 50,180>
	box_jiao  300,250,500,280,<RGB 125,0,32>
	out_hz	  380,255,menu63, <RGB 32,50,180>
	box_jiao  300,300,500,330,<RGB 125,0,32>
	out_hz	  380,305,menu64, <RGB 32,50,180>
	box_jiao  300,350,500,380,<RGB 125,0,32>
	out_hz    380,355,menu65, <RGB  32,50,180>
	box_jiao  300,400,500,430,<RGB 125,0,32>
	out_hz    380,405,back,   <RGB 32,50,180>
	
	mov   busy,0
	.WHILE	 1
	submenu  300,150,500,180,first,menu61,help61,modifypassword,next1,BACKFLAG3	
next1:
	submenu  300,200,500,230,second,menu62,help62,help,next2,BACKFLAG3
next2:
	submenu  300,250,500,280,third,menu63,help63,change_cover,next3,BACKFLAG3
next3:
	submenu  300,300,500,330,forth,menu64,help64,save_exit,next4,BACKFLAG3
next4:
	submenu  300,350,500,380,fifth,menu65,help65,direct_exit,next5,BACKFLAG3
next5:
	submenu  300,400,500,430,sixth,back,helpback,goback,next6,BACKFLAG3
	
next6:	
	.ENDW

	pop es
	pop  ds     
	ret
showsubmenu6   endp	
;============================================================================ 	
finish   proc  near
	setxy 300,100,500,500
	call  clearscreen_out
	mov   BACKFLAG1,1
	MOV   BACKFLAG2,1
	MOV   BACKFLAG3,1
	ret
finish   endp	
;===============================================================================
;与系统数据无关的两个功能项放到菜单模块中
;换皮
change_cover  proc  
	mov   busy , 1
	setxy 300,100,500,500
	call  clearscreen_out
        slow_zi   300, 120,string,<RGB 0,255,0>
	box_jiao  300,150, 500,180,<RGB	125,0,32>
	out_hz	  380,155,spring , <RGB	32,50,180>
	box_jiao  300,200,500,230,<RGB	125,0,32>
	out_hz	  380,205,summer , <RGB 32, 50,180>
	box_jiao  300,250,500,280,<RGB 125,0,32>
	out_hz	  380,255,autumn, <RGB 32,50,180>
	box_jiao  300,300,500,330,<RGB 125,0,32>
	out_hz	  380,305,winter, <RGB 32,50,180>
	box_jiao  300,350,500,380,<RGB 125,0,32>
	out_hz    380,355,nochange,   <RGB 32,50,180>
	mov   busy,0
	.WHILE	 1
	submenu  300,150,500,180,first,spring,springhelp,spring_cover,next1,BACKFLAG3
next1:
	submenu  300,200,500,230,second,summer,summerhelp,summer_cover,next2,BACKFLAG3
next2:
	submenu  300,250,500,280,third,autumn,autumnhelp,autumn_cover,next3,BACKFLAG3
next3:
	submenu  300,300,500,330,forth,winter,winterhelp,winter_cover,next4,BACKFLAG3
next4:
	submenu  300,350,500,380,sixth,nochange,nochangehelp,nothing_change,next5,BACKFLAG3
next5:
	.ENDW
	mov   BACKFLAG1,1
	MOV   BACKFLAG2,1
	MOV   BACKFLAG3,1
	ret
change_cover  endp	
;======================================================================
spring_cover  proc  
	pusha
	setxy 300,100,500,500
	mov   busy, 1
	call  restore_m
	openpicture   0,599,spring_p,P_COPY	
	call  store_m
	mov   busy, 0
	mov   BACKFLAG3,1
	popa
	ret
spring_cover  endp
;----------------------------
summer_cover  proc  
	pusha
	push  ds
	mov   ax,  data
	mov   ds,  ax
	mov   busy,1
	call  restore_m
	openpicture   0,599,setting,P_COPY
	call  store_m
	mov   busy,0
	mov   BACKFLAG3,1
	pop   ds
	popa
	ret
summer_cover  endp
;-------------------------
autumn_cover  proc  
	pusha
	push  ds
	mov   ax,  data
	mov   ds,  ax
	mov   busy,1
	call  restore_m
	openpicture   0,599,autumn_p,P_COPY
	call  store_m
	mov   busy,0
	mov   BACKFLAG3,1
	pop   ds
	popa
	ret
autumn_cover  endp
;----------------------------
winter_cover  proc  
	pusha
	push  ds
	mov   ax,  data
	mov   ds,  ax
	mov   busy,1
	call  restore_m
	openpicture   0,599,winter_p,P_COPY
	call  store_m
	mov   busy,0
	mov   BACKFLAG3,1
	pop   ds
	popa
	ret
winter_cover  endp
;----------------------------
nothing_change  proc  
	pusha
	mov   busy, 1
	call  restore_m
	setxy 300,100,500,500
	call  clearscreen_out
	call  store_m
	mov   busy, 0
	mov   BACKFLAG3,1
	popa
	ret
nothing_change  endp


;======================================================================

;帮助子程序
help    proc   far
	pusha
	push   ds
	mov    ax, data
	mov    ds, ax
	mov    busy, 1
	call   restore_m
	background  100,575,700,595,<RGB 0,0,0>
        setxy  120,60,750,520
        call   clearscreen_out
        call   store_m
        mov    busy, 0
        setintr  sound,oldintr
	sti
	slow_zi   320,100,help1,<RGB 0,255,0>
	slow_zi   250,150,help2,<RGB 0,255,0>
	slow_zi   300,200,help3,<RGB 0,255,0>
	slow_zi   250,250,help4,<RGB 0,255,0>
	slow_zi   260,300,help5,<RGB 0,255,0>
	slow_zi   350,400,help6,<RGB 255,32,0>
	quick_zi	110,578,help7,<RGB 0,255,0>
again:   
        isleftkey
	jc   exit
	mov  ah,1
        int  16h
        jnz  exit
	jmp  again
exit:   
	mov  ah, 0
	int  16h
	cli
        res_oldintr oldintr
        setintr  intr8mouse, oldintr
        sti
	background  100,575,700,595,<RGB 0,0,0>
	setxy  200,80,700,420
	call   clearscreen_rdw
	mov   BACKFLAG1,1
	mov   BACKFLAG2,1
	mov   BACKFLAG3,1
        pop   ds
        popa
	ret
help    endp	        

code   ends
       end

⌨️ 快捷键说明

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