📄 52-7.asm
字号:
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 + -