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

📄 main.asm

📁 学分管理系统的分析
💻 ASM
字号:
include macro.lib
extrn  writepoint:far,drawline:far,horizontal:far,vertical:far,readpoint:far
extrn  rectangle:far,setprepage:far,getimmage:far,putimmage:far
extrn  read_line:far,write_line:far,read_col:far,write_col:far,fill:far
extrn  showbmp:far,mov_heading:far
extrn  draw_jiao:far,drawline_x:far,drawline_y:far,box:far,rectangle:far
extrn  printf:far,printf1:far,putchar:far,printf2:far

extrn  clearscreen_du:far,clearscreen_ud:far,clearscreen_rl:far,clearscreen_lr:far
extrn  clearscreen_in:far,clearscreen_out:far
extrn  clearscreen_rw:far,clearscreen_dw:far
extrn  clearscreen_rdw:far,clearscreen_mlr:far,clearscreen_mud:far
extrn  random:far,random_yu:far,random_clear:far,menu:far
extrn  pass:far
extrn  drawmouse:far,store_m:far,restore_m:far,initmouse:far,intr8mouse:far

public	store_ax,store_bx,oldintr
stack	segment stack
       db 500 dup(0)
stack  ends


data   segment para public 'data'
store_ax      dw  ?
store_bx      dw  ?
flower_bmp    db  'picture\flower.bmp',0
backfile      db  'picture\028.bmp',0
string_a      db  '制作人:',0,0
string_b      db  '二千年八月份',0,0
num_x1   dw  399
num_y1	 dw  65
num_x2   dw  399
num_y2	 dw  599
oldintr  dw  2 dup(?)
success   db  'you have passed.',0
data   ends


code   segment 'code'
	assume cs:code,ss:stack,ds:data

.386

start:
    mov  ax,	data
    mov  ds,	ax


    mov ah,	0fh
    int 10h
    mov  store_ax,ax
    mov  store_bx,bx		    ;读显示方式并保存

    
    mov  ax,	4f02h
    mov  bx,	114h
    int  10h

    openpicture 0, 599, flower_bmp ,P_COPY ;显示程序封面
    call  mov_heading
    box_jiao	42,192,208,408,<RGB 0,0,255>
    rect	47,197,203,403,<RGB 255,0,0>
    out_hz   600,520,string_a, <RGB 0,255,64>
    out_hz   650,550,string_b, <RGB 0,255,64>
    call  random_yu                       ;随机显示名言

    setintr  random_clear, oldintr        ;随机显示画面
    in	 al,21h
    and	 al,0h
    out	 21h,al
    sti
    
again:
    mov  ah,1                             ;键盘中断,等待用户按键,进入程序主界面
    int  16h
    jnz  next1
    jmp  again

next1:

    mov  ah,0	  ;                        read out the  char
    int  16h
    cli
    res_oldintr oldintr
  
    call initmouse                       ;开时钟中断,开启鼠标和光标
    setintr intr8mouse, oldintr
    sti

    call pass                          ;要求用户输入密码
    jnc  last

    call menu                          ;进入主菜单的功能循环
last:
    cli                                ;恢复中断,和原来的显示模式,退出程序
    res_oldintr oldintr

    mov ax,store_ax
    mov bx,store_bx
    mov ah,	0
    int 10h
	
    mov ah,	4ch
    int 21h

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


code  ends
	end start

⌨️ 快捷键说明

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