注册 登录
编程论坛 汇编论坛

麻烦大家再看看这个错在哪里?

华龙 发布于 2007-06-15 22:15, 725 次点击

用冒泡排序法将数从大到小排列,并显示出来。
DSEG SEGMENT
DATA DB 41H,42H,43H,44H,45H,46H,47H,48H,49H,4AH
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START:MOV AX,DSEG
MOV DS,AX
MOV CX,09H
MOV SI,OFFSET DATA
NEXT1:MOV DI,CX
NEXT2:MOV AL,[SI]
CMP AL,[SI+1]
JNBE NEXT3
XCHG AL,[SI+1]
MOV [SI],AL
NEXT3:INC SI
LOOP NEXT2
MOV CX,DI
LOOP NEXT1
MOV CX,10
MOV SI,OFFSET DATA
OUTPT:MOV DL,[SI]
MOV AH,02H
INT 21H
INC SI
LOOP OUTPT
MOV AH,4CH
INT 21H
CSEG ENDS
END START

汇编链接都正确,但运行就出问题,我实在看不出哪错了,麻烦知道的朋友告诉下。


[此贴子已经被作者于2007-6-16 18:51:47编辑过]

8 回复
#2
菜鸟上路2007-06-15 22:29
这程序的功能是什么呀?
#3
I喜欢c2007-06-15 23:07
来点注释,说明好不?
#4
爱以走远2007-06-15 23:34
我不知道你程序是做什么的 (没看)
但是程序没错 运行出来结果得120112
#5
华龙2007-06-16 08:45

判断数的正负,正的为1,负的为2,0为0,存储起来,并显示。
(我不知道除了用字符‘-’,和‘1’显示‘-1’,还有没有其他方法,所以把显示为负数的-1改为了2。)

#6
华龙2007-06-16 08:48
以下是引用爱以走远在2007-6-15 23:34:06的发言:
我不知道你程序是做什么的 (没看)
但是程序没错 运行出来结果得120112

在我机器上老说有错:汇编链接都没错,运行时就说什么无效指令。

#7
菜鸟上路2007-06-16 08:57
有时候跟机器有关
#8
zez26262007-06-16 09:16
LZ,程序完全正确,运行结果是 120112
你在检查一下你的运行环境是不是出了问题,有可能是你在安装的时候把一些文件给丢了 
#9
华龙2007-06-16 18:52
谢谢了,现在好了,不过上面那个出现同样的问题。
1