68じゃないけど。こういう書き方ってどうなんだろ。

struct a_type
{
unsigned char a : 2;
unsigned char b : 4;
unsigned char c : 2;
}

void* const addr = (void*)0x420000;
reinterpret_cast<a_type*>(addr)->b = 0x1234;

すっきりしてないかも。