我的练习:•使用三个环@ 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
哪个架构是?将它添加到标签 –