Yes, x86 is an architecture with variable machine code size. Size of a command may vary from 1 byte to more than 10 and decoding rules are quite complicated.
Here is an introduction to x86 encoding/decoding. For the exhaustive reference, use Intel Software Developer Manual, though it is focused on 32-bit and 64-bit modes.