Instructions are stored in memory. When they are to be executed they are brought into instruction register. Now it is divided as Mode, opcode, operand (log (memory size) is divided in three parts) . In direct addressing, operand represent the effective memory address. If bits in mode + opcode + operand (log mem size) > bits required to address a memory then how such a big instruction is stored in memory whose operand itself has those many bits?