- 308 名前:login:Penguin mailto:sage [2007/12/08(土) 17:36:06 ID:BpRfKoKi]
- >>304
・"=a"(eax), "=d"(edx) の代わりに "=a"(((unsigned long *)&X)[0]), "=d"(((unsigned long *)&X)[1]) とする も試してみたけれど出力結果がおかしくなった (Xeon だと連続して実行したときに RDTSC の値が戻ったことがあった Athlon X2 だと常に 0 と表示された) 見た感じコンパイル結果のアセンブリは正しそうに見えるのに 何か値が未定義になる要素があるのだろうか? #APP cpuid rdtsc #NO_APP movl %eax, -4(%rsp) movl %edx, -8(%rsp) movl $.LC0, %edi movq -8(%rsp), %rsi xorl %eax, %eax popq %rbx jmp printf
|

|