Вот так с битовыми полями борются во freepascal'e (ключевое слово bitpacked):
## Код:
```
type 
    Unsigned_7  = 0 .. (1 shl 7)  - 1; 
    Unsigned_20 = 0 .. (1 shl 20) - 1; 

type 
    page_t = bitpacked record 
       present  : boolean; 
       rw       : boolean; 
       user     : boolean; 
       accessed : boolean; 
       dirty    : boolean; 
       unused   : Unsigned_7; 
       frame    : Unsigned_20; 
    end;
```

Вопрос -- имеет ли смысл подобный расширизм для оберона?