※ 引述《ast (ast)》之銘言:
> ※ 引述《visor.bbs@bbs.yzu.edu.tw (再混,就當掉 ~)》之銘言:
> > *n = *n++ + --*n;
> > 拆開來
> > --*n;
> > *n = *n + *n;
> > n++;
> >
> 多謝各位先進的指導~~
> 最後一問
> *n = 12;
> *n = --*n + --*n + --*n;
> 以上面的推得下面....
> --*n;
> --*n;
> --*n;
> *n = *n + *n + *n ;
> 會是 *n = 9 + 9 + 9;???
> 先去實驗一下....
> 結果是29 @@"
跟據我編成組語 gcc -S xxx.c 的結果,可以看出29是怎麼來的
fun1:
pushl %ebp
movl %esp, %ebp
pushl %ebx
movl 8(%ebp), %ecx
movl 8(%ebp), %edx
decl (%edx)
movl 8(%ebp), %eax
decl (%eax)
movl (%eax), %eax
movl (%edx), %edx
addl %eax, %edx
movl 8(%ebp), %eax
decl (%eax)
movl (%eax), %ebx
leal (%ebx,%edx), %eax
movl %eax, (%ecx)
popl %ebx
popl %ebp
ret
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: adsl-61-66-8-240.nh.sparqnet.net