Spostamento dei dati nella lingua dell'assembly:
MOV B, A
Se trasferisco il contenuto dal registro interno A al registro B, cosa succede al contenuto del registro A? È cancellato? Rimane invariato?
 Il comando   MOV    lascerà il contenuto del registro A da solo. Da una documentazione x86 (corsivo aggiunto): 
The mov instruction copies the data item referred to by its second operand (i.e. register contents, memory contents, or a constant value) into the location referred to by its first operand (i.e. a register or memory).
Ci sono molti altri linguaggi di assemblaggio, ma puoi contare sulla maggior parte dei linguaggi moderni che funzionano allo stesso modo.
La risposta dipende in gran parte dalla CPU e dalla lingua dell'assembly che hai scelto come target:
MOV target, source   
mov source, target   
MOV target, source    La fonte rimane invariata per una mossa.
Per curiosità e nostalgia, un paio di vecchie CPU hanno utilizzato anche altre covnetion:
MOV source, target    MOVE source, target   
MOV   , ma utilizza diverse varianti di  carichi e negozi , il primo che usa targe, source e la seconda fonte, target. Aveva anche diverse varianti di movimento ma chiamate diversamente dalla convenzione di denominazione solo la prima lettera. Leggi altre domande sui tag assembly