移位指令和乘法指令,誰快?
我用C語言編單片機程序,發(fā)現(xiàn)移位指令產(chǎn)生的匯編代碼,比乘法指令產(chǎn)生的代碼多.是不是意味運算速度變低了呢?可應(yīng)該移位指令速度更快啊?
全部回復(fù)(7)
正序查看
倒序查看
@hougollen
關(guān)于指令,并不能拿指令的長度來說明其速度,以51來說吧,他的指令集結(jié)構(gòu)就有以下幾種:單字節(jié)單周期指令;單字節(jié)雙周期指令;單字節(jié)四周期;雙字節(jié)單周期;雙字節(jié)雙周期;三字節(jié)雙周期共6種,其中字節(jié)大小表示其所占用的rom大小,而周期數(shù)則表征著指令的執(zhí)行速度.當然這個周期與你所選用的晶振頻率有關(guān)
我用codevision編譯器編譯.用AVRSudio仿真軟件計算運算時間.發(fā)現(xiàn)乘法指令比移位指令更快,而除法指令比移位指令慢.不知各位是否也發(fā)現(xiàn)這個?
0
回復(fù)