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
(using '816 version of image)
(→‎External Links: Pickens ref)
Line 90: Line 90:
* snes9x implementation of ROR: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1070
* snes9x implementation of ROR: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1070
* undisbeliever on ROR: https://undisbeliever.net/snesdev/65816-opcodes.html#ror-rotate-right
* undisbeliever on ROR: https://undisbeliever.net/snesdev/65816-opcodes.html#ror-rotate-right
* http://www.6502.org/tutorials/6502opcodes.html#ROR


[[Category:ASM]]
[[Category:ASM]]

Revision as of 04:38, 21 July 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
. . . . .

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

See Also

External Links