View Full Version : Libri sull'assembler ?
Tortellone
15-12-2002, 14:51
Potete consigliarmi testi di libri sull'assembler per processori x86 ? (in italiano)
Magari da poter ordinare su Internet
Grazie anticipatamente!
Mezzetti0903
15-12-2002, 19:49
Interessante....
Domanda : ma serve davvero ?
Ti chiedo questo perchè programmare in assembler x86 credo che sia inutile... Prima si faceva per avere un contatto "diretto" con l'hardware e per ottentere prestazioni maggiori, ma attualmente i compilatori producono codice molto ottimizzato rispetto a quello che potrebbe produrre un prorammatore assembler di media bravura...
Inoltre se programmi a 32 bit non hai più l'accesso diretto all'hardware...togliendo così tutti i vantaggi dell'assembler...
Addirittura Microsoft non produce più il suo assemblatore...
Se ti interessa uno sguardo all'architettura con esempi di programmazione assembler a 32 bit credo che un libro valga un altro...sono argomenti talmente inflazionati che un autore non si potrebbe permettere di scrivere un libro fatto male ;)
Comunque io ti posso consigliare il mio libro di Calcolatori Elettronici :
Architettura dei calcolatori (con riferimento al personal computer)
Paolo Corsini (è incredibile, ma è un mio prof), Graziano Frosini, Beatrice Lazzerini (anche questi miei prof)
McGraw-Hill
E' un libro introduttivo sull'assembler, ma che spiega abbastanza a fondo come è costituito un Personal Computer sia nella CPU che nell'accesso alle periferiche...
Non si basa su una CPU reale, ma su una CPU semplificata a 32 bit...
L'assemblatore usato e quello GNU...
Spiega com interfacciare C e assembler e come funziona un compilatore...
Addirittura tenta di mettere in piedi un semplice sistema operativo (dimostrativo) scritto interamente in assembler...
Tortellone
17-12-2002, 12:08
No vabbè non dico ke un giorno vorrò sviluppare in Assembler, ma onestamente questo è un linguaggio ke mi ha sempre incuriosito,e a 19 anni la curiosità è parekkia :D
Conoscendo ora Pascal e C, voglio provare Assembler come in futuro proverò C++ e Java...
RedFiresDragon
25-12-2006, 17:25
Domanda : ma serve davvero ?
Ti chiedo questo perchè programmare in assembler x86 credo che sia inutile...
Programmare in assembler può essere utile a chi ha bisogno di un'assoluta efficienza,velocità e compattezza.
Prima si faceva per avere un contatto "diretto" con l'hardware e per ottentere prestazioni maggiori, ma attualmente i compilatori producono codice molto ottimizzato rispetto a quello che potrebbe produrre un prorammatore assembler di media bravura...
Non sono assolutamente d'accordo,perchè l'assembler SERVE per programmare in maniera DIRETTA l'hardware e l'OS e questo significa
poca portabilità ma una gestione a basso livello che il C,Pascal,ecc...
non possono dare.
Riassumendo(parlando di windows)le applicazioni in assembly sono e saranno sempre le più efficienti se programmate nel modo giusto.
Inoltre se programmi a 32 bit non hai più l'accesso diretto all'hardware...togliendo così tutti i vantaggi dell'assembler...
Ancora errato,perchè la programmazione a 32 bit(parlando di windows)è la quotidiana programmazione a 16bit con la sostituzione dello scomodo utilizzo delle INT con le API.
Ecco il link del sito(ovviamente in inglese...)da dove si può studiare l'assembly a 32bit per Windows,e scaricare sorgenti di esempi creati da alcuni user:
http://win32assembly.online.fr/index.html
Addirittura Microsoft non produce più il suo assemblatore...
Nessun problema(Nel mondo non esiste solo Microsoft...).
Possiamo scaricare liberamente TASM 5.0 dal seguente link:
http://vetusware.com/download/TASM%205.0/?id=65
(decomprimerlo e seguire l'installazione di "install.exe")
Con esso si possono creare applicazioni in Assembly a 16 e 32bit ;)
Se ti interessa uno sguardo all'architettura con esempi di programmazione assembler a 32 bit credo che un libro valga un altro...sono argomenti talmente inflazionati che un autore non si potrebbe permettere di scrivere un libro fatto male ;)
I libri non sono tutti uguali...
Comunque io ti posso consigliare il mio libro di Calcolatori Elettronici :
Architettura dei calcolatori (con riferimento al personal computer)
Paolo Corsini (è incredibile, ma è un mio prof), Graziano Frosini, Beatrice Lazzerini (anche questi miei prof)
McGraw-Hill
E' un libro introduttivo sull'assembler, ma che spiega abbastanza a fondo come è costituito un Personal Computer sia nella CPU che nell'accesso alle periferiche...
Non si basa su una CPU reale, ma su una CPU semplificata a 32 bit...
L'assemblatore usato e quello GNU...
Spiega com interfacciare C e assembler e come funziona un compilatore...
Addirittura tenta di mettere in piedi un semplice sistema operativo (dimostrativo) scritto interamente in assembler...
Io invece consiglio la lettura di "L'Assembler per l'80286/80386"(della McGrawHill) di "W.H.Murray" e "C.H.Pappas". ;)
P.S & OT:
Buon natale ;)
Programmare in assembler può essere utile a chi ha bisogno di un'assoluta efficienza,velocità e compattezza. fidati, di questi tempi i compilatori possono fare meglio degli umani... ;)
Non sono assolutamente d'accordo,perchè l'assembler SERVE per programmare in maniera DIRETTA l'hardware e l'OS oggidì l'assembler serve solo ai cattivi programmatori di device drivers, e in RARISSIMI casi a quelli di componenti del sistema operativo.
e questo significa
poca portabilità ma una gestione a basso livello che il C,Pascal,ecc...
non possono dare. qualunque implementazione del C/C++ ti permette di inserire stub di assembly. peccato che sono al 99% inutili... ;)
Riassumendo(parlando di windows)le applicazioni in assembly sono e saranno sempre le più efficienti se programmate nel modo giusto. ripeto, un compilatore decente può fare di meglio: GCC e CL (soprattutto quest'ultimo) se impostati correttamente da command line producono come niente codice mille volte migliore di ciò che potrebbe fare un umano, se non altro perché questi potrebbe aver introdotto errori che un compilatore non introdurrà mai. il modo giusto di programmare in assembly è non farlo.
Ancora errato,perchè la programmazione a 32 bit(parlando di windows)è la quotidiana programmazione a 16bit ma che stai dicendo... :huh:
ti prego questa spiegamela... :asd:
con la sostituzione dello scomodo utilizzo delle INT con le API. la programmazione Win32 non si riduce interamente a chiamate INT 2Eh: Windows NT non è un microkernel; è un microkernel modificato, cioè un ibrido tra microkernel e sistema monolitico. la parte monolitica non usa la INT 2Eh.
Nessun problema(Nel mondo non esiste solo Microsoft...).
Possiamo scaricare liberamente TASM 5.0 dal seguente link:
http://vetusware.com/download/TASM%205.0/?id=65
(decomprimerlo e seguire l'installazione di "install.exe")
Con esso si possono creare applicazioni in Assembly a 16 e 32bit ;) il TASM confrontato al MASM impallidisce. e il MASM esiste ancora, sebbene non sia Microsoft a portarlo avanti.
Io invece consiglio la lettura di "L'Assembler per l'80286/80386"(della McGrawHill) di "W.H.Murray" e "C.H.Pappas". ;) aggiungo che la lettura di qualsiasi libro diverso dai manuali ufficiali è sconsigliata se non a livello introduttivo: i libri di assembly fanno prestissimo ad invecchiare. quello da te citato poi è addirittura trogloditico :asd:
Ancora errato,perchè la programmazione a 32 bit(parlando di windows)è la quotidiana programmazione a 16bit con la sostituzione dello scomodo utilizzo delle INT con le API. credo di aver capito cosa intendevi :D
è sbagliatissimo, ha ragione cionci: programmando normalmente a 32 bit non hai accesso a bus di I/O, interrupt ranges, e memory ranges dedicate alle periferiche. e studiala un po' questa modalità protetta... :asd:
credi che le API Win32 siano state introdotte solo per comodità sintattica?? :rotfl: :rotfl: :rotfl: :rotfl: :rotfl:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.