Considering the x86 instruction set contains variable-length instructions, how does jmp knows where an instruction ends? For example
0: 01 c0 add eax,eax
2: e9 fc ff ff ff jmp 0
How does the system know "0" will refer to an instruction of length 2, namely, 01 c0, rather than an instruction of length 4, namely, "01 c0 e9 fc" in this case?