Используйте инструкцию shrd
, чтобы сдвинуть бит из sr c в место назначения:
shrd rax, rdx, 1 ; shift a bit from bottom of RDX into top of RAX
shr rdx, 1 ; and then shift the high half
; rdx:rax is shifted one bit to the right
В качестве альтернативы, используйте инструкцию shr
и rcr
, но обратите внимание, что rcr
- это несколько мопов, поэтому на большинстве процессоров это медленнее:
shr rdx, 1 ; shift LSB of rdx into cf
rcr rax, 1 ; shift CF into rax