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
):ZRVL
... FFVL
is set
(is not 0
):x=RVAL&MASK
RVAL
by choosing one of
ZRVL
... FFVL
depending on VAL
and by shifting it left by SHFT
bits.RBV=RVAL=x&MASK
MASK
is initialized to NOBT
1-bits shifted
left by SHFT
. If MASK==0
(because
NOBT
was not set) it is ignored, i.e.
x=RVAL
and RBV=RVAL=x
.
ZRVL
... FFVL
is set
(all are 0
):x=(VAL<<SHFT)&MASK
VAL=(RBV=(x&MASK))>>SHFT
%s
):VAL
, one of ZRST
... FFST
is written. VAL
must be in the
range 0 ... 15.ZRST
...
FFST
, VAL
is set accordingly.
Other input strings are not accepted.
During initialization, the @init
handler is executed, if
present.