@instruction<EOL><INDENT>def MOV(cpu, dest, src):<DEDENT>
if cpu.mode == cs.CS_MODE_ARM:<EOL><INDENT>result, carry_out = src.read(with_carry=True)<EOL>dest.write(result)<EOL>cpu.set_flags(C=carry_out, N=HighBit(result), Z=(result == <NUM_LIT:0>))<EOL><DEDENT>else:<EOL><INDENT>result = src.read()<EOL>dest.write(result)<EOL>cpu.set_flags(N=HighBit(result), Z=(result == <NUM_LIT:0>))<EOL><DEDENT>
Implement the MOV{S} instruction.

Note: If src operand is PC, temporarily release our logical PC
view and conform to the spec, which dictates PC = curr instr + 8

:param Armv7Operand dest: The destination operand; register.
:param Armv7Operand src: The source operand; register or immediate.