Is there really any architecture where a mov instruction alters the
overflow or carry bit? It seems unlikely... On x86, moves don't modify
any flags at all.
The 6800 would clear (set to zero) overflow and set (to values correct
for the data moved) the zero and sign flags on loads, stores and
register to register moves, although it left the carry alone in those
cases. The 6502 would set the zero and sign bits on loads and
register to register moves (but leave overflow and carry alone, and
altered no flags on stores).
The other thing to remember is that if the program has to do any sort
of address computation during the store, that might have to alter the
flags as well. Nor is there any guarantee that the CPU in question
has flags (most RISCs), or that the flag modifying instructions are
actually used. For example, on x86 a compiler could use MMX/SSE
instructions to add numbers, or use something like LEA to add. In
fact the use of LEA is pretty common, especially if the expression is
slightly more complex: say “a = b+2*c;”.