I was building a NES emulator when I started wondering how the instructions and addressing modes are divided. For example, why is accumulator considered an addressing mode but not register X or register Y? With register X and register Y as addressing modes iny and inx could replaced by inc on another addressing mode. And it seems that the 6502 does not really make a distinction between addressing modes and instructions either since the 6502 just uses opcodes which are an addressing mode and instruction combined. So why is the divide between addressing modes and instructions the way it is?