2
これまでに見たシンプルな8051プログラムのほとんどは、コード LOOP: SJMP LOOP
で終わっています。なぜ8051プログラムは "LOOP:SJMP LOOP"というコードで終了するのですか?
上記の命令は、同じ命令を繰り返し呼び出すことによって無限ループを作成すると私は理解していると思います。しかし、プログラムの終わりに無限ループを持ち、何度も何度も実行し続けると、いつプログラムが終了するのか、という目的は何か。
最後の命令の後でプログラムがランダム/セミランダムデータの実行を継続しないようにします。 CPUはそれをすべてデータとみなし、メモリ内にあるものを実行しようとします。したがって、未定義の動作が発生します。プロセッサをループ状に配置することで、メモリに残っているものが無駄にCPUをさまようのを防ぐことができます。 –