汇编语言---冒泡排序

DATAS SEGMENT
    A DW 49,1,42,3,4,5,6,7,8;此处输入数据段代码  
    n=($-a)/2
DATAS ENDS


STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS


CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX ;将BX中的内容以10进制输出
    MOV CX,N
    MOV BP,0
 NEXT:MOV BX,DS:A[BP]
    MOV AX,BX
    MOV SI,10
    MOV DI,0
 NEXTO:MOV DX,0
      DIV SI
      PUSH DX
      INC DI
      CMP AX,0
     JNZ NEXTO
 NEXTO1:POP DX
       ADD DL,30H
       MOV AH,02
       INT 21H
       DEC DI
       JNZ NEXTO1
       MOV AH,02
       MOV DL," "
       INT 21H
       ADD BP,2
       DEC CX
       JNZ NEXT
  
      
      
    
             mov cx,n
          dec cx
 loop1:mov di,cx
       ;MOV SI,0
            mov bx,0
 loop2:mov ax,a[bx]
            cmp ax,a[bx+2]
             jLe cotinue
            xchg ax,a[bx+2]
            ;MOV SI,1
Mov a[bx],ax
Cotinue:add bx,2
                 loop  loop2
                 mov cx,di
               ; CMP SI,0
               ; JZ AAAA
                 
                 loop loop1
             AAAA:   MOV AH,02
                MOV DL,0DH
                INT 21H
                MOV AH,02
                MOV DL,0AH
                INT 21H 
                 
                   MOV CX,N
    MOV BP,0
 NEXTI:MOV BX,DS:A[BP]
    MOV AX,BX
    MOV SI,10
    MOV DI,0
 NEXTIO:MOV DX,0
      DIV SI
      PUSH DX
      INC DI
      CMP AX,0
     JNZ NEXTIO
 NEXTIO1:POP DX
       ADD DL,30H
       MOV AH,02
       INT 21H
       DEC DI
       JNZ NEXTIO1
       MOV AH,02
       MOV DL," "
       INT 21H
       ADD BP,2
       DEC CX
       JNZ NEXTI
  
 ;此处输入代码段代码
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START
汇编语言---冒泡排序_第1张图片

你可能感兴趣的:(汇编语言)