| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 547 人关注过本帖
标题:统计分数的程序
只看楼主 加入收藏
筐筐的橙
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2011-5-31
结帖率:100%
收藏
 问题点数:0 回复次数:2 
统计分数的程序
设有10个学生的成绩分别是76,69,64,90,73,88,99,63,100和80分。试编制一个子程序统计60~69分,70~79分,80~89分,90~99分和100分的人数并分别存放到S6,S7,S8,S9和S10单元中

下面是我做的程序
DATAS segment
A DB 76,69,64,90,73,88,99,63,64H,80
S6  DB 0
S7 DB 0
S8 DB 0
S9 DB 0
S10 DB 0
DATAS ENDS
STACKS SEGMENT
   
STACKS ENDS
CODE SEGMENT
     ASSUME CS:CODE,DS:DATAS
START:MOV AX,DATAS
      MOV DS,AX
      MOV CX,0AH
      MOV BL,0
      MOV SI,OFFSET A
L2:   LODSB
      CMP AL,100
      JNZ L1
      INC BL
L1:   
      DEC CX
      JNZ L2
      MOV DI,OFFSET S10
      MOV AL,BL
      STOSB
      
      MOV DL,AL
      ADD DL,30H
      MOV AH,2
      INT 21H



      MOV CX,0AH
      MOV BL,0
      MOV SI,OFFSET A
K2:   LODSB
      CMP AL,90
      JB K1
      CMP AL,99
      JA K1
      INC BL
K1:   DEC CX
      JNZ K2
      MOV DI,OFFSET S9
      MOV AL,BL
      STOSB
      
      MOV DL,AL
      ADD DL,30H
      MOV AH,2
      INT 21H



      MOV CX,0AH
      MOV BL,0
      MOV SI,OFFSET A
J2:   LODSB
      CMP AL,80
      JB J1
      CMP AL,89
      JA J1
      INC BL
J1:   DEC CX
      JNZ J2
      MOV DI,OFFSET S8
      MOV AL,BL
      STOSB
      
      MOV DL,AL
      ADD DL,30H
      MOV AH,2
      INT 21H



      MOV CX,0AH
      MOV BL,0
      MOV SI,OFFSET A
H2:   LODSB
      CMP AL,70
      JB H1
      CMP AL,79
      JA H1
      INC BL
H1:   DEC CX
      JNZ H2
      MOV DI,OFFSET S7
      MOV AL,BL
      STOSB
      
      MOV DL,AL
      ADD DL,30H
      MOV AH,2
      INT 21H





      MOV CX,0AH
      MOV BL,0
      MOV SI,OFFSET A
G2:   LODSB
      CMP AL,60
      JB G1
      CMP AL,69
      JA G1
      INC BL
G1:   DEC CX
      JNZ G2
      MOV DI,OFFSET S6
      MOV AL,BL
      STOSB
      
      MOV DL,AL
      ADD DL,30H
      MOV AH,2
      INT 21H




MOV AH,4CH
INT 21H
CODE ENDS
 END START



前辈们帮看看哪怎么改,谢谢咯~~
搜索更多相关主题的帖子: 子程序 统计 
2011-06-14 18:25
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
先自行debug一下。

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-06-14 21:49
obstratiker
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:198
专家分:758
注 册:2011-5-5
收藏
得分:0 
在开头加上
mov ax,data
mov es,ax

因为 stosb 的目的操作地址是 es:di 指向的内存
其他的没有什么
只是你在调用中断输出的时候,是
12223
因为没有空格,看起来很奇怪
可以加上些代码改改
2011-06-16 22:33
快速回复:统计分数的程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016283 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved