| [ CnUnix ] in KIDS 글 쓴 이(By): terzeron (microkid) 날 짜 (Date): 2002년 11월 21일 목요일 오전 11시 36분 09초 제 목(Title): Re: [질문] 다음 어셈블리 설명 부탁.. asm (".byte 0x0f, 0x31" : "=A"(val)); 은 일단 두 부분으로 나뉩니다. .byte 부분은 0x0f와 0x31를 읽으라는 뜻인데 .byte 0x0f와 .byte 0x31로 분해됩니다. (이 부분의 정확한 뜻은 저도 잘 모르겠습니다. ASCII 코드 테이블의 인덱스일 수도 있고 intruction 테이블의 주소일 수도 있겠네요.) 어쨌든 이건 게스트분께서 설명하셨다시피 rdtsc와 같은 뜻입니다. rdtsc라는 instruction은 read timestamp counter의 뜻을 가지며 성능 측정을 위해 시간을 재는 instruction입니다. =A는 val이라는 변수를 64비트 출력변수로 지정한다는 뜻이고 32비트 레지스터 %eax와 %edx를 함께 사용하여 64비트 결과값을 val에 저장하게 됩니다. --- 어떤 성취가, 어떤 조롱이, 또는 어떤 고뇌가 나를 기다리고 있을지 나는 모른다. 나는 아무 것도 모른다. 그러나 나는 아직 과거의 경이로운 기적의 시대가 영원히 과거의 것이 되어 버리지는 않았다는 사실을 굳게 믿고 있다. - Stanislaw Lem - |