assembly 延迟循环打印程序集中的整数

bbmckpt7  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(132)

我想为ARM Cortex M4架构编写一个快速汇编程序,每2秒打印一个连续整数。因此,每2秒打印1、2,依此类推。由于该架构为32 MHz,我知道2秒将有64,000,000个周期。我想使用延迟环路,尽管我知道这不是很有效率。我有一个C文件,它将打印结果,而不是在汇编文件中打印,这个函数被称为fprint。我想如果我看到了解决方案(我只是不知道如何得到),它将在我的汇编之旅中帮助我。
谢谢你的帮助!

mwngjboj

mwngjboj1#

请尝试以下操作:

delay_2s:
        ldr     r0, =32000000
loop:   subs    r0, r0, #1
        bnz     loop
        bx      lr

注意,一次迭代的持续时间可能因所使用的微体系结构而异。我在这里将其设置为每次迭代两个周期,但也可以是每次迭代三个周期。

相关问题