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

Index Register Select: Difference between revisions

From SnesLab
Jump to: navigation, search
(TXS, TSX)
(clarify SEP/REP/PLP)
 
(5 intermediate revisions by the same user not shown)
Line 2: Line 2:


* When clear, both index registers are 16 bits wide.  It can only be clear in [[native mode]].
* When clear, both index registers are 16 bits wide.  It can only be clear in [[native mode]].
* When set, both index registers are 8 bits wide.
* When set or in [[emulation mode]], both index registers are 8 bits wide.


It is not possible to control the width of the two index registers individually.
It is not possible to control the width of the two index registers individually.
Line 8: Line 8:
It can be affected by:
It can be affected by:


* [[REP]] (might clear it)
* [[REP]] (clears it if bit 4 of operand is set)
* [[SEP]] (might set it)
* [[SEP]] (sets it if bit 4 of operand is set)
* [[PLP]]
* [[PLP]] (pops it off the [[stack]])
* [[RTI]]
* [[RTI]]


It affects the behavior of (incomplete list):
It affects the behavior of (possibly incomplete list):
* [[LDX]]
* [[LDX]]
* [[LDY]]
* [[LDY]]
* [[STX]]
* [[STX]]
* [[STY]]
* [[STY]]
* [[CPX]]
* [[CPY]]
* [[PHX]]
* [[PHY]]
* [[PLX]]
* [[PLY]]
* [[INX]]
* [[INY]]
* [[DEX]]
* [[DEY]]
* [[TXY]]
* [[TXY]]
* [[TYX]]
* [[TYX]]
Line 29: Line 39:
=== See Also ===
=== See Also ===
* [[Memory/Accumulator Select]]
* [[Memory/Accumulator Select]]
* [[X Index Register]]
* [[Y Index Register]]


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

Latest revision as of 21:38, 16 August 2024

Index Register Select (X) is a flag in the processor status register (bit 4) of the 65c816. It indicates how wide the index registers are:

  • When clear, both index registers are 16 bits wide. It can only be clear in native mode.
  • When set or in emulation mode, both index registers are 8 bits wide.

It is not possible to control the width of the two index registers individually.

It can be affected by:

  • REP (clears it if bit 4 of operand is set)
  • SEP (sets it if bit 4 of operand is set)
  • PLP (pops it off the stack)
  • RTI

It affects the behavior of (possibly incomplete list):

In emulation mode, the x flag becomes the break flag.

There are no BXS or BXC instructions that examine this flag.

See Also

Reference