【发布时间】:2014-12-06 16:52:48
【问题描述】:
我在这里的任务是添加一个使用插入排序对数组进行排序的代码。 'printf' 函数打印一个字符串 printArray 打印数组
由于某种原因,数组没有得到排序,我找不到原因。 我们将不胜感激。
main:
push MSG ; print welcome message
call printf
add esp,4 ; clean the stack
call printArray ;print the unsorted array
;;;;;;;;;;add code here;;;;;;;;;;
mov eax,1
loop1:
mov ebx, array
add ebx, eax
loop2:
mov esi, ebx
dec esi
mov esi, [esi] ;esi holds the value before what ebx points to
cmp [ebx], esi
ja endLoop2
mov edx, esi
mov esi, ebx
dec esi
mov ecx, [ebx]
mov [esi], ecx
mov [ebx], edx
dec ebx
cmp ebx, array
ja loop2
endLoop2:
inc eax
cmp eax, 11
jbe loop1
;;;;;;;end of your code;;;;;;;;;;;;;;
call printArray
mov eax, 1 ;exit system call
int 0x80
【问题讨论】:
标签: arrays sorting assembly insertion-sort