汇编写冒泡排序

来源:互联网 发布:msde和sql 编辑:程序博客网 时间:2024/04/30 21:17
        .model small        .stack        .datastring1  db 'Before Array sort :',0dh,0ah,'$'string2  db 'After Array sort :',0dh,0ah,'$'string3  db 0dh,0ah,'$'array    db 56h,23h,37h,78h,0ffh,0,12h,99h,64h,0b0h         db 78h,80h,23h,1h,4h,0fh,2ah,46h,32h,42hcount    equ($-array)/type array;计算数据个数        .code                ALdisp proc        push ax        push cx        push dx        push ax        mov dl,al        mov cl,4        shr dl,cl        or dl,30h        cmp dl,39h        jbe aldisp1        add dl,7aldisp1:mov ah, 2        int 21h        pop dx        and dl,0fh        or dl,30h        cmp dl,39h        jbe aldisp2        add dl,7aldisp2: mov ah,2        int 21h        pop dx        pop cx        pop ax        retALdisp  endp         ShuChu proc         push bx         push ax         push cx         push dx         mov bx,offset array         mov cx,countdisplp:mov al,[bx]              call ALdisp        mov dl,','        mov ah,2        int 21h        inc bx        loop displp        mov dx,offset string3        mov ah,09h        int 21h        pop dx        pop cx        pop bx        pop ax        ret ShuChu  endp        .startup        ;not_use macro        mov dx,offset string1        mov ah,09h        int 21h        call ShuChu        mov dx,offset string2        mov ah,09h        int 21h        mov cx,count        dec cxoutlp:  mov dx,cx        mov bx,offset arrayinlp:   mov al,[bx]        cmp al,[bx+1]        jna next        xchg al,[bx+1]        mov [bx],alnext:   inc bx        dec dx        jnz inlp        loop outlp        ;endm        mov bx,offset array        mov cx,countdisplp:mov al,[bx]              call ALdisp        mov dl,','        mov ah,2        int 21h        inc bx        loop displp        .exit 0        end

0 0
原创粉丝点击