1
2SECTION code_clib
3SECTION code_l
4
5PUBLIC l_bitset_locate
6
7l_bitset_locate:
8
9   ; Locate the char in a 32-byte bitmap
10   ;
11   ; enter :  a = char
12   ;
13   ; exit  : hl = byte offset
14   ;          a = bit mask
15   ;
16   ; uses  : af, b, hl
17
18   ld l,a
19   srl l
20   srl l
21   srl l
22
23   and $07
24   inc a
25   ld b,a
26
27   xor a
28   ld h,a
29   scf
30
31bit_loop:
32
33   rla
34   djnz bit_loop
35
36   ret
37