当前位置:编程学习 > 汇编语言 >>

急求,汇编语言进行冒泡法排序的程序例子!!

答案:DSEG SEGMENT ADDR DW N DUP(?) DSEG ENDS CSEG SEGMENT MAIN PROC FAR START: PUSH DS SUB AX,AX PUSH AX MOV AX,DSEG MOV DS,AX MOV CX,N:内循环变量存于CX中,初值为N-1 DEC CX LOOP1: MOV DI,CX:外循环变量存于DI中,初值为N-1 MOV BX,0;地址指针置为0 LOOP2: MOV AX,ADDR[BX];取相邻两数比较 CMP AX,ADDR[BX+2] JGE COTINUE;若符合次序,转移 XCHG AX,ADDR[BX+2];不符合,交换 MOV ADDR[BX],A;存大数 CONTINUE: ADD BX,2;修改地址指针 LOOP LOOP2;若一遍未比较完,继续 MOV CX,DI LOOP LOOP1;若N-1遍未作完,继续 RET MAIN ENDP CSEG ENDS END START
其他:下面是冒泡法排序的源程序(已改进):
dseg segment
array db 0feh,86h,95h,21h,90h
count equ $-array
dseg  ends
cseg segment
	assume ds:dseg,cs:cseg
start: mov ax,dseg
			 mov ds,ax
			 mov dx,2
loop1: mov cx,count
			 mov si,cx
			 mov bx,cx
loop2: mov al,array[si-1]
			 cmp al,array[si-2]
			 jge next
			 xchg al,array[si-2]
			 mov array[si-1],al
			 mov bx,cx
next:  dec si
			 dec cx
			 cmp cx,dx
			 jge loop2
			 cmp bx,count
			 je done
			 inc dx
			 jmp loop1
done:  mov ah,4ch
			 int 21h
cseg ends
    end start 看不懂哦  什么意思

上一个:有关汇编语言的,可以帮我讲解一下下面的程序每个语句的作用吗?
下一个:单片机汇编语言

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,