Code written for the Commodore 64 sometimes uses the
PHX opcode, which should push X onto the stack. There also are
ply. These were apparently added on the CMOS versions of the 6502; very old processors do not have these codes.
64tass assembles a
$da, but that opcode does not seem to be emulated by x64, which is the Commodore 64 emulator that comes with VICE. It even gets disassembled as a NOOP in the VICE debugger, and correspondingly, the emulated CPU leaves registers unchanged when it encounters this opcode:
.C:4048 68 PLA - A:06 X:02 Y:06 SP:f5 .V-..... 22053498 .C:4049 DA NOOP - A:84 X:02 Y:06 SP:f6 NV-..... 22053502 .C:404a 6A ROR A - A:84 X:02 Y:06 SP:f6 NV-..... 22053504
What am I missing?