Fork me on GitHub

汇编:汇编语言实现冒泡排序(条件转移指令)

 1 ;===============================
 2 ;循环程序设计
 3 ;条件转移指令实现
 4 ;冒泡排序
 5 ;for(int i=0;i<N;i++){
 6 ;   for(int h=0;j<N-1-i>;j++){
 7 ;      if(array[j]>array[j+1]){
 8 ;           exchange(array[j],array[j+1]);
 9 ;        }
10 ;   }   
11 ;}
12 DATAS SEGMENT
13 N equ 16        ;待排序的个数
14 DATAS ends
15 CODES SEGMENT
16     ASSUME CS:CODES, DS:DATAS
17     START:
18         mov AX,8000H        ;待排序的内容的段地址
19         mov DS,AX          
20 
21         mov bx,-1
22         mov si,1            
23 
24     flag1:
25         mov di,0
26 
27     flag2:
28         mov al,[bx+di]
29         cmp al,[bx+di+1]
30         ja next1            ;大于
31         xchg al,[bx+di+1]   
32         mov  [bx+di],al     ;交换
33     next1:
34         inc di
35         xor cx,cx
36         mov cx,N-1
37         sub cx,si
38         cmp di,cx
39         jbe flag2
40 
41     next2:
42         inc si
43         cmp si,N-1
44         jbe flag1
45 
46     exit:
47         mov ah,4ch
48         int 21H
49 CODES ends
50     end START
51 ;===============================

 

posted @ 2019-01-10 13:54  粥里有勺糖  阅读(719)  评论(0编辑  收藏  举报