2020FZU汇编语言学习–实验(三)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200405140515401.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDU4NjEzMg==,size_16,color_FFFFFF,t_70)
include Irvine32.inc
.data
tab dword 5,1,4,3,0,2
n equ ($-tab)/4
dat dword n dup(?)
.code
main proc
xor esi,esi
mov ecx,n
;将tab的数据复制到dat
again1:
mov eax,tab[esi]
mov dat[esi],eax
add esi,4
loop again1
;从大到小sort
mov ecx,n-1
again2:
mov edi,ecx
xor esi,esi
again3:
mov eax,dat[esi]
add esi,4
cmp eax,dat[esi]
jnge next ;从小到大排序
xchg eax,dat[esi]
mov dat[esi-4],eax
next:
mov esi,esi
loop again3
mov ecx,edi ;由于ecx的值在内部循环里已经被减至0,所以要重新质数为 n-1
loop again2
;输出排序后的数据
xor esi,esi
mov ecx,n
again4:
mov eax,dat[esi]
add esi,4
call writeint
loop again4
exit
main endp
end main