A microprocessor know whether the next byte is an instruction or data because the microprocessor knows for what it is looking. The bus, on the other hand, for an 8085 based system, knows an opcode from data by looking at S0 and S1 when IO/M- is low. If both are high, it is an opcode, otherwise it is data.