6502の不正なオペコードの謎

2025-04-23

Commodore 64、Apple II、NESなどの名機を動かしたMOS 6502は、「不正な」オペコードで有名です。256個のオペコードのうち105個が未定義ですが、多くのものが有用な動作をします。多くの記事がその効果を文書化していますが、この記事はその起源を探ります。6502の内部Programmable Logic Array(PLA)を分析することで、著者はこれらの文書化されていない命令がチップ設計からどのように生じるのかを明らかにします。「LAX」命令(LDAとLDXの組み合わせ)や「KIL」オペコード(CPUを停止させる)などの例が説明され、6502のアーキテクチャが意図せず機能的な、ただし未定義の命令を作成したことが示されます。

ハードウェア