Direct addressing provides the actual memory address of the operand in the instruction,Whereas indirect addressing provides, as part of the instruction, a pointer to a memory location.For example,the instruction Load X interpreted using direct addressing would go to memory location X and load the value found there.Using indirect addressing, memory location X would be used as the effective address of whet should actually be loaded. so if a value of 200 were found at location X, the value located at address 200 would be loaded.