So whenever I attempt to change B, the Data Bank register, to a different value using code like this (assume A = 8 bit):
... then B apparently isn't updated to $XX immediately, unlike with Direct Page register changes. The tracelog tells me that several, even dozens of absolute (i.e., 16-bit operand) instructions that use the old data bank may pass before it switches to the new one.
Is this normal? Or what am I doing wrong?
Thanks for any advice!
Code:
lda #$XX
pha
plb
pha
plb
... then B apparently isn't updated to $XX immediately, unlike with Direct Page register changes. The tracelog tells me that several, even dozens of absolute (i.e., 16-bit operand) instructions that use the old data bank may pass before it switches to the new one.
Is this normal? Or what am I doing wrong?
Thanks for any advice!