[resolved] waitpeq
kuroneko
Posts: 3,623
The following code fragment, gives me a difference of 4 between after and before:
the next one results in 8
which is all expected (i.e. NOP consumes an extra 4 cycles).
This one however
gives me 10 and not the expected 9. So the question is, why does waitpeq consume 6 cycles when the data sheet states 5+ (which I read as 5 minimum)?
Post Edited (kuroneko) : 5/19/2008 11:44:59 PM GMT
entry mov before, CNT mov after, CNT
the next one results in 8
entry mov before, CNT nop mov after, CNT
which is all expected (i.e. NOP consumes an extra 4 cycles).
This one however
entry mov before, CNT waitpeq :null, #0 mov after, CNT :null long 0
gives me 10 and not the expected 9. So the question is, why does waitpeq consume 6 cycles when the data sheet states 5+ (which I read as 5 minimum)?
Post Edited (kuroneko) : 5/19/2008 11:44:59 PM GMT
Comments
Nope, same result.
So is there a situation where 5+ holds true or should I always read this as 6+? I also noticed that the shortest delay for waitcnt (i.e. without waiting for CNT to wrap) causes waitcnt itself to consume 6 cycles. Which makes me believe that at least waitp* and waitcnt are 6+ while waitvid is still an unknown but probably in the same league.
Edit: waitp* issue has been resolved (6+) http://forums.parallax.com/showthread.php?p=727279
Post Edited (kuroneko) : 5/19/2008 11:44:26 PM GMT