Коллеги, в ББ там и сям разбросан код наподобие:

outObj.WriteByte(SHORT(SHORT(i MOD 256)))

Ясно-понятно, что это обращение к младшему байту. Увы, такое выражение не проходит проверку на диапазоны при i > 127 или i < -128.

Можно вот так сделать:
WriteByte(SYSTEM.VAL(BYTE, i))
Однако это, во-первых, SYSTEM, во-вторых не проходит на BigEndian... правда, ББ нет на БигЭндиан (. Но это пока - в ближайшие 25 лет мож появится. И перфекционист внутри меня недоволен.

Можно еще вот так системо-независимо:
j := i MOD 256;
IF j > MAX(BYTE) THEN DEC(j, 256) END;
b := SHORT(SHORT(j);

Длинновато как-то...

А есть ли еще способы системо-независимо выделить младший байт?