| [ CnUnix ] in KIDS 글 쓴 이(By): guest (guest) <210.118.82.100> 날 짜 (Date): 2002년 11월 21일 목요일 오전 09시 53분 55초 제 목(Title): Re: [질문] 다음 어셈블리 설명 부탁.. #define gethrtime(x) {asm volatile (".byte 0x0f, 0x31" : "=A" (x));} 을 다음과 같이 써도 똑 같습니다. #define gethrtime(x) { asm volatile ("rdtsc" : "=A" (x)); } rdtsc가 64bit value를 가져와서 eax와 edx에 넣어주는데, =A는 이 두 register를 통합한 register이고요. 이 값을 x에 넣어주는 macro이군요. 옛날엔 =a, =d로 두번에 걸쳐서 옮겼는데 지금은 이렇게 한번에 옮기는 걸로 쓸 수 있게 된 것 같습니다. 실제 생성되는 code는 똑 같고요. |