每当我执行一个程序中有一个数组的代码时,我都会崩溃,而且我不确定我做错了什么。我之前已经成功完成了这项任务,但是我的新实现使它失败并且崩溃了。
这是主要的部分,用于设置整个事物:
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
这与我过去访问数组的方式非常相似......我做错了什么?
答案 0 :(得分:0)
为什么使用EBP注册?返回地址在ESP中,error_1在ESP + 4中,error_2在ESP + 8中,您的测试者在ESP + 0C中......