帮忙看看错在哪了(只有五行)
间谍 2003-12-05 02:26:16 .data?
array dd 16 dup(?)
buf db 100 dup(?)
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;代码段
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
.code
start:
xor ebx, ebx
inc ebx ;ebx置1
mov edx, 0dh ;edx置13
mov esi, ebx ;头指针
mov edi, edx ;尾指针
;初始化
mov ecx, edx
mov array[ecx], ebx
mov eax, edx
dec ecx
@init:
mov array[ecx], eax
dec eax
loop @init
;计算过程
mov ecx, edx
dec ecx
;删掉了前后无关的代码,问题就在下面这几行,编译通过后,总是非法写地址,我单步调试后,到mov esi, array[edi]这句,array[edi]的值莫名其妙的被更改了,实在搞不懂,大家帮忙看看。
@begin:
push array[esi]
pop array[edi]
mov edi, array[esi]
mov array[esi], ecx
mov esi, array[edi]
loop @begin