程序中的MASM数组崩溃程序

时间:2013-09-03 02:08:55

标签: assembly x86 masm

每当我执行一个程序中有一个数组的代码时,我都会崩溃,而且我不确定我做错了什么。我之前已经成功完成了这项任务,但是我的新实现使它失败并且崩溃了。

这是主要的部分,用于设置整个事物:

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

这与我过去访问数组的方式非常相似......我做错了什么?

1 个答案:

答案 0 :(得分:0)

为什么使用EBP注册?返回地址在ESP中,error_1在ESP + 4中,error_2在ESP + 8中,您的测试者在ESP + 0C中......