[問題] 請教8051指令的問題

看板ASM (組合語言)作者 (chenwei)時間13年前 (2011/09/15 21:01), 編輯推噓2(209)
留言11則, 5人參與, 最新討論串1/3 (看更多)
如標題 因為最近有買本8051的書自學 本人初學 書上有講到指令部分 我想請教一下關於指令長度與時間計算的問題 以下舉例 MOV A#data 指令長度:2Byte 執行時間:1週期 MOV A,Rn 指令長度:1Byte 執行時間:1週期 MOV A,direct 指令長度:2Byte 執行時間:1週期 MOV A,@Ri 指令長度:1Byte 執行時間:1週期 我想知道這指令長度與執行時間的週期次數是怎麼計算的? 研究了兩三天我還是不懂這指令長度與執行時間是怎麼計算的 還是這些是要直接背起來的? 希望高手協助 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.169.131.66

09/15 22:04, , 1F
沒有關聯,完全看各家CPU指令解碼器跟解算邏輯而定
09/15 22:04, 1F

09/15 22:05, , 2F
你列的這個是INTEL的標準8051(原始版本)而各家的8051
09/15 22:05, 2F

09/15 22:05, , 3F
除非標明增強或超級8051外大多依照這個規則,但是實際產
09/15 22:05, 3F

09/15 22:06, , 4F
品用的8051就各自為政有快有慢了。
09/15 22:06, 4F

09/15 22:31, , 5F
所以樓上的意思是計算這些並不是在學習8051中必要知道的?
09/15 22:31, 5F

09/15 22:37, , 6F
你會發現程式發呆的時間比真正運作的時間多很多倍
09/15 22:37, 6F

09/15 23:31, , 7F
當你要用來延時的時候查表就好,沒必要鑽牛角尖。
09/15 23:31, 7F

09/17 01:57, , 8F
指令長度是計算消耗多少空間的,執行週期是看花多少時間
09/17 01:57, 8F

09/17 01:58, , 9F
除了寫傳輸、delay和timer外, 很少去刻意精算消耗時間
09/17 01:58, 9F

09/27 00:03, , 10F
看你用哪家的mcu,把指令集印出查表即可,每家都不同.
09/27 00:03, 10F

09/27 00:05, , 11F
算執行時間主要用在特定程序, 指令長度....縮code ?!
09/27 00:05, 11F
文章代碼(AID): #1ESVT5rk (ASM)
文章代碼(AID): #1ESVT5rk (ASM)