IT用語集 › プログラミング › 未定義命令(イリーガルオペコード)

未定義命令(イリーガルオペコード)

プログラミング Svenska → 更新: 2026-10-23

MOS 6502/6510の非公式命令。シーンのコーダーたちはこれを悪用し、メーカーの想定を超えて詰まった高速なコードを書いた。

6502の命令デコーダーには定義されないビットパターンが大量に残されていたが、それでも何かしらの動作をし、しばしば二つのことを同時に行った。LAXはAレジスタとXレジスタを一度にロードし、SAXは両者のANDをメモリに書き込んだ。一サイクルが貴重なプロセッサでは、これはタダの速度とバイトの節約だった。

MOSはこれらを文書化せず、保証もしなかったが、C64の6510では安定していて土台にできるほどだった。デモシーンはlinecrunchやVSPのような際どいルーチンで遠慮なく使った。のちの65C02などの6502系では同じビットパターンに正規の命令が割り当てられ、コードは動かなくなった。約束されていないものに頼った代償である。

← 用語集に戻る