Das mit dem "IF" versteh' ich nicht ganz. Ich würde:
Code:
DIM array(20) as byte
dim byteidx as byte
dim bitnr as byte

dim given_bitnummer as byte  '   input:  0 - 159  

    byteidx = given_bitnummer / 8  ' bytenummer 0-19
    incr byteidx                              ' index 1-20
    bitnr = given_bitnummer AND &H07
    xxx = array(byteidx).bitnr         ' das ergebnis bit
Schreit aber irgendwie nach ein paar assembler-statements, da kann man die bitnummer besser zerlegen.