ハードとソフトの境界付近

ハードウェアの直上で動くソフトウェアを書いていると、たまにマクロ宣言やコメントに息苦しいほどの説明性が必要になります。
たとえば、TOPPERS/ASP for LPCのチップ依存部に以下のような記述があったとしましょう。

    /* NVICの割り込みフィールドの幅 */
#define TBITW_IPRI     5
    /* SUBPRIORITYのフィールド幅*/
#define TBITW_SUBIPRI  0

これって、ハードウェアの形をソフトウェアに教えているのでしょうか。それとも、ソフトウェアに「ハードウェアをこのように設定せよ」と指示しているのでしょうか。
ソースを読めばわかるのですが、やはりコメントやマクロ名でわかるようにすべきです。
ちなみにLPC1768のハードは、NVICの割り込みフィールド幅は変更不能ですが、SUBPRIORITYの幅は変更可能です。TOPPERS/ASP for LPCのLPC17XX依存部は、ここを0(リセット後の初期値)で決めうちしています。