Re: [問題] C 語言有機械週期嗎??
※ 引述《hotpot21 (小新)》之銘言:
: 只知道組合語言有機械週期
: 請問C 也有嗎? 指令的cycle等等..
: 哪裡有相關資料?
: 感謝!!
(以下 C語言 使用在 8051)
compiler後,
看到Program Size: data=41.5 xdata=0 code=8869 這一行
1.是不是上面的數字減少 就表示程式執行的速度就會加快一些??
2.將 int 改成 char , 上面code值有減少 ,也有算是加快一點點點點點???
3.副程式可使用在陣列嗎? 怎麼宣告? 宣告為哪種型態? 例: CODE[]={ light(),... };
3.要怎麼知道哪些指令是關係到 data ,哪些關係到 xdata ,哪些關係code?
最終目的:加快程式執行速度
4.有哪些方法??
5.知道加可以"組語", 但不會用= = 試過還是會出現錯誤 怎樣做才算完全正確?
(以下是我僅知道的作法)
#pragma src //在int main 前 加上
int main()
{
.
.
.
# pragma asm //使用組語開頭加
.
.
.
# pragma endasm //使用組語結束後加
}
6.組語的Delay 副程式 設定為10ms
但隨著動作變化需要的value (value*10ms) 怎麼加 C 裡面?
難道要
R5, #10 // 10為value
call Delay
這段直接加C程式裡面?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.40.202.249
討論串 (同標題文章)