The second required item is the invocation of a method that determines the size of the field. For a field of fixed size we will have something like:
FIELD command_code (Fixed 1 Byte) (Hex) "Command code"
The Fixed method takes a first parameter that is a numeric count and a second parameter that expresses the unit. Acceptable units are bits, (4-bit) nibbles, (8-bit) bytes, (16-bit) words, (32-bit) dwords, and (64-bit) qwords. The unit specifier may be written in singular or plural form (e.g. "bit" or "bits") as appropriate.
The other commonly used method for sizing a field serves when the size is given by the content of another field, as in:
FIELD data_length (Fixed 1 Byte)
FIELD data (FromField Bytes data_length 2)
Here we suppose that a one-byte field indicates the size of the variable-length field that follows. The FromField method takes three parameters. The first is the unit (as above). The second parameter is the name of the FIELD that contains the length. The third is a number that is subtracted from the result since, in some cases, the length field includes or excludes other things (for example, itself). We call this number an adjustment.
The field containing the length must be processed before the FromField method is called.
A complete catalog of methods is provided in the Method Reference.
It may help your understanding of the mechanics of the decoder to know that what a SizeMethod returns is simply a number of bits. That number is used in extracting the field value from the raw frame data, formatting the field value, and incrementing the pointer. This does not mean, however, that you can put a literal number in this item; a method invocation is required.