This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
第一,你的测试方法有问题,RPT汇编语句如果是立即数测试方式,操作数应该是一个8位数据,最大不超过255,所以你给256就溢出魏0了,给511就又溢出为255了。
第二,你用timer测试,看到的执行系统时钟数会多一个系统时钟,所以nop指令其实只占用一个系统时钟
第三,如果是 RPT #0 || NOP,那就会占用两个系统时钟,因为RPT指令如果操作数是立即数,本身就会占用一个系统时钟,然后NOP还会占用一个系统时钟。所以这就是为什么你测试出来这个语句是3个系统时钟的原因,但是无论立即数是多少,RPT指令执行一次就占用一个系统时钟,区别只是NOP重复多少次。
建议你好好阅读C2000汇编语言手册:SPRU430E