您的位置:首页 > 其它

从汇编中看出未初始化可能引起的错误

2010-10-19 23:37 405 查看
这个标题可能定义的不是很明确,在VS2005中看到的汇编代码可以看出,没有对循环变量i进行初始化或者赋初值的情况比起有的情况会多几条不同的汇编指令。这一点自己也不是很明白,但可以肯定的是我们不能够犯这么低级的错误。如果可以,欢迎提出见解。详情看代码:

代码

3 8: int c = a + b;
4 0041328E mov eax,dword ptr [a]
5 00413291 add eax,dword ptr [b]
6 00413294 mov dword ptr [c],eax
7 9: int i = 0; //对i进行初始化
8 00413297 mov dword ptr [i],0
16 17: do {
17 18: c += i;
18 0041329E mov eax,dword ptr [c]
19 004132A1 add eax,dword ptr [i]
20 004132A4 mov dword ptr [c],eax
21 19: i++;
22 004132A7 mov eax,dword ptr [i]
23 004132AA add eax,1
24 004132AD mov dword ptr [i],eax
25 20: } while ( c < 100 );
26 004132B0 cmp dword ptr [c],64h
27 004132B4 jl myfunction+2Eh (41329Eh)

31 8: int c = a + b;
32 00413295 mov eax,dword ptr [a]
33 00413298 add eax,dword ptr [b]
34 0041329B mov dword ptr [c],eax
35 9: int i; //未进行初始化的
43 17: do {
44 18: c += i;
45 0041329E cmp byte ptr [ebp-0DDh],0
46 004132A5 jne myfunction+44h (4132B4h)
47 004132A7 push offset (413300h)
48 004132AC call @ILT+165(__RTC_UninitUse) (4110AAh)
49 004132B1 add esp,4
50 004132B4 mov eax,dword ptr [c]
51 004132B7 add eax,dword ptr [i]
52 004132BA mov dword ptr [c],eax
53 19: i++;
54 004132BD cmp byte ptr [ebp-0DDh],0
55 004132C4 jne myfunction+63h (4132D3h)
56 004132C6 push offset (413300h)
57 004132CB call @ILT+165(__RTC_UninitUse) (4110AAh)
58 004132D0 add esp,4
59 004132D3 mov eax,dword ptr [i]
60 004132D6 add eax,1
61 004132D9 mov byte ptr [ebp-0DDh],1
62 004132E0 mov dword ptr [i],eax
63 20: } while ( c < 100 );
64 004132E3 cmp dword ptr [c],64h
65 004132E7 jl myfunction+2Eh (41329Eh)

68 9: int i;
69 10: i = 0; //赋值操作
70 00413297 mov dword ptr [i],0
78 18: do {
79 19: c += i;
80 0041329E mov eax,dword ptr [c]
81 004132A1 add eax,dword ptr [i]
82 004132A4 mov dword ptr [c],eax
83 20: i++;
84 004132A7 mov eax,dword ptr [i]
85 004132AA add eax,1
86 004132AD mov dword ptr [i],eax
87 21: } while ( c < 100 );
88 004132B0 cmp dword ptr [c],64h
89 004132B4 jl myfunction+2Eh (41329Eh)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐