69,371
社区成员
发帖
与我相关
我的任务
分享
48: int i1 = 0x45;
0040D4E8 mov dword ptr [ebp-4],45h
49: int i2 = 0x34;
0040D4EF mov dword ptr [ebp-8],34h
50: if (i1 > -1 - i2)
0040D4F6 or eax,0FFh ;此处eax的值就是-1? eax的高位的值不确定吧?
0040D4F9 sub eax,dword ptr [ebp-8]
0040D4FC cmp dword ptr [ebp-4],eax
0040D4FF jle main+3Eh (0040d50e)
51: printf("hello\n");
0040D501 push offset string "%s\n" (004230fc)
0040D506 call printf (004011b0)
0040D50B add esp,4
int i1 = 0x45;
int i2 = 0x34;
if (i1 > -1 - i2)
printf("hello\n");
48: int i1 = 0x45;
0040D4E8 mov dword ptr [ebp-4],45h
49: int i2 = 0x34;
0040D4EF mov dword ptr [ebp-8],34h
50:
51: i1 |= 0xffff;
0040D4F6 mov eax,dword ptr [ebp-4]
0040D4F9 or eax,0FFFFh
0040D4FE mov dword ptr [ebp-4],eax
int main()
47: {
0040D4D0 push ebp
0040D4D1 mov ebp,esp
0040D4D3 sub esp,48h
0040D4D6 push ebx
0040D4D7 push esi
0040D4D8 push edi
0040D4D9 lea edi,[ebp-48h]
0040D4DC mov ecx,12h
0040D4E1 mov eax,0CCCCCCCCh
0040D4E6 rep stos dword ptr [edi]
48: int i1 = 0x45;
0040D4E8 mov dword ptr [ebp-4],45h
49: int i2 = 0x34;
0040D4EF mov dword ptr [ebp-8],34h
50:
51: if (i1 > -1 - i2)
0040D4F6 or eax,0FFh
0040D4F9 sub eax,dword ptr [ebp-8]
0040D4FC cmp dword ptr [ebp-4],eax
0040D4FF jle main+3Eh (0040d50e)
52: printf("hello\n");
0040D501 push offset string "%s\n" (004230fc)
0040D506 call printf (004011b0)
0040D50B add esp,4
53:
54:
55: system("pause");
0040D50E push offset string "hello\n" (0042201c)
0040D513 call system (00401270)
0040D518 add esp,4
56: return 0;
0040D51B xor eax,eax
57: }
int i1 = 0x45;
0041149E mov dword ptr [i1],45h
int i2 = 0x34;
004114A5 mov dword ptr [i2],34h
if (i1 > -1 - i2)
004114AC or eax,0FFFFFFFFh
004114AF sub eax,dword ptr [i2]
004114B2 cmp dword ptr [i1],eax
004114B5 jle main+4Eh (4114CEh)
48: int i1 = 0x45;
004010E8 mov dword ptr [ebp-4],45h
49: i1 |= 0xffff;
004010EF mov eax,dword ptr [ebp-4] ;eax == 0x00000045;
004010F2 or eax,0FFFFh ;执行完or语句之后eax == 0x0000ffff;可以看出0ffffh并没有扩展
004010F7 mov dword ptr [ebp-4],eax