Intel 문법으로 한다면

     XCHG AH, AL
     ROL EAX
     XCHG AH, AL

또 다른 방법

      BSWAP EAX

또 다른 방법

      ROL AX, 8
      ROL EAX, 16
      ROL AX, 8



/*
Code by JaeHyuk Cho
Swap4
*/
                                                                                                     
#include <stdio.h>
                                                                                                     
int main(int s_Argc, char *s_Argv[]);
                                                                                                     
static unsigned long __Swap4__(unsigned long s_DWORD)
{
__asm__ volatile(
  "\n\t"
  "xchgb %%ah, %%al\n\t"
  "roll $16, %%eax\n\t"
  "xchgb %%ah, %%al\n\t"
  "\n\t"
  : "=a"(s_DWORD)
  : "a"(s_DWORD)
);
return(s_DWORD);
}
                                                                                                     
int main(int s_Argc, char *s_Argv[])
{
unsigned long s_DWORD = 0x12345678;
fprintf(stdout, "Original = %08lXH\n", s_DWORD);
s_DWORD = __Swap4__(s_DWORD);
fprintf(stdout, "After swap = %08lXH\n", s_DWORD);
return 0;
}
                                                                                                     
/* End of source */
크리에이티브 커먼즈 라이센스
Creative Commons License
Writer profile
修身齊家治國平天下 (수신제가치국평천하)
匠人精神 (장인정신)
도구의 결함은 장인의 손으로 극복한다.
창조는 지식보다 위대하다.
2007/05/01 02:44 2007/05/01 02:44
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.minzkn.com/rss/response/24

댓글+트랙백 ATOM :: http://blog.minzkn.com/atom/response/24

트랙백 주소 :: http://blog.minzkn.com/trackback/24

트랙백 RSS :: http://blog.minzkn.com/rss/trackback/24

트랙백 ATOM :: http://blog.minzkn.com/atom/trackback/24

댓글을 달아 주세요

댓글 RSS 주소 : http://blog.minzkn.com/rss/comment/24
댓글 ATOM 주소 : http://blog.minzkn.com/atom/comment/24
[로그인][오픈아이디란?]