0

プロシージャに配列を含むコードを実行すると必ずクラッシュしますが、何が間違っているのかわかりません。以前にこれを成功させたことがありますが、新しい実装では失敗し、激しくクラッシュします。

全体を設定する main の部分は次のとおりです。

push OFFSET list
push OFFSET looper
push OFFSET count
push tester
push OFFSET error_2
push OFFSET error_1
call validate 

そして、クラッシュする検証の部分は次のとおりです。

mov eax, [ebp + 16];
mov edx, [ebp+28]
mov ecx, [ebp+20]
mov [edx + 4 * ecx], eax ; this is the line that it crashes on

これは、過去に配列にアクセスしたのと本質的に同じ方法です....何が間違っているのでしょうか?

4

1 に答える 1

0

なぜ EBP レジスターを使用したのですか? リターンのアドレスは ESP で、error_1 は ESP+4 で、error_2 は ESP+8 で、テスターは ESP+0C で...

于 2013-09-03T04:43:52.303 に答える