Disassembler: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Botcrux (discussione | contributi)
m Bot: typo nelle date e eventuali correzioni minori
Etichette: Modifica da mobile Modifica da web per mobile Modifica da mobile avanzata
Riga 4:
L'[[output]] di un disassembler (detto [[disassemblato]], o ''disassembly'') è spesso fatto in modo da poter essere facilmente compreso dall'uomo piuttosto che per essere utilizzato come input per un assembler. Similmente, un [[decompilatore]] traduce il [[linguaggio macchina]] in un [[linguaggio ad alto livello]].
 
Generalmente, in un [[codice sorgente]] in linguaggio assembly vengono utilizzate le [[costante simbolica|costanti simboliche]] e i "commenti" del programmatore - annotazioni che sono ignorate dall'assembler ma servono a spiegare ad un altro programmatore cosa il programma fa e in che modo. Le costanti simboliche e i commenti vengono generalmente rimossi dall'assembler. La perdita di queste informazioni rende più difficile la comprensione del codice rispetto al codice sorgente originario. {{Sf|In effetti, uno strumento per il disassemblaggio completamente automatico non può raggiungere in genere risultati molto accurati, poiché il processo di disassemblaggio si riduce ad un famoso problema informatico noto come "[[problema della fermata]]" (per il quale è stato dimostrato che non esiste un [[algoritmo]] che lo risolva).}} Per questo motivo, i disassembler interattivi avranno sempre una resa migliore rispetto a quelli automatici consentendo all'uomo di utilizzare la sua intelligenza nel processo di disassemblaggio.
 
== Programmi famosi ==