> -- Artyemov писал(а):
> 
В данном случае утилита showdef показывает это число как сырое значение системного флага записи. Это внутренний код, который может обозначать, например, безтеговую запись. Иногда транслятор разрешает использовать в качестве системного флага и идентификатор этого флага, и число, обозначающее его внутренний код.

Максимальное значение числа, ровно как и то, какие числа транслятор пропустит, это уже зависит от реализации. BlackBox тоже разрешает запись## Код:
```
RECORD [1]
```
как аналог## Код:
```
RECORD [untagged]
```

Смотрим в коде BrowserCmd как устроен этот вывод:
## Код:
```
PROCEDURE SysFlag;
      BEGIN
         IF typ^.sysflag # 0 THEN
            Wch("["); Wi(typ^.sysflag); Ws("] ")
         END
      END SysFlag;

   BEGIN
      CASE typ^.form OF
      ...
            | Record:
                  Ws("RECORD "); SysFlag;
                  IF typ^.BaseTyp # NIL THEN Wch("("); Wtype(typ^.BaseTyp); Wch(")") END ;
```

Ofront хранит в системном флаге типа "запись" не только внутренний код флага (биты {0..7}), но и системное выравнивание записи (биты {8..14}). Это внутренняя информация транслятора, нужная для правильного расчёта выравнивания полей при расширении записи.