13.07.2015 Views

Volume 3: General-Purpose and System Instructions - Stanford ...

Volume 3: General-Purpose and System Instructions - Stanford ...

Volume 3: General-Purpose and System Instructions - Stanford ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

24594 Rev. 3.10 February 2005 AMD64 TechnologyRCLRotate Through Carry LeftRotates the bits of a register or memory location (first oper<strong>and</strong>) to the left (moresignificant bit positions) <strong>and</strong> through the carry flag by the number of bit positions inan unsigned immediate value or the CL register (second oper<strong>and</strong>). The bits rotatedthrough the carry flag are rotated back in at the right end (lsb) of the first oper<strong>and</strong>location.The processor masks the upper three bits of the count oper<strong>and</strong>, thus restricting thecount to a number between 0 <strong>and</strong> 31. When the destination is 64 bits wide, theprocessor masks the upper two bits of the count, providing a count in the range of 0 to63.For 1-bit rotates, the instruction sets the OF flag to the exclusive OR of the CF bit(after the rotate) <strong>and</strong> the most significant bit of the result. When the rotate count isgreater than 1, the OF flag is undefined. When the rotate count is 0, no flags areaffected.Mnemonic Opcode DescriptionRCL reg/mem8,1 D0 /2RCL reg/mem8, CL D2 /2RCL reg/mem8, imm8C0 /2 ibRCL reg/mem16, 1 D1 /2RCL reg/mem16, CL D3 /2RCL reg/mem16, imm8C1 /2 ibRCL reg/mem32, 1 D1 /2Rotate the 9 bits consisting of the carry flag <strong>and</strong> an 8-bit registeror memory location left 1 bit.Rotate the 9 bits consisting of the carry flag <strong>and</strong> an 8-bit registeror memory location left the number of bits specified in the CLregister.Rotate the 9 bits consisting of the carry flag <strong>and</strong> an 8-bit registeror memory location left the number of bits specified by an 8-bitimmediate value.Rotate the 17 bits consisting of the carry flag <strong>and</strong> a 16-bit registeror memory location left 1 bit.Rotate the17 bits consisting of the carry flag <strong>and</strong> a 16-bit registeror memory location left the number of bits specified in the CLregister.Rotate the 17 bits consisting of the carry flag <strong>and</strong> a 16-bit registeror memory location left the number of bits specified by an 8-bitimmediate value.Rotate the 33 bits consisting of the carry flag <strong>and</strong> a 32-bit registeror memory location left 1 bit.RCL 239

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!