69,371
社区成员
发帖
与我相关
我的任务
分享
//code:1
int main(int argc, char **argv)
{
int i=1;
int j=0;
int s;
s=i>j?i:j;
return 0;
}
//code:2
int main(int argc, char **argv)
{
int i=1;
int j=0;
int s;
if (i>j) s=i;
else s=j; //比code:1多1行
return 0;
}
5781: int i=1;
004104E8 mov dword ptr [ebp-4],1
5782: int j=0;
004104EF mov dword ptr [ebp-8],0
5783: int s;
5784: s=i>j?i:j;
004104F6 mov eax,dword ptr [ebp-4]
004104F9 cmp eax,dword ptr [ebp-8]
004104FC jle main+36h (00410506)
004104FE mov ecx,dword ptr [ebp-4]
00410501 mov dword ptr [ebp-10h],ecx
00410504 jmp main+3Ch (0041050c)
00410506 mov edx,dword ptr [ebp-8]
00410509 mov dword ptr [ebp-10h],edx
0041050C mov eax,dword ptr [ebp-10h]
0041050F mov dword ptr [ebp-0Ch],eax
5785: return 0;
00410512 xor eax,eax
5786: }
5789: int i=1;
004104E8 mov dword ptr [ebp-4],1
5790: int j=0;
004104EF mov dword ptr [ebp-8],0
5791: int s;
5792: if (i>j) s=i;
004104F6 mov eax,dword ptr [ebp-4]
004104F9 cmp eax,dword ptr [ebp-8]
004104FC jle main+36h (00410506)
004104FE mov ecx,dword ptr [ebp-4]
00410501 mov dword ptr [ebp-0Ch],ecx
5793: else s=j;
00410504 jmp main+3Ch (0041050c)
00410506 mov edx,dword ptr [ebp-8]
00410509 mov dword ptr [ebp-0Ch],edx
5794: return 0;
0041050C xor eax,eax
5795: }
_asm
{
mov eax,dword ptr [ebp-4]
mov edx,dword ptr [ebp-8]
cmp eax,edx
jle aa
mov dword ptr [ebp-0Ch],eax
jmp bb
aa:
mov dword ptr [ebp-0Ch],edx
bb:
}
int main(int argc, char **argv)
{
int i=1;
int j=0;
int s = j;
if(i>j)
s = i;
return 0;
}
int
main()
{
int i = 1, j = 2;
int m = i > j ? i : j;
if(i > j)
m = i;
else
m = j;
return 0;
}
main:
pushl %ebp
movl %esp, %ebp
subl $16, %esp
movl $1, -4(%ebp)
movl $2, -8(%ebp)
# ?:
movl -4(%ebp), %eax
cmpl %eax, -8(%ebp)
cmovge -8(%ebp), %eax
movl %eax, -12(%ebp)
#end :?
# if else
movl -4(%ebp), %eax
cmpl -8(%ebp), %eax
jle .L2
movl -4(%ebp), %eax
movl %eax, -12(%ebp)
jmp .L3
.L2:
movl -8(%ebp), %eax
movl %eax, -12(%ebp)
# end ifelse
.L3:
movl $0, %eax
leave
ret