Depending on the format type, different record fields are used
for output and input. The variable x
stands for the
written or read value.
%f
):%i
):MASK==0
(because NOBT
is not set):x=RVAL
RAL=x
, VAL=RVAL>>SHFT
MASK!=0
:x=RVAL&MASK
RBV=RVAL=x&MASK
, VAL=RVAL>>SHFT
MASK
is initialized to NOBT
1-bits shifted
left by SHFT
(((2^NOBT)-1)<<SHFT
).
The record calculates RVAL=VAL<<SHFT
.
%s
):
During initialization, the @init
handler is executed, if
present.