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

📄 52-7.asm

📁 一个汇编的学籍管理程序
💻 ASM
📖 第 1 页 / 共 2 页
字号:
        cmp ah,48h
	jz l0
       cmp ah,1ch
        jz  guodu
	cmp ah,01h
        jz  gu2
    
       
        guodu:jmp edit
        gu2:jmp    stop
l2:     call page3
        show 2
        call getchar2
        cmp ah,50h
       
        jz  l3
         cmp ah,48h
     
	jz l1
       cmp ah,1ch
        jz  guodu0
	cmp ah,01h
        jz  gu3
            
   guodu0:jmp     search
   gu3:jmp     stop
l3:     call page4
        show 3
        call getchar2
        cmp ah,50h
       
        jz  l0
         cmp ah,48h
       
	jz l2
        cmp ah,1ch
        jz  guodu1
	cmp ah,01h
        jz  gu4
    
  guodu1:jmp      count

     gu4:jmp   stop
increase:call page6
	 show 4
         none 0
         mov bl,total
         mov n,bl
         lea bx,stud_reg
         mov al,n
         mul ty
         add bx,ax
         mov addr,bx
next0:  
         lea dx,inbuff0
         mov ah,0ah
         int 21h
         
         
next5:   mov bx,addr
         deliver inbuff0+2,[bx].id,inbuff0+1
         
          
         locate 6,8,4
         lea dx,inbuff1
         mov ah,0ah
         int 21h
next2:   mov bx,addr
         deliver inbuff1+2,[bx].xm,inbuff1+1
         mov  flag1,0
         mov score,0
         
         locate 8,11,4
         
w2:      call getchar
         cmp al,0dh
         jz  n4
	 
	 xor ah,ah
         sub al,30h
         cmp flag1,0
         jz  n1
         cmp flag1,1
         jz  n2
         cmp flag1,2
         jz  n3

	 
   n1:    mov score,al
          inc flag1
          jmp w2
   n2:    xchg score,al
          mul shi
          add al,score
          mov score,al
          inc flag1
          jmp w2
   n3:    xchg score,al
          mul shi
          add al,score
          mov score,al
          inc flag1
          jmp n4
       
   n4:    mov al,score
            mov addr,bx
           mov [bx].chinese,al
          jmp next3
next3:   
         mov flag1,0
         mov score,0
        
         locate 10,9,4
w3:      call getchar
         cmp al,0dh
         jz  m4
	 
	 xor ah,ah
         sub al,30h
         cmp flag1,0
         jz  m1
         cmp flag1,1
         jz  m2
         cmp flag1,2
         jz  m3

	 
   m1:    mov score,al
          inc flag1
          jmp w3
   m2:    xchg score,al
          mul shi
          add al,score
          mov score,al
          inc flag1
          jmp w3
   m3:    xchg score,al
          mul shi
          add al,score
          mov score,al
          inc flag1
          jmp m4
       
   m4:  mov al,score
        mov bx,addr
        mov [bx].maths,al
          jmp next4

next4:   mov flag1,0
         mov score,0
         locate 12,11,4
w4:      call getchar
         cmp al,0dh
         jz  o4
	 
	 xor ah,ah
         sub al,30h
         cmp flag1,0
         jz  o1
         cmp flag1,1
         jz  o2
         cmp flag1,2
         jz  o3

	 
   o1:    mov score,al
          inc flag1
          jmp w4
   o2:    xchg score,al
          mul shi
          add al,score
          mov score,al
          inc flag1
          jmp w4
   o3:    xchg score,al
          mul shi
          add al,score
          mov score,al
          inc flag1
          jmp w4
       
   o4:    mov al,score
        mov addr,bx
        mov [bx].english,al
          inc total
         locate 14,11,4
         mov dl,total
         add dl,30h
         mov ah,2
	int 21h
         call getchar1     
         jmp ppp1
ppp1:   xor ax,ax
      mov al,[bx].chinese
      add al,[bx].maths
      add al,[bx].english
      div   san
      mov [bx].aver,al

 d1 :    jmp l0
         
edit:    
         show 5
         clear
          call page7
         
                   
  
         cmp flag2,1
         jz  msg1
         
msg2:disp disp15,len_str15,6,2,5,05h
     jmp d2
         

 
 msg1:disp disp28,len_str28,6,2,5,05h
      disp disp16,len_str16,7,2,5,02h
      disp disp11,len_str11,8,2,5,0fh
      locate 8,10,5
      xor ax,ax
      mov bx,addr
      mov al,[bx].chinese
      div shi
      cmp al,0
      jz shuchu1
      cmp al,10d
      jz shuchu2
      add al,30h
      mov yu,ah
      mov dl,al
      mov ah,2
      int 21h
       xor ax,ax
      mov al,yu
      
      add al,30h
      
      mov dl,al
      mov ah,2
      int 21h
       
      
      jmp qq1
  shuchu1:add ah,30h
          mov dl,ah
          mov ah,2
          int 21h
          jmp qq1
  shuchu2:mov dl,49d
          mov ah,2
          int 21h
          mov dl,48d
          mov ah,2
          int 21h
          mov dl,48d
          mov ah,2
          int 21h
          jmp qq1
 qq1:     disp disp12,len_str12,9,2,5,0fh
      locate 9,10,5
       xor ax,ax
        mov addr,bx
      mov al,[bx].maths
      div shi
      cmp al,0
      jz shuchu3
      cmp al,10d
      jz shuchu4
      add al,30h
      mov yu,ah
      mov dl,al
      mov ah,2
      int 21h
       xor ax,ax
      mov al,yu
      
      add al,30h
      
      mov dl,al
      mov ah,2
      int 21h
      
    
      jmp qq2
  shuchu3:add ah,30h
          mov dl,ah
          mov ah,2
          int 21h
          jmp qq2
  shuchu4:mov dl,49d
          mov ah,2
          int 21h
          mov dl,48d
          mov ah,2
          int 21h
          mov dl,48d
          mov ah,2
          int 21h
          jmp qq2
  qq2:    disp disp13,len_str13,10,2,5,0fh
      locate 10,10,5
       xor ax,ax
        mov addr,bx
      mov al,[bx].english
      div shi
       cmp al,0
      jz shuchu5
      cmp al,10d
      jz shuchu6
      add al,30h
      mov yu,ah
      mov dl,al
      mov ah,2
      int 21h
       xor ax,ax
      mov al,yu
      
      add al,30h
     
      mov dl,al
      mov ah,2
      int 21h
    
      jmp qq3
  shuchu5:add ah,30h
          mov dl,ah
          mov ah,2
          int 21h
          jmp qq3
  shuchu6:mov dl,49d
          mov ah,2
          int 21h
          mov dl,48d
          mov ah,2
          int 21h
          mov dl,48d
          mov ah,2
          int 21h
          jmp qq3
  qq3:    disp disp19,len_str19,12,2,5,02h
      disp disp11,len_str11,13,2,5,0fh
      disp disp12,len_str12,14,2,5,0fh
      disp disp13,len_str13,15,2,5,0fh
      none 0
      locate 13,10,5
      mov  flag1,0
       mov score,0
         
ws2:      call getchar
         cmp al,0dh
         jz  ns4
	 
	 xor ah,ah
         sub al,30h
         cmp flag1,0
         jz  ns1
         cmp flag1,1
         jz  ns2
         cmp flag1,2
         jz  ns3

	 
   ns1:    mov score,al
          inc flag1
          jmp ws2
   ns2:    xchg score,al
          mul shi
          add al,score
          mov score,al
          inc flag1
          jmp ws2
   ns3:    xchg score,al
          mul shi
          add al,score
          mov score,al
          inc flag1
          jmp ns4
       
   ns4:    mov al,score
           mov bx,addr     
           mov [bx].chinese,al
          jmp nexts3
nexts3:   
         mov flag1,0
         mov score,0
         locate 14,10,5
ws3:      call getchar
         cmp al,0dh
         jz  ms4
	 
	 xor ah,ah
         sub al,30h
         cmp flag1,0
         jz  ms1
         cmp flag1,1
         jz  ms2
         cmp flag1,2
         jz  ms3

	 
   ms1:    mov score,al
          inc flag1
          jmp ws3
   ms2:    xchg score,al
          mul shi
          add al,score
          mov score,al
          inc flag1
          jmp ws3
   ms3:    xchg score,al
          mul shi
          add al,score
          mov score,al
          inc flag1
          jmp ms4
       
   ms4:  mov al,score
         mov addr,bx
        mov [bx].maths,al
          jmp nexts4

nexts4:   mov flag1,0
         mov score,0
         locate 15,10,5
ws4:      call getchar
         cmp al,0dh
         jz  os4
	 
	 xor ah,ah
         sub al,30h
         cmp flag1,0
         jz  os1
         cmp flag1,1
         jz  os2
         cmp flag1,2
         jz  os3

	 
   os1:    mov score,al
          inc flag1
          jmp ws4
   os2:    xchg score,al
          mul shi
          add al,score
          mov score,al
          inc flag1
          jmp ws4
   os3:    xchg score,al
          mul shi
          add al,score
          mov score,al
          inc flag1
          jmp ws4
       
     os4:    mov al,score
         mov bx,addr
        mov [bx].english,al
         jmp ppp2
ppp2:   xor ax,ax
     mov al,[bx].chinese
      add al,[bx].maths
      add al,[bx].english
      div   san
      mov [bx].aver,al
          

 d2 :   call  getchar1
         jmp l0
search:        show 6
	clear
	call page8


cmp flag2,1
         jz  msg1s
         
msg2s:disp disp15,len_str15,6,2,6,05h
     jmp qq4
         

 
 msg1s:disp disp16,len_str16,8,2,6,02h
       disp  disp9, len_str9, 10,2,6,0fh
       disp  disp10,len_str10,12,2,6,0fh
       disp  disp11,len_str11,14,2,6,0fh
        disp disp12,len_str12,16,2,6,0fh
        disp disp13,len_str13,18,2,6,0fh
        disp disp17,len_str17,20,2,6,0fh
        disp disp18,len_str18,22,2,6,0fh
      locate 10,10,6
      lea dx,[bx].id				
      mov ah,9
      int 21h

  

locate 12,10,6
 
lea dx,[bx].xm			
      mov ah,9
      int 21h



    locate 14,10,6
     xor ax,ax
      mov bx,addr
      mov al,[bx].chinese
      div shi
      cmp al,0
      jz shuchu1s
      cmp al,10d
      jz shuchu2s
      add al,30h
      mov yu,ah
      mov dl,al
      mov ah,2
      int 21h
       xor ax,ax
      mov al,yu
      
      add al,30h
      
      mov dl,al
      mov ah,2
      int 21h
       
      
      jmp qq1s
  shuchu1s:add ah,30h
          mov dl,ah
          mov ah,2
          int 21h
          jmp qq1s
  shuchu2s:mov dl,49d
          mov ah,2
          int 21h
          mov dl,48d
          mov ah,2
          int 21h
          mov dl,48d
          mov ah,2
          int 21h
          jmp qq1s

  qq1s:     
      locate 16,10,6
       xor ax,ax
        mov addr,bx
      mov al,[bx].maths
      div shi
      cmp al,0
      jz shuchu3s
      cmp al,10d
      jz shuchu4s
      add al,30h
      mov yu,ah
      mov dl,al
      mov ah,2
      int 21h
       xor ax,ax
      mov al,yu
      
      add al,30h
      
      mov dl,al
      mov ah,2
      int 21h
      
    
      jmp qq2s
  shuchu3s:add ah,30h
          mov dl,ah
          mov ah,2
          int 21h
          jmp qq2s
  shuchu4s:mov dl,49d
          mov ah,2
          int 21h
          mov dl,48d
          mov ah,2
          int 21h
          mov dl,48d
          mov ah,2
          int 21h
          jmp qq2s

 qq2s:    
      locate 18,10,6
       xor ax,ax
        mov addr,bx
      mov al,[bx].english
      div shi
       cmp al,0
      jz shuchu5s
      cmp al,10d
      jz shuchu6s
      add al,30h
      mov yu,ah
      mov dl,al
      mov ah,2
      int 21h
       xor ax,ax
      mov al,yu
      
      add al,30h
     
      mov dl,al
      mov ah,2
      int 21h
    
      jmp qq3s
  shuchu5s:add ah,30h
          mov dl,ah
          mov ah,2
          int 21h
          jmp qq3s
  shuchu6s:mov dl,49d
          mov ah,2
          int 21h
          mov dl,48d
          mov ah,2
          int 21h
          mov dl,48d
          mov ah,2
          int 21h
          jmp qq3s
        
       
 qq3s:    
      locate 20,10,6
      
       xor ax,ax
       mov bx,addr
     
       
     mov al,[bx].aver
	
      div shi
      cmp al,0
      jz shuchu1ss
      cmp al,10d
      jz shuchu2ss
      add al,30h
      mov yu,ah
      mov dl,al
      mov ah,2
      int 21h
       xor ax,ax
      mov al,yu
      
      add al,30h
      
      mov dl,al
      mov ah,2
      int 21h
       
      
      jmp qq4s
  shuchu1ss:add ah,30h
          mov dl,ah
          mov ah,2
          int 21h
          jmp qq4s
  shuchu2ss:mov dl,49d
          mov ah,2
          int 21h
         mov dl,48d
         mov ah,2
         int 21h
          mov dl,48d
          mov ah,2
          int 21h
      
qq4s: locate 22,10,6
      mov bx,addr
      xor ax,ax
      xor cx,cx
      mov cl,total
      
      mov dh,[bx].aver
      mov  di,base
     
      mov dl,0
 loop2:cmp [di].aver,dh
       jbe go_on
       inc  dl   
go_on: mov al,ty 
       add di,ax
       loop loop2
       inc dl
       mov al,dl
        xor ah,ah
       
     
      div shi
      cmp al,0
     jz sshuchu5ss
    cmp al,10d
      jz sshuchu6ss
     add al,30h
      mov yu,ah
    mov dl,al
     mov ah,2
     int 21h
     xor ax,ax
   mov al,yu
      
 add al,30h
     
    mov dl,al
     mov ah,2
     int 21h
    
      jmp qq4
 sshuchu5ss:add ah,30h
         mov dl,ah
        mov ah,2
          int 21h
        jmp qq4
sshuchu6ss:mov dl,49d
        mov ah,2
        int 21h
         mov dl,48d
         mov ah,2
          int 21h
          mov dl,48d
        mov ah,2
       int 21h
   










   qq4:
        call getchar1
          cmp al,0dh
         jz  d3
 d3:     jmp l0
       
 
count:   
          show 7
	clear
	call page9
         call getchar1
          cmp al,0dh
         jz  d4
 d4:     jmp l0
stop:    ret
menu     endp
end      start

   
     

⌨️ 快捷键说明

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