| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 673 人关注过本帖
标题:找错找错,求大侠帮忙找错!!!!
取消只看楼主 加入收藏
睡睡
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-6-9
结帖率:100%
收藏
已结贴  问题点数:0 回复次数:2 
找错找错,求大侠帮忙找错!!!!
计算比赛成绩
基本功能:
   (1) 有9名评委,每个评委给分范围为0~10(整数):由键盘输入;
   (2) 9名评委给分中,去掉一个最高分和一个最低分,剩余7名评委的平均分即为参赛者的得分(精确到小数点后二位,不考虑四舍五入);
   (3) 将最后得分在光标位置处显示出来。

以下是我写的汇编程序,程序可以运行,从理论上讲也应该是可以实现功能,但是在最后输入数据后却不能正确显示结果,求大侠帮忙找出到底在哪弄错了

DATA SEGMENT
    BIN DB 9 DUP(0)
    BIN1 DB '  JUDGE '
    BIN2 DB 31h,':','$'
    BIN3 DB '  RSULT:','$'   
        S DB ?
DATA ENDS

CODE SEGMENT
        ASSUME CS:CODE,DS:DATA
   
        BININ:   MOV AX,DATA
             MOV DS,AX
             XOR SI, SI       ; xor (异或)在这里相当于清零
             MOV CX,9
;--------------------------------------------------------------------   
           INPUT:LEA  DX, BIN1
             MOV AH, 9H       ;实现DOS调用中的09号功能,屏幕上显示字符窜
             INT 21H

;-------------从键盘上输入数据-----------------------------------------            

                 MOV AH,01H      
             INT 21H
            
                 MOV BIN[SI], AL
             INC SI
             INC BIN2

;-------------实现回车换行功能------------------------------------------            

                 MOV AH, 02H
             MOV DL,0AH
             INT 21H
             MOV DL , 0DH
             INT 21H
;----------------------------------------------------------------------            
                 LOOP INPUT

    CALL PAIXU            ;调用子程序实现数据排序(采用了气泡排序方法)
   
            
                 LEA DX,BIN3
             MOV AH,9
             INT 21H
            
        CALL SUM               ;调用子程序实现求和功能(去掉最小和最大值)

;--------------实现除法运算----------------------------------------------

             MOV AL, S
             XOR AH, AH
             MOV BL, 7
             DIV BL
             MOV  S, AL
;输出整数-------------------------------------------------------------            
                PUSH AX
            MOV DL,S
            MOV AH,02h
            INT 21H
;输出小数点--------------------------------------------------------------            
                MOV DL,'.'
            MOV AH ,02h
            INT 21H
;输出小数位--------------------------------------------------------------
            POP AX
            MOV AL,AH
            MOV CL,10
            MUL CL
            MOV BL,7
            DIV BL
            MOV DL,AL
            XOR DL,30H
            MOV AH,2
            INT 21H
            MOV AL,AH
                MOV CL,10
            MUL CL
            MOV BL,7
            DIV BL
            MOV DL,AL
                XOR DL,30H
                MOV AH,2
            INT 21H
            MOV AH,4CH
            INT 21H
;气泡排序子程序算法实现-----------------------------------------------
   
         PAIXU PROC NEAR
                PUSH AX
                PUSH BX
                PUSH CX
                MOV CX,9
                DEC CX
          LOOP1:MOV DI,CX
                MOV BX,0
          LOOP2:MOV AL,BIN[BX]
                CMP AL,BIN[BX+1]
                JGE CONTINUE
                XCHG AL,BIN[BX+1]
                MOV BIN[BX],AL
       CONTINUE:ADD BX,1
                LOOP LOOP2
                MOV CX,DI
                LOOP LOOP1
                POP CX
                POP BX
                POP AX
                RET
        PAIXU ENDP
;求和子程序算法实现----------------------------------------------------------

         SUM PROC NEAR
            PUSH AX
            XOR SI,SI
            MOV CX,6
            MOV AL, BIN[SI+1]
       DOUN:INC SI
            ADD AL , BIN[SI+1]
            LOOP DOUN
            MOV S, AL
            POP AX
            RET
            SUM ENDP
;-----------------------------------------------------------

      CODE ENDS
    END BININ
搜索更多相关主题的帖子: 小数点 键盘 
2011-06-09 20:47
睡睡
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-6-9
收藏
得分:0 
回复 3楼 kabbin
O(∩_∩)O哈哈~弄好了,谢谢提醒哦,我一时糊涂把这给忘了  !!  
2011-06-10 13:03
睡睡
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-6-9
收藏
得分:0 
回复 6楼 obstratiker
那个我后来调试的时候也改过来了,不过谢谢了!!
2011-06-12 11:29
快速回复:找错找错,求大侠帮忙找错!!!!
数据加载中...
 
   



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

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