Другой сходный вариант - использовать свойства операции MOD:
## Код:
```
PROCEDURE Do* ;
      VAR h: SHORTINT; n: INTEGER;
   BEGIN
      h := -1;
      n := h MOD 10000H;
      Log.Int(n); Log.Ln;
   END Do;
```
Процедура Do напечатает 65535. Операция MOD в данном случае сводится к сдвигам или маскированию, так что потери эффективности нет.