.define .inn .sect .text .sect .rom .sect .data .sect .bss .sect .text ! use .unimpld ! any size sets ! parameters: ! hl: size ! stack: bit number ! stack: result (out) .inn: pop ix pop de add hl,sp ld b,h ld c,l ex de,hl ld a,l sra h jp m,0f rr l sra h rr l sra h rr l add hl,sp push hl or a ! clear carry sbc hl,de pop hl jp m,1f 0: xor a jr 4f 1: ld e,(hl) and 7 jr 2f 3: rrc e dec a 2: jr nz,3b ld a,e and 1 4: ld e,a ld d,0 ld h,b ld l,c ld sp,hl push de jp (ix)