「MOS 6502」の版間の差分

提供:MonoBook
ページの作成:「'''MOS 6502'''とは、アメリカのモステクノロジーが1975年に発表した8ビットのマイクロプロセッサ、いわゆるCPUです。頭…」
 
8行目: 8行目:


== レジスタ ==
== レジスタ ==
通常レジスタ
; 通常レジスタ
 
MOS 6502は、主に3つの8ビットレジスタを持っています。Aレジスタは[[アキュムレータ]]であり、XレジスタおよびYレジスタは[[インデックスレジスタ]]として機能します。
MOS 6502は、主に3つの8ビットレジスタを持っています。Aレジスタは[[アキュムレータ]]であり、XレジスタおよびYレジスタは[[インデックスレジスタ]]として機能します。
{| class="wikitable"
{| class="wikitable"
54行目: 53行目:
|◯
|◯
|}
|}
特殊レジスタ
<nowiki>*</nowiki> PCレジスタ = これは16ビットレジスタで、次に実行する命令のメモリアドレスを保持します。
<nowiki>*</nowiki> Sレジスタ = これはスタックの現在の位置を指すために使用されます。
<nowiki>*</nowiki> Pレジスタ = これは各種のフラグ(キャリー、ゼロ、割り込み禁止、十進モード、ブレーク、オーバーフローなど)を保持します。


ゼロページ
; 特殊レジスタ
* PCレジスタ = これは16ビットレジスタで、次に実行する命令のメモリアドレスを保持します。
* Sレジスタ = これはスタックの現在の位置を指すために使用されます。
* Pレジスタ = これは各種のフラグ(キャリー、ゼロ、割り込み禁止、十進モード、ブレーク、オーバーフローなど)を保持します。


; ゼロページ
6502には「[[ゼロページ]]」という機能が搭載されており、メモリの先頭から256バイトをAレジスタと様々な計算ができるようになっています。つまり「256個の仮想的な[[レジスタ]]」とを余分に持っているとも言えます。
6502には「[[ゼロページ]]」という機能が搭載されており、メモリの先頭から256バイトをAレジスタと様々な計算ができるようになっています。つまり「256個の仮想的な[[レジスタ]]」とを余分に持っているとも言えます。

2024年7月18日 (木) 01:26時点における版

MOS 6502とは、アメリカのモステクノロジーが1975年に発表した8ビットのマイクロプロセッサ、いわゆるCPUです。頭文字なし、数字だけで単に「6502」と表記されることも多々あります。

この6502はアップルApple IIを筆頭にコモドールPET 2001CBM3032VIC-1001などに採用され全米で大人気となりました。

一方で日本ではZ80マイコン市場を席巻し、6502の採用事例はほとんどありませんでした。後に日本では「無名であり」「技術者がいなく」「マイコンもほとんど流通していない」ことから「事実上なコピープロテクトになる」という理由でファミコンPCエンジンなどの家庭用ゲーム機にカスタム品が採用されています。また、保通協のない時代の一部のパチンコ遊技機にも採用されていた事例があるようです。

6502は、モトローラMC6800をモデルに、レジスタセットの簡素化を図り、多彩なアドレッシングモードと良く練られたパイプライン機構を持ち、同時期に設計された同一程度動作クロックの他CPU (MPU) 群に比べて格段に高速に演算処理を実行できました。

レジスタ

通常レジスタ

MOS 6502は、主に3つの8ビットレジスタを持っています。Aレジスタはアキュムレータであり、XレジスタおよびYレジスタはインデックスレジスタとして機能します。

Load

Store

Add

Sub

Logical Shift

Rotate

Compare Inc

Dec

Addr

Offset

Aレジスタ
Xレジスタ
Yレジスタ
特殊レジスタ
  • PCレジスタ = これは16ビットレジスタで、次に実行する命令のメモリアドレスを保持します。
  • Sレジスタ = これはスタックの現在の位置を指すために使用されます。
  • Pレジスタ = これは各種のフラグ(キャリー、ゼロ、割り込み禁止、十進モード、ブレーク、オーバーフローなど)を保持します。
ゼロページ

6502には「ゼロページ」という機能が搭載されており、メモリの先頭から256バイトをAレジスタと様々な計算ができるようになっています。つまり「256個の仮想的なレジスタ」とを余分に持っているとも言えます。