<pre>
di ; v2v3.0 -> 31 30 bytes!
ld bc,#BCFF
out (c),c
ld a,c
.loop:
out (c),a
ld h,a ; H h = 7654 3210rra ; A = *765 4321add hl,hl ; H h = 6543 210-*push af rra ; Carry flag (bit 7) preserveda = 7765 4321add hl,hl ; H h = 5432 10--**xor h:and #F7:xor h ; a = 7765 1321add hl,hl ; H h = 4321 0---pop af ; Carry flag (bit 7) recovered***ld l,a ; L l = *765 43217765 1321ld a,h ; A a = 4321 0---rra ; A = 7432 10--xor h ; A = (7 xor 4)*** (1 xor 0)***xor l:and #88:xor l ; A = (7 xor 4)765 (1 xor 0)321
cp c
jr nz,.loop
ei