为什么有些 8051 程序以代码 "LOOP: SJMP LOOP" 结尾

Why do some 8051 program ends with the code "LOOP: SJMP LOOP"

目前看到的几乎所有简单的8051程序都以代码结尾 LOOP: SJMP LOOP.

根据我的理解,我认为上述指令通过一次又一次地调用同一条指令创建了一个无限循环。但是在程序末尾有无限循环的目的是什么,如果它一次又一次地保持 运行 那么程序什么时候终止。

你还能如何 "terminate" 或结束裸机程序?通常没有暂停或其他命令,处理器不会停止。 safest/cleanest 是让它无限循环(而不是仅仅在内存中徘徊试图执行它找到的东西)。

所以对于简单的教育 processor/microcontroller 程序,"end" 的程序,如果处理器没有停止,您可能希望以无限循环结束它们。大多数 mcus 永远不会停止它们 运行(它们可能会在低功耗状态下进入睡眠状态,但当您按下遥控器上的按钮或其他任何按钮时就会唤醒)。