.model small
.stack
.data
string1 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,42h
count 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,7
aldisp1:mov ah, 2
int 21h
pop dx
and dl,0fh
or dl,30h
cmp dl,39h
jbe aldisp2
add dl,7
aldisp2: mov ah,2
int 21h
pop dx
pop cx
pop ax
ret
ALdisp endp
ShuChu proc
push bx
push ax
push cx
push dx
mov bx,offset array
mov cx,count
displp: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 cx
outlp: mov dx,cx
mov bx,offset array
inlp: mov al,[bx]
cmp al,[bx+1]
jna next
xchg al,[bx+1]
mov [bx],al
next: inc bx
dec dx
jnz inlp
loop outlp
;endm
mov bx,offset array
mov cx,count
displp:mov al,[bx]
call ALdisp
mov dl,','
mov ah,2
int 21h
inc bx
loop displp
.exit 0
end
汇编写冒泡排序
最新推荐文章于 2023-12-09 12:36:02 发布