| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 723 人关注过本帖, 1 人收藏
标题:自学汇编,遇到难题,求助
只看楼主 加入收藏
下午两点半
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-10-26
收藏(1)
 问题点数:0 回复次数:4 
自学汇编,遇到难题,求助
下面是我对这个题目编的,咋不对啊,望高手指点指点
;设有100个学生的成绩存放在RECORD为首地址的字节数据区中,试编写分支程序
;分别统计成绩为60-69分,70-79分,80-89分,90-99分及100分的人数(假设学生
;的成绩都及格),分别存放到G6,G7,G8,G9,G10单元中。
DATA          SEGMENT
       RE     DB 68H,84H,94H,77H,90H,73H,87H,99H
       G6     DB 0
       G7     DB 0
       G8     DB 0
       G9     DB 0
       G10    DB 0
DATA          ENDS
CODE          SEGMENT
              ASSUME CS:CODE,DS:DATA
        START:MOV AX,DATA
              MOV DS,AX
              LEA DI,RE
              MOV BX,9
            S:MOV AL,[DI+BX]
              CMP AL,70H      
              JL  NEXT1     ;小于70,跳转
              CMP AL,80H
              JL  NEXT2
              CMP AL,90H
              JL  NEXT3
              CMP AL,99H
              JLE NEXT4
              ADD G10,1
        NEXT1:ADD G6,1      ;存在小于60到69的分数,加1
              JMP EXIT
        NEXT2:ADD G7,1
              JMP EXIT
        NEXT3:ADD G8,1
              JMP EXIT
        NEXT4:ADD G9,1
              JMP EXIT
         EXIT:DEC BX
              LOOP S        ;循环
              MOV AH,4CH
              INT 21H
CODE          ENDS
              END START                        

      
搜索更多相关主题的帖子: 汇编 难题 自学 
2010-11-18 12:50
asdfbjha
Rank: 2
等 级:论坛游民
帖 子:12
专家分:24
注 册:2010-8-10
收藏
得分:0 
loop 循环没有结束设置   bx的初始值是不是大了点
2010-11-18 20:16
xiaomarn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:348
专家分:2026
注 册:2009-3-18
收藏
得分:0 
程序代码:
DATA          SEGMENT
       RE     DB 68H,84H,94H,77H,90H,73H,87H,99H
       G6     DB 0
       G7     DB 0
       G8     DB 0
       G9     DB 0
       G10    DB 0
DATA          ENDS
CODE          SEGMENT
              ASSUME CS:CODE,DS:DATA
        START:MOV AX,DATA
              MOV DS,AX
              LEA DI,RE
              dec di
              MOV BX,89->8
            S:MOV AL,[DI+BX]
              CMP AL,70H     

              jb  NEXT1     ;小于70,跳转
              CMP AL,80H
              jb  NEXT2
              CMP AL,90H
              jb  NEXT3
              CMP AL,99H
              jbe NEXT4
              ADD G10,1
              jmp exit
        NEXT1:ADD G6,1      ;存在小于60到69的分数,加1
              JMP EXIT
        NEXT2:ADD G7,1
              JMP EXIT
        NEXT3:ADD G8,1
              JMP EXIT
        NEXT4:ADD G9,1
              JMP EXIT
         EXIT:DEC BX
              jnz s
              MOV AH,4CH
              INT 21H
CODE          ENDS
              END START 
字母小写的地方是我修改的
2010-11-18 20:16
下午两点半
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-10-26
收藏
得分:0 
受教了,
2010-11-21 22:51
快速回复:自学汇编,遇到难题,求助
数据加载中...
 
   



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

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