[問題] ARM的timestamp
請問各位高手
我目前在做Android SDK(emulator)上執行Application的時間測試
基於一些考量因素,希望能用assembly取得time tag的方式
以增加精確度
原本在Linux平台上時用的模擬用程式使用X86 instruction 取得
也就是 rdtsc 這個指令(執行後將timestamp counter 放置 EAX)
但ARM的assembly並沒有類似的指令
我拜讀過google大神後有找到以下資料:
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0035a/BEIIFEHH.html
但看得不是很懂
我的理解是他原本就有在存timestamp,不用另外call instruction
但他說的register叫做"ETMTSEVR"
這個似乎不是ARM的register名稱
(我找過類似手冊的文件,ARM的register是r0~r15,r15是PC)
所以想請問"ETMTSEVR"真的是timestamp register嗎
如果是的話請問要怎麼取出
因為我有在program寫過這樣的指令
asm(mov %[result] ETMTSEVR : %[result] "=r"(a));
但在android-ndk的compile發生impossible constrain asm的錯誤訊息@@
先謝過大大將本篇落落長的問題看完
麻煩各位了m(_ _)m
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.37.141.8
※ 編輯: comaniac 來自: 114.37.141.8 (05/11 21:37)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
ASM 近期熱門文章
PTT數位生活區 即時熱門文章