我的練習:•使用三個環@ 1 MHz時鐘頻率計算可能的最大延遲。 (回答49.94 S)計算來自3個嵌套環路的延遲
delay: ldi r23,$FF ;Initialise 3rd loop counter
loop3: ldi r24,$FF ;Initialise 2nd loop counter
loop2: ldi r25,$FF ;Initialise 1st loop counter
loop1: dec r25 ;Decrement the 1st loop counter
brne loop1 ;and continue to decrement until 1st loop counter = 0
dec r24 ;Decrement the 2nd loop counter
brne loop2 ;If the 2nd loop counter is not equal to zero repeat the 1st loop, else continue
dec r23
brne loop3
ret ;Return
我試圖計算使用這些3路,答案顯然是49.94秒和我真的很掙扎它與2個嵌套循環簡單得多的最大延時。
這是我所嘗試過的,但答案很遙遠。
33*((255*3)-1) + 17*((33*3)-1) + 11*3
ldi
- 1個時鐘週期,brne
1或2個時鐘週期
架構:ATmega8535的
'ldi r23,$ FF;初始化第三循環計數器17' < - 您的評論與代碼不匹配。您在嘗試計算時也使用了17和33。你從哪裏得到這些價值?如果你想盡可能延遲,不應該把計數器初始化爲0嗎? – Michael
哪個架構是?將它添加到標籤 –