The optional compartments= keyword is used to specify which compartment bits (if any) must be 1 or 0 if the word is present in a label. For example, if the word is a codeword of a particular compartment, the compartment bit associated with that compartment would also be associated with the codeword.
The specification of compartment bits starts with the first non-blank character following the blank after the keyword, and continues up to the next semicolon or the end of the line. The specification consists of zero or more blank-separated subspecifications which consist of either 1) a decimal integer specification of a bit position, numbering bits from the left starting at 0, or 2) a range of such bit positions specified as two decimal integers with a “-” in between. The start of a range must be lower than the end of a range. The maximum bit position allowed is 127, for a total of 128 bits. Each of these subspecifications can be immediately preceded by a ~ (with no blank in between) to indicate that the specified bits must be 0.
The following table shows compartments specification examples.
Table 4–1 Compartments Specifications
Specification |
Meaning |
---|---|
compartments= 1; |
Compartment bit 1 must be on (1) |
compartments= 2-3; |
Compartment bits 2 and 3 must be on (1) |
compartments= ~4; |
Compartment bit 4 must be off (0); this would be an inverse compartment bit |
compartments= ~5-7; |
Compartment bits 5, 6, and 7 must be off (0) |
compartments= 1 3; |
Compartment bits 1 and 3 must be on (1) |
compartments= ~4 6; |
Compartment bit 4 must be off (0), and bit 6 must be on (1) |
compartments= ~4 ~6; |
Compartment bits 4 and 6 must be off (0) |
compartments= 2 4-6; |
Compartment bits 2, 4, 5, and 6 must be on (1) |
compartments= ; |
Ignored |
The compartments= keyword is of critical importance in implementing the desired label adjudications for the words in a system, because this keyword, along with the markings= keyword, specifies the association between human-readable words and the internal bit representations that are logically “or-ed” together when labels are adjudicated. Chapter 8, Enforcing Proper Label Adjudications discusses how the compartments= and markings= (see below) keywords can be used to effect the various types of adjudications described in Chapter 1, Introduction.