Коллеги, предлагаю размяться на таком примере:

- как известно, тип в ББ описывается следующим дескриптором Kernel.Type:

## Код:
```
TYPE
   Type = POINTER TO RECORD [untagged] 
      size-: INTEGER;
      mod-: Kernel.Module;
      id-: INTEGER;
      base-: ARRAY 16 OF Kernel.Type;
      fields-: Kernel.Directory;
      ptroffs-: ARRAY 1000000 OF INTEGER
   END;
```


Здесь ptroffs - это смещения, по которым в записи есть указательные поля (для сборщика мусора). Список заканчивается значением -1.

Задача: составить процедуру PROCEDURE LookupMarkOffs (t: Kernel.Type): INTEGER, которая находит смещение в записи, по которому мы можем безопасно положить значение INTEGER, не попав на указательные поля (не сломав зубы сборщику). Если класть некуда, то вернуть -1.

У меня решение уже есть.