Mai due variabili in un'istruzione assembly, quindi:
a = b
mov <registro>,b
mov a,<registro>
ma non puoi usare un registro a caso perchè potrebbe già essere usato
quindi l'istruzione potrebbe essere arriccchita da una push e una pop
E, se tradurre da assembly a c un'istruzione così semplice può essere un po' elaborato
(perchè non è così semplice far capire al pc cosa deve fare in un caso simile) immagina un'istruzione come assegnare ad una variabile un'espressione...
...poi basta ricordare tutte le regole di scope e lifetime che hanno le variabili, cosa che in assembly non esiste, o "gli innumerevoli" tipi di dato
inoltre non vi sono nomi o etichette di salto in un decompilato, ma i relativi "indirizzi"(se così li possiamo chiamare), quindi si deve specificare un nome, se non appropriato, almeno leggibile dal programmatore (trovare in un codice variabili con nomi del tipo: a,b,c,d,e...,a1,a2,a3,a4)
Naturalmente non è impossibile ma "è improbabile"....