I do not know of any comprehensive list, but here (32-bit/64-bit) is a very useful reference which contains most of the information you want.
Note their description of the operand columns:
If an operand is set up using italic, it is an implicit operand, which is not explicitly used. If an operand is set up using boldface, it is modified by the instruction.
So for example, in the 8-bit version of the
MUL instruction (
AX = AL * r/m8), they list the operands as AX, AL, and r/m8. Note that the first two operands are italicized because they are implicit, and the first operand is bolded because it is modified.
Unfortunately, this does not cover all cases of register modification. For example,
MOVSD only lists m32 and m32 for the operands and does not mention the fact that
EDI are dereferenced and then adjusted by 4.
Still, it covers almost all cases, including:
WRMSR, and many of the float and SSE instructions, as well as a couple instructions that do not have mnemonics.
It does not (completely) cover some others, including:
STOS. Modifications to the stack pointer are generally not mentioned.
If you care about segment registers, there are also
LSS, and the segment prefixes. Several other instructions can implicitly modify the segment registers, however. Additionally, instructions that access memory implicitly access cached information from the segment registers.
Note: The above are not comprehensive lists!
Ultimately, you need to read the Intel Manuals to get the official documentation, but this chart should still save you a lot of time.