彙編-氣泡排序
阿新 • • 發佈:2018-11-23
氣泡排序程式實現:使陣列的數從大到小的順序排序
data segment a dw 20 dup(?) ;20個數據比較 data ends code segment assume cs:code, ds:data main proc far start: ;set up stack for return ;保留現場,資料入棧 push ds sub ax, ax push ax ;?? mov ax, data mov ds, ax ;program started-------------------------------------------------- mov cx, 20 ;n個數據需要比較的最大次數=n(n+1)/2 dec cx loop1: *mov di, cx* mov bx, 0 mov cx,19 *loop2: mov ax, a[bx] cmp ax, a[bx+2] jge continue xchg ax, a[bx+2] mov a[bx], ax continue: add bx, 2 loop loop2* *mov cx, di* loop loop1 ret main endp code ends end start