We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

Y Index Register: Difference between revisions

From SnesLab
Jump to: navigation, search
(→‎See Also: added TYX/TXY)
(flowed many see also into body)
Line 9: Line 9:


It is not specified to have any particular value after reset.
It is not specified to have any particular value after reset.
It can be pushed to the [[stack]] with [[PHY]] and pulled with [[PLY]].  It can be copied to the [[accumulator]] with [[TYA]] and made to reflect the accumulator with [[TAY]].


=== See Also ===
=== See Also ===
Line 14: Line 16:
* [[STY]]
* [[STY]]
* [[CPY]]
* [[CPY]]
* [[TAY]]
* [[TYA]]
* [[PHY]]
* [[PLY]]
* [[TYX]]
* [[TYX]]
* [[TXY]]
* [[TXY]]
* [[Accumulator]]


=== Reference ===
=== Reference ===

Revision as of 22:18, 16 August 2024

The Y Index Register on 65x processors often holds the current index when iterating over things. It can be incremented or decremented by one with INY or DEY, but there is no instruction to add or subtract more than one. Although INY and DEY can affect the negative flag, the indexed addressing modes always interpret the bit pattern in the Y index register as a non-negative integer.

On the S-SMP it is always 8 bits wide. On the 65c816, it may be 8 or 16 bits wide:

  • When the index register select flag is clear, Y is 16 bit
  • When the index register select flag is set, Y is 8 bit

In emulation mode it is always 8 bits wide.

Unlike the X index register, there are no instructions to transfer value of the stack pointer to/from Y.

It is not specified to have any particular value after reset.

It can be pushed to the stack with PHY and pulled with PLY. It can be copied to the accumulator with TYA and made to reflect the accumulator with TAY.

See Also

Reference