2011-08-08 33 views
2

私はコンピューティング(ソフトウェア)理論に慣れていないので、この質問について考えました.PC(プログラムカウンタ)は常に変更する必要がありますか?プログラムカウンタは常に変更する必要がありますか?

私は(あわや:))、それを確認し、オンラインビットを検索し、Commodore 64 Programmers Reference Manualが見つかりました:「...コモドール64(または、そのことについては、任意のコンピュータ)、プログラムカウンタは常にを変えています」 (同様にChapter 6: Hard, soft or firm?);私はちょうどここでそれをコメントにしたいと思っていました。

命令がPC(またはむしろ次のPC)を設定した場合、次の実行アドレスが現在のものと同じであるため、そのループを終了する方法はありません(extern割り込みがない限り、もちろん)?

答えて

1

プログラムカウンタは、変更が必要なときに変更されます。あなたの現在の命令がしばらく時間がかかったり、あなたのプログラムが現在実行中のものでない場合(ほとんどのコンピュータは2つ以上の実行スレッドを実行していることに注意してください)、クロックティックごとに変更する必要はありません。

はい、自分自身を設定する一連の命令の先頭に自分自身を設定する一連の命令の先頭にPCが変更されるようにPCを変更します。見ていただけるように、これは無限ループ。これは、古い'20 GOTO 10 'の状況がほぼありました。

+0

それを得ました - 説明のために感謝、@ docmanhattan;乾杯! – sdaau

+0

「__10__ GOTO 10」はありませんか? –

1

一般に、プログラムカウンタはクロックティックごとに変更する必要はありません。命令は実行するために数クロック・ティックを取ることができ、それが終了するとプログラム・カウンタが変化する。

+0

ありがとう、@ネッドBatchelder - 乾杯! – sdaau