At the assembly-code level, two forms of this instruction are allowed: the "explicit-operands"
form and the "no-operands" form. The explicit-operands form (specified with the MOVS
mnemonic) allows the source and destination operands to be specified explicitly. Here, the source
and destination operands should be symbols that indicate the size and location of the source value
and the destination, respectively. This explicit-operands form is provided to allow documenta-
tion; however, note that the documentation provided by this form can be misleading. That is, the
source and destination operand symbols must specify the correct type (size) of the operands
(bytes, words, or doublewords), but they do not have to specify the correct location. The loca-
tions of the source and destination operands are always specified by the DS:(E)SI and ES:(E)DI
registers, which must be loaded correctly before the move string instruction is executed.