My current attempt is....

Code:
cmd             var byte[15]
dout = $C0F7

...

lcdout $fe,$C0," "
for n = 16 to 1 step -1
  CMD.0[n] = dout.15
  dout = dout << 1
  lcdout $fe,14,bin dout.15
next n
This results in ... 1000000111101110 ... and I want ... 1100000011110111 ...

i.e. It has chopped the 1 off the start, and added a 0 on the end...