Using shift and rol, you should be able to do it with two registers, wasting the original in the progress.
Shifting A right through carry copies the left most bit into carry. Shifting B right through carry copies that bit to register B and shifts the LSB to carry.
By sequence of
1 - ROR A,A,1 // A = _7654321, --> carry = '0'
2 - ROR B,B,1 // B = 0_______, --> carry = 'x' / don't care
3 - ROR A,A,1 // A = x_765432, --> carry = '1'
4 - ROR B,B,1 // B = 10______, --> carry = 'x' / don't care
// this has copied two bits from A to B while shifting both
5 - ROR B,B,1 // B = x10_____,
6 - ROR B,B,1 // B = xx10____,
repeat steps 1-4 again for B to contain bits '3 2 _ _ 1 0 _ _'
(And this is half of the solution)