CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): queue1 (가을소년)
날 짜 (Date): 2003년 6월 26일 목요일 오후 04시 04분 30초
제 목(Title): Re: 어느것이 더 효율적인지?



Tony님의 답변을 확인 해 봤습니다. (x86, gcc2.9.6, no optimization)
    a^=b^=a^=b;
  2a:   8b 55 f8                mov    0xfffffff8(%ebp),%edx
  2d:   8d 45 fc                lea    0xfffffffc(%ebp),%eax 
  30:   31 10                   xor    %edx,(%eax)
  32:   8b 55 fc                mov    0xfffffffc(%ebp),%edx
  35:   8d 45 f8                lea    0xfffffff8(%ebp),%eax
  38:   31 10                   xor    %edx,(%eax)   
  3a:   8b 55 f8                mov    0xfffffff8(%ebp),%edx
  3d:   8d 45 fc                lea    0xfffffffc(%ebp),%eax
  40:   31 10                   xor    %edx,(%eax) 

    t = a;
  2a:   8b 45 fc                mov    0xfffffffc(%ebp),%eax 
  2d:   89 45 f4                mov    %eax,0xfffffff4(%ebp)
    a = b;
  30:   8b 45 f8                mov    0xfffffff8(%ebp),%eax
  33:   89 45 fc                mov    %eax,0xfffffffc(%ebp)
    b = t;
  36:   8b 45 f4                mov    0xfffffff4(%ebp),%eax
  39:   89 45 f8                mov    %eax,0xfffffff8(%ebp) 
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.