ROR Instruction


The ROR (rotate right) instruction shifts each bit to the right. Also, the lowest bit is copied both into the Carry flag and into the highest bit at the same time.

 ROR — Rotate Right 
Usage: ror dest, count


Flag O D I S Z A P C
Result *             *

Rotates the bits in the destination to the right “count” times with all data pushed out the right side re-entering on the left. The Carry flag will contain the value of the last bit rotated out.

Clocks
Operands 286 386 486 Size Bytes
reg, 1 2 3 3 2
mem, 1 7 7 4 2-4
reg, CL 5+n 3 3 2
mem, CL 8+n 7 4 2-4
reg, immed8 5+n 3 2 3
mem, immed8 8+n 7 4 3-5


 Rotate Carry Left 4 Bits   Restore Value   Rotate Carry Right 

 
 .data

 
 value  BYTE  84h

 
 .code

 
 clc

 
 rcl    value, 04

 
 movzx  eax, value

 
 call   WriteHex

 
 .data

 
 value BYTE 01101011b

 
 .code

 
 shl    value, 1

 
 rcr    value, 1

 
 movzx  eax, value

 
 call   WriteBin

 
 .code

 
 stc

 
 mov    ah, 10h

 
 rcr    ah, 1

 
 movzx  eax, ah

 
 call   WriteBin
 Output  Output  Output
  EAX =

 

  AL =

 

  AL =

 



      “I’m not arguing, I’m just explaining why I’m right.”    
      ― Unknown