x86_64総合 at LINUX
[2ch|▼Menu]
308:login:Penguin
07/12/08 17:36:06 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


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5133日前に更新/171 KB
担当:undef