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

Stack Relative Indirect Indexed, Y Addressing: Difference between revisions

From SnesLab
Jump to: navigation, search
(→‎References: Clark link)
(→‎References: hid archive URL for E&L)
 
(4 intermediate revisions by the same user not shown)
Line 9: Line 9:
* [[SBC]] (opcode F3)
* [[SBC]] (opcode F3)
* [[STA]] (opcode 93)
* [[STA]] (opcode 93)
They are all two bytes long.
The '''indirect address''' lives on the [[stack]] at sum of the [[stack pointer]] and the 8-bit operand.
The '''effective address''' is generated by concatenating the [[data bank register]] to the indirect address, and then adding the [[Y index register]] to the 24-bit sum.


==== Syntax ====
==== Syntax ====
Line 20: Line 26:


=== References ===
=== References ===
* [[Eyes & Lichty]] page 419, https://archive.org/details/0893037893ProgrammingThe65816/page/419
* [[Eyes & Lichty]], [https://archive.org/details/0893037893ProgrammingThe65816/page/419 page 419]
* section 3.5.24 of 65c816 datasheet, https://westerndesigncenter.com/wdc/documentation/w65c816s.pdf
* section 3.5.24 of 65c816 datasheet, https://westerndesigncenter.com/wdc/documentation/w65c816s.pdf
* Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#5.21
* Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#5.21

Latest revision as of 18:27, 8 August 2024

Stack Relative Indirect Indexed, Y Addressing is supported by eight instructions:

  • ADC (opcode 73)
  • AND (opcode 33)
  • CMP (opcode D3)
  • EOR (opcode 53)
  • LDA (opcode B3)
  • ORA (opcode 13)
  • SBC (opcode F3)
  • STA (opcode 93)

They are all two bytes long.

The indirect address lives on the stack at sum of the stack pointer and the 8-bit operand.

The effective address is generated by concatenating the data bank register to the indirect address, and then adding the Y index register to the 24-bit sum.

Syntax

LDA (sr, S), Y

See Also

References