冒泡排序问题
y:ptr dword,
h:dword
mov ecx,h
dec ecx
l1:push ecx
mov esi,y
l2:mov eax,[esi]
cmp [esi+4],eax
jg l3
xchg eax,[esi+4]
mov [esi],eax
l3:add esi,4
loop l2
pop ecx
loop l1
l4:ret
yang endp
问题1 这段程序整个是在利用栈操作吗
问题2 其中eax在这里起到什么作用?
问题3 add esi,4是起到交换作用的吗?是的话我怎么也想不明白这样就能交换2个数。
问题4 ecx是被用作计数器吧,循环几次?如果不是用作计数那是做什么的?
mov ecx,h
dec ecx
l1:push ecx
这个已经被压入栈了还能计数?