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=x&MASK
RVAL
right by
SHFT
bits, compares the result with all of
ZRVL
... FFVL
, and sets VAL
to the index of the first match.
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 RVAL=x
.
ZRVL
... FFVL
is set
(all are 0
):x=VAL
VAL=x
%{
):x=VAL
VAL=x
%s
):VAL
, one of ZRST
or 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. All format converters work like in normal operation.