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

ROR: Difference between revisions

From SnesLab
Jump to: navigation, search
(used to be broken)
(bullet points)
Line 57: Line 57:
'''ROR''' (Rotate Right) is a 65x instruction that rotates a value and the [[carry flag]] right one bit.  The least significant bit is shifted into the carry flag.  The carry flag is shifted into the most significant bit.
'''ROR''' (Rotate Right) is a 65x instruction that rotates a value and the [[carry flag]] right one bit.  The least significant bit is shifted into the carry flag.  The carry flag is shifted into the most significant bit.


When the accumulator is 8 bits wide, 9 bits are rotated.
* When the [[accumulator]] is 8 bits wide, 9 bits are rotated.
When the accumulator is 16 bits wide, 17 bits are rotated.
* When the accumulator is 16 bits wide, 17 bits are rotated.


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

Revision as of 16:37, 4 August 2024

Basic Info
Addressing Mode Opcode Length Speed
Accumulator 6A 1 byte 2 cycles
Absolute 6E 3 bytes 6 cycles*
Direct Page 66 2 bytes 5 cycles*
Absolute Indexed by X 7E 3 bytes 7 cycles*
Direct Page Indexed by X 76 2 bytes 6 cycles*
Flags Affected
N V M X D I Z C
N . . . . . Z C

ROR (Rotate Right) is a 65x instruction that rotates a value and the carry flag right one bit. The least significant bit is shifted into the carry flag. The carry flag is shifted into the most significant bit.

  • When the accumulator is 8 bits wide, 9 bits are rotated.
  • When the accumulator is 16 bits wide, 17 bits are rotated.

Syntax

ROR
ROR A
ROR addr
ROR dp
ROR addr, X
ROR dp, X
Cycle Penalties

816 ror.png

ROR was originally broken and left out of the earliest 6502 datasheets before fixed.

See Also

External Links