EOF introduces new stack instructions with immediate operands: DUPN, SWAPN, and EXCHANGE. The operands determine what elements of the stack will be accessed and manipulated.
There's no standard or obvious way in which these operands should be represented in human-readable assembly syntax, and different developers may come up with different solutions. If this ends up being subtly different across different tools (e.g., off by one), an assembly instruction may have different behavior depending on the syntax variant it's read as, and people or tools may be misled, which could be used to conceal malicious behavior in the worst case. Additionally, lack of clarity in communication about these opcodes could result in bugs in various places.
Because of this, we should standardize the representation of the operands of each of these instructions.
I'll describe three alternative approaches:
Verbatim: The operands are written in assembly with the same numerical value that is present in the bytecode, probably as a decimal number.
Traditional: The operands are written in a way that matches the numeration used in the original DUP* and SWAP* instructions.