I know that x86 instructions can have a maximum of 4 bytes of prefixes, e.g Lock, rep, segment overrides etc.
Is there any particular order in which they should appear,
the order can be found in volume 2A of the Intel Software Developer's Manual.
In a nutshell:
F2 and F3 prefixes cancel each other out. The one that comes later has precedence.66 prefix is ignored if either F2 or F3 are used (as mandatory prefixes in a long instruction). This of course doesn't apply to rep movsw where both those prefixes are simply prefixes, not part of the opcode.66, F2 or F3for the rest, the order shouldn't matter.