This is a really simple overview designed to show how complex modern processers are compared to those in the 60's used in my machine language example in Programming Languages.

INSTRUCTION FORMAT FOR PROTECTED MODE, REAL-ADDRESS MODE, AND VIRTUAL-8086 MODE
The Intel 64 and IA-32 architectures instruction encodings are subsets of the format shown in Figure 2-1. Instructions consist of optional instruction prefixes (in any order), primary opcode bytes (up to three bytes), an addressing-form specifier (if required) consisting of the ModR/M byte and sometimes the SIB (Scale-Index-Base) byte, a displacement (if required), and an immediate data field (if required).


Source: Intel® 64 and IA-32 Architectures Software Developer's Manual, June, 2013

Except for the opcode, all of these parts are optional.
They are only present when the particular instruction requires them.

Opcodes can be 1, 2 or 3 bytes.
There can be 1-4 Operands
Terms:
ModR/M - Byte which tells the processor which registers or memory locations to use as the instruction's operands. SIB - Scale-Index-Base
Links:
Understanding Intel Instruction Sizes

last updated 24 Nov 2013