6502의 불법 Opcode의 미스터리
2025-04-23
Commodore 64, Apple II, NES와 같은 고전 게임기를 구동했던 MOS 6502는 '불법' Opcode로 유명합니다. 256개의 Opcode 중 105개가 정의되지 않았지만, 많은 것이 유용한 작업을 수행합니다. 많은 문서들이 그 효과를 기록하고 있지만, 이 글은 그 기원을 파헤칩니다. 6502의 내부 Programmable Logic Array(PLA)를 분석함으로써 저자는 이러한 문서화되지 않은 명령어들이 칩 설계에서 어떻게 발생하는지 밝힙니다. 'LAX' 명령어(LDA와 LDX의 조합)와 'KIL' Opcode(CPU를 중지시키는)와 같은 예시가 설명되며, 6502의 아키텍처가 의도치 않게 기능적이지만 정의되지 않은 명령어를 생성했음을 보여줍니다.
하드웨어