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

Accumulator Addressing: Difference between revisions

From SnesLab
Jump to: navigation, search
(shortened description)
(linkify m flag)
Line 10: Line 10:
They all are one byte long.  None of them write to or read from external memory.  They are all read-modify-write instructions.
They all are one byte long.  None of them write to or read from external memory.  They are all read-modify-write instructions.


In this admode, the [[accumulator]] is the operand.<sup>[3]</sup>  In [[native mode]] when the m flag is clear, the accumulator is 16 bits wide.  Otherwise it is 8 bit (when m is set or in [[emulation mode]]).
In this admode, the [[accumulator]] is the operand.<sup>[3]</sup>  In [[native mode]] when the [[m flag]] is clear, the accumulator is 16 bits wide.  Otherwise it is 8 bit (when m is set or in [[emulation mode]]).


==== Syntax ====
==== Syntax ====

Revision as of 01:08, 10 August 2024

There are six instructions that support Accumulator Addressing on the 65c816:

  • ASL (opcode 0A)
  • DEC (opcode 3A)
  • INC (opcode 1A)
  • LSR (opcode 4A)
  • ROL (opcode 2A)
  • ROR (opcode 6A)

They all are one byte long. None of them write to or read from external memory. They are all read-modify-write instructions.

In this admode, the accumulator is the operand.[3] In native mode when the m flag is clear, the accumulator is 16 bits wide. Otherwise it is 8 bit (when m is set or in emulation mode).

Syntax

ROR
RORA
ROR A

Interestingly, XBA is not considered to use accumulator addressing. Less surprisingly, neither are the transfer instructions which include the accumulator as an operand. But XCN on the SPC700 is considered to use accumulator addressing.

See Also

References

  1. Eyes & Lichty, page 387
  2. page 126, lbid
  3. section 3.5.8 of 65c816 datasheet, https://westerndesigncenter.com/wdc/documentation/w65c816s.pdf
  4. Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#5.6