From Dmitry Kiryashov [zews at AHA.RU]

a) abcd.efgh -> bcda.fghe

	mov	W, <<X
	rl	X	;bcdefgha

	mov	W, <>X	;...a...e
	xor	W, X
	and	W, #$11	;...<a^e>...<e^a>
	xor	X, W	;bcdafghe

b) abcd.efgh -> dabc.hefg

	mov	W, >>X
	rr	X	;habcdefg

	mov	W, <>X	;d...h...
	xor	W, X
	and	W, #$88	;<d^h>...<h^d>...
	xor	X, W	;dabchefg