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
(→‎External Links: hid archive URL for E&L)
(→‎External Links: hid archive URL for Carr)
Line 89: Line 89:
* [[Labiak]], [https://archive.org/details/Programming_the_65816/page/n185 page 175] on ROR
* [[Labiak]], [https://archive.org/details/Programming_the_65816/page/n185 page 175] on ROR
* [[MCS6500 Manual]] page 150 on ROR: https://archive.org/details/mos_microcomputers_programming_manual/page/n171
* [[MCS6500 Manual]] page 150 on ROR: https://archive.org/details/mos_microcomputers_programming_manual/page/n171
* [[Carr]] page 269 on ROR: https://archive.org/details/6502UsersManual/page/n282
* [[Carr]], [https://archive.org/details/6502UsersManual/page/n282 page 269] on ROR
* [[Leventhal]] page 3-87 on ROR: https://archive.org/details/6502-assembly-language-programming/page/n136
* [[Leventhal]] page 3-87 on ROR: https://archive.org/details/6502-assembly-language-programming/page/n136
* 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

Revision as of 23:23, 6 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