程序

zhanshang1986 2007-06-16 02:40:11
下面代码要求排序,请看一下哪里不对
data segment
num db 23h,25h,12h,3ah,1fh
data ends
code segment
main proc far
assume cs:code,ds:data
start:
push ds
sub ax,ax
push ax

mov ax,data
mov ds,ax

mov cx,5
dec cx
loop1:
mov di,cx
mov bx,0
loop2:
mov al,num[bx]
cmp al,num[bx+1]
jge continue
xchg al,num[bx+1]
mov num[bx],al
continue:
add bx,1
loop loop2
mov cx,di
loop loop1

mov cx,5
mov bx,offset num
dis:
MOV dl,[BX]
INC BX
MOV AH,02
INT 21H

MOV DL,0
MOV AH,02
INT 21H

LOOP dis

MOV AH,4CH
INT 21H

main endp
CODE ENDS
END START


...全文
146 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
czlyc006 2007-06-16
  • 打赏
  • 举报
回复
看错了,cx值保存在了di中
javaors 2007-06-16
  • 打赏
  • 举报
回复
将main proc far 放在start:后面
czlyc006 2007-06-16
  • 打赏
  • 举报
回复
冒泡法吗?嵌套循环时务必注意保护外层循环所用的cx寄存器值

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧