メモリセルとハードウェアレジスタ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/27 08:54 UTC 版)
「PEEKとPOKE」の記事における「メモリセルとハードウェアレジスタ」の解説
POKEまたはPEEKされるアドレス位置は、通常のメモリセルや、対応するチップ(I/Oユニット、サウンドチップ、ビデオグラフィックスチップなど)のメモリマップされたハードウェアレジスタ、CPU自体のメモリマップされたレジスタを参照することができる(これにより、強力な機械語モニタやデバッグツール、シミュレーションツールをソフトウェアで実装することが可能になる)。以下は、POKEによる対応チップ制御の一例として、コモドール64の内蔵VIC-II(英語版)グラフィックスチップの特定のレジスタを操作して、画面の境界線を黒くするコマンドの例である。 POKE 53280, 0 以下は、Atari 8ビット・コンピュータでANTIC(英語版)ディスプレイドライバに、全てのテキストを上下逆さまにするように指示するコマンドである。 POKE 755, 4 ハードに紐付けられたメモリ位置は機種によって異なるため、様々な機種の「メモリマップ」は重要な文書である。定型的な例として、アタリのコンピュータの64キロバイトのメモリ全体をロケーションごとにマッピングした本『マッピング・オブ・アタリ(英語版)』が出版されている。 一般的に、ユーザプログラム、ユーザデータ、オペレーティングシステムのコードとデータ、メモリマップされたハードウェアユニットのために指定されたメモリアドレス領域は、機種によって異なる。このため、PEEK関数やPOKEコマンドは本質的に非移植性であり、これらを使用したプログラムは、そのプログラムが書かれたシステム以外ではほぼ確実に動作しない。
※この「メモリセルとハードウェアレジスタ」の解説は、「PEEKとPOKE」の解説の一部です。
「メモリセルとハードウェアレジスタ」を含む「PEEKとPOKE」の記事については、「PEEKとPOKE」の概要を参照ください。
- メモリセルとハードウェアレジスタのページへのリンク