PDA

View Full Version : memoria e linguaggio assembly


gaiapuffo
08-10-2011, 11:31
perchè il linguaggi assembly occupa meno spazio in memoria dei programmi scritti ad alto livello?è vero che le istruzioni assembli essendo istruzioni semplificate sono più corte ma e anche vero che un programma scritto in assembly richiede più righe di codice

idoido
08-10-2011, 12:12
http://it.wikipedia.org/wiki/Assembly

giozh
09-10-2011, 10:10
perchè il linguaggi assembly occupa meno spazio in memoria dei programmi scritti ad alto livello?è vero che le istruzioni assembli essendo istruzioni semplificate sono più corte ma e anche vero che un programma scritto in assembly richiede più righe di codice

dove l'hai sentita questa cosa? un sorgente assembly ed uno in C (ad esempio) che fanno le STESSE cose nello STESSO modo, occupano circa la stessa quantità di memoria. Questo perchè un qualsiasi linguaggio compilato viene tradotto dal compilatore il linguaggio macchina, indi sequenza di bit, così come anche lo stesso linguaggio assembly. Se provi a disassemblare un sorgente C con objdump o gdb o quello che è, vedrai che non compaiono le istruzioni che hai scritto, ma il relativo assembly.
Il fatto che un sorgente in assembly richieda piu righe di codice deriva dal fatto che una cpu esegue una istruzione alla volta. quindi una riga di C del tipo
a=b+1
verrà tradotta nello stesso modo in cui tu scriveresti un programmino assembly che esegue questa operazione.
I linguaggi ad alto livello si sono sviluppati proprio per mascherare questa complessità e e astrazione di scrivere un sorgente in assembly. Scrivere semplicemente il nome di una variabile piuttosto che l'indirizzo dove risiede è oggettivamente piu comodo.