It's been stated that 6502 reads two bytes from the PC regardless of the operation having 1, 2 byte operands, or none at all.
But in the case of a single byte operation, like for example, SEI, the second byte read, the supposedly 'operand' is actually the next opcode.
What I want to know is if the 6502 in this case, when it has to read the next operand, after incrementing the PC, does actually read the byte from memory or just uses the previously cached byte.
In the event that the byte is read from a memory-mapped register, the difference between reading once or reading twice does matter, as it may have different effects.
But in the case of a single byte operation, like for example, SEI, the second byte read, the supposedly 'operand' is actually the next opcode.
What I want to know is if the 6502 in this case, when it has to read the next operand, after incrementing the PC, does actually read the byte from memory or just uses the previously cached byte.
In the event that the byte is read from a memory-mapped register, the difference between reading once or reading twice does matter, as it may have different effects.