【汇编】冒泡法排序

循环打印

DATA		SEGMENT
   arr     db   30h,33h,38h,31h,32h,37h,36h,39h,34h,35h
   arrlen  equ  ($-arr)/type arr
   msg1    db    'programe end',0DH,0AH,'$';提示输入信息
   msg2    db    '========',0DH,0AH,'$';
DATA        ENDS

STACKS  SEGMENT   STACK     
    DW		128 DUP(?)  
STACKS  ENDS

CODE	SEGMENT
   	ASSUME    CS:CODE,DS:DATA
START:       
   	mov    ax,data
   	mov    ds,ax

;开始循环
	mov   cx,arrlen
outlp:
	mov   bx,cx
	;数组地址给di
	mov   di,offset  arr
inlp:
	mov  al,[di]
	;当前数字与下一个进行比较
	cmp  al,[di+1]
	;如果当前大于下一个就交换
	;否则就跳到下一个
	jb   next
	xchg al,[di+1]
	mov  [di],al
next:
	;di跳到下一个
	inc di
	dec bx
	jnz inlp
	loop outlp
	
	lea si,arr
	mov cx,arrlen
print:
	mov dl,' '
	mov ah,2
	int 21h
	mov dl,[si]
	mov ah,2
	int 21h
	inc si
	loop print
	
	mov ah,4ch
	int 21h
CODE	ENDS
END START

 

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录