| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 709 人关注过本帖
标题:汇编程序修改
只看楼主 加入收藏
qinqingkang
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-5-29
收藏
 问题点数:0 回复次数:1 
汇编程序修改

各位帮我该一道程序题好吗,我真的不知道错在哪里了。


题目如下: 在屏幕上显示器提示信息“Please in put 10 number:" ,提示用户输入10个数(数的范围在0~ 99之间)。然后从键盘上读入这10个数。接着对这10个数从小到达进行排序,并统计0~59,60~79.80~99的个数各有多少。最后在屏幕上显示排序后的数(每个数之间用逗号分隔)并显示统计的结果,显示格式如下:

sorted numbers :XX,XX,XX,XX,XX,XX,XX,XX,XX,XX

0~59:XX

60~79:XX

80~99:XX

程序如下
DATA SEGMENT
A1 DB 'please input 10 numbers $'
A2 DB 10,?,10 DUP(?)
A3 DB 'Sroted number:$'
S1 DB '0~59:$'
s2 DB '60~79:$'
S3 DB '80~99:$'
B1 DB 0
B2 DB 0
B3 DB 0
COUNT1 DB 2
COUNT2 DB 10
DATA ENDS
STACK SEGMENT PARA 'STACK'
DB 10 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV AH,09H
LEA DX,A1
INT 21H
MOV AH,0AH
LEA DX,A2
INT 21H
LEA SI,A2
NEXT2:MOV BX,WORD PTR COUNT1
MOV CX,WORD PTR COUNT2
NEXT1:MOV AL,[SI+2]
CMP AL,A2[BX]
JB NEXT
XCHG AL,A2[BX]
MOV [SI+2],AL
NEXT: INC SI
INC COUNT2
DEC COUNT1
JNZ NEXT2
LEA SI,A2
MOV CX,10
C: MOV AL,[SI+2]
CMP AL,59
JA C1
INC B1
C1:CMP AL,76
JA C2
INC B2
JMP C3
C2:INC B3
C3:INC SI
LOOP C
MOV AH,09H
LEA DX,A3
INT 21H
MOV CX,10
MOV BX,2
D1:MOV AH,02H
MOV DL,A2[BX]
INT 21H
INC BX
LOOP D1
CALL FAN
MOV AH,09H
LEA DX,S2
INT 21H
MOV AH,02H
MOV DL,B2
INT 21H
CALL FAN
MOV AH,09H
LEA DX,S3
INT 21H
MOV AH,02H
MOV DL,B3
INT 21H
FAN PROC NEAR
MOV AH,02H
MOV DL,0AH
INT 21H
MOV DL,0DH
INT 21H
FAN ENDP
CODE ENDS
END START

谢谢了,

搜索更多相关主题的帖子: 汇编程序 
2006-06-06 15:06
notepaper
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-6-5
收藏
得分:0 

至少缺少ret mov ah,4ch int 21h
mov ah,4ch
int 21h

FAN PROC NEAR
MOV AH,02H
MOV DL,0AH
INT 21H
MOV DL,0DH
INT 21H
ret
FAN ENDP
CODE ENDS
END START


2006-06-07 14:41
快速回复:汇编程序修改
数据加载中...
 
   



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

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