x86_64総合at LINUX
x86_64総合 - 暇つぶし2ch308: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