я делал табличку
порт, маска, выставляемый бит

а потом циклом по ней пробегался и считаный порт эндил маской и в результат орил выставляемый бит (или несколько, по желанию)

если интересно, могу покопаться - процедурку найти