In machine code, an addressing mode is specified as part of the opcode of an instruction. The addressing mode specifies how the operand will be interpreted. For example, the operand could be an actual data value or a reference to a memory location.
In the same way as a binary code is used to represent the operation, a code is also used to represent the addressing mode. So, if the code 01 represents immediate addressing, the operand is interpreted as a data value.
A different code, for example 10 could be used to indicate direct addressing. In this mode the operand is treated as a memory address; so the operation would add the value stored at the memory location with address number 000011 (3 in denary) into the accumulator.