Implied means that the opcode does not require the programmer to explicitely state the source and address; they are implied in the statement. For instance LDA always loads the accumulator, the accumulator is the implied destination address for all LDA opcodes.
Register means that the source or destination is a processor register rather than a memory location. for instance MOV r1,r2 is a register-to-register transfer which does not involve a memory fetch beyond the opcode.
Immediate means a value that is in memory in the code store, typically a value immediately following the opcode. I.E.: MOV r,n. The memory address reference for the value load is the program counter.
Direct means that a memory address is provided after the opcode and the processor first loads that memory address into the address register then fetches from that memory location. The memoryy address reference is supplied in following the opcode, and execution first requires loading the two byte address then loading the memory value from that location.
Indirect means that the address is stored in one of the registers that can be used for that purpose. As it is just a register-to-register transfer to load the address registers for the memory fetch, it is faster than using direct addressing.