View Full Version : programmare in assemby in ambiente linux
darkbasic
23-01-2008, 18:04
Premetto che con l'assembly sono una schiappa e quel poco che so fare sfrutta le system call del dos :doh:
Mi servirebbe una lista con le principali interrupt software di linux corredate di spiegazione (mi bastano le cose basilari).
Inoltre, è preferibile utilizzare nasm (2.0) oppure yasm? Qualcuno sa spiegarmi brevemente le principali differenze?
Tenete conto che utilizzo un OS a 64 bit.
Tempo fa avevo trovato su gameprog.it questi due volumi, non sono proprio quello che cerchi pero sono due bei manualoni:
Linux Assembly Programming - Volume 1 (http://www.gameprog.it/pub/lang/assembly/Contributi/Linux Assembly Programming - Volume 1.zip)
Linux Assembly Programming - Volume 2 (http://www.gameprog.it/pub/lang/assembly/Contributi/Linux Assembly Programming - Volume 2.zip)
darkbasic
25-01-2008, 12:07
Ottima guida, gli darò sicuramente un'occhiata in futuro, ma non è quello che mi serve al momento.
AnonimoVeneziano
25-01-2008, 13:44
Curiosità :
Perchè assembly? :D
Ciao
darkbasic
25-01-2008, 14:25
Studio ingegneria elettronica e mi serve per l'università.
Qualcosa lo puoi trovare qui: ASM linux (http://asm.sourceforge.net/). A suo tempo cercai qualcosa, e trovai una lista abbastanza datata mi sa delle varie syscall che possono essere chiamate. Inoltre dovresti poter sfruttare le glibc chiamandole direttamente da asm, risolvendoti molti grattacapi, anche se ovviamente e' meno performante.
Ti linko il classico "Art of assembly":
http://webster.cs.ucr.edu/AoA/Linux/index.html
(su quel sito trovi anche altro materiale)
yasm non lo conosco. Comunque dipende tutto dalla sintassi che vuoi usare, spesso sotto linux si usa la AT&T quindi è probabile che troverai diversi doc che la usano. Se vuoi usare la sintassi intel secondo me nasm va benissimo, altrimenti puoi usare gas (se hai installato gcc dovresti già averlo)
AnonimoVeneziano
26-01-2008, 11:13
anche se ovviamente e' meno performante.
lol :asd:
Conoscete per caso qualche programmino (anche un emulatore) che permetta di scrivere programmi in assembly (con sintassi NASM, per favore) e di eseguirli passo passo offrendo la possibilità di osservare il contenuto dei registri e della memoria? Insomma, qualcosa con una minima interfaccia grafica, ché non mi va proprio di usare gdb :(
khelidan1980
24-01-2009, 22:02
Conoscete per caso qualche programmino (anche un emulatore) che permetta di scrivere programmi in assembly (con sintassi NASM, per favore) e di eseguirli passo passo offrendo la possibilità di osservare il contenuto dei registri e della memoria? Insomma, qualcosa con una minima interfaccia grafica, ché non mi va proprio di usare gdb :(
x86 non so,se è a scopo didattico c'è il mips,con http://www.getdeb.net/app/MARS,ed è l'archittettura presa ad esempio nel famosissimo Patterson and Hennessy: Computer Organization and Design
P.s: opss non avevo letto il "con sintassi NASM, per favore",lascio cmq a memoria futura per qualche interessato! ;)
P.s: opss non avevo letto il "con sintassi NASM, per favore"
In effetti avrei dovuto specificare che mi serve per x86... :)
Ho trovato un'interfaccia grafica a GDB che si chiama Insight (http://sources.redhat.com/insight/). Non è molto sofisticata, è scritta in tcl/tk, ma è sufficiente per quello che mi serve. Per il momento l'ho provata per fare il debug di programmi scritti con sintassi GAS (AT&T), ma dovrebbe funzionare anche coi programmi scritti (e assemblati) con NASM... almeno credo. In ogni caso ormai mi sto abituando a GAS, quindi... :sofico:
CaFFeiNe
09-02-2009, 10:02
il patterson hennesy.... il mio caro libro di architettura...
cmq per mips ne conosco di IDE assembly.... ce n'è una sviluppata dalla mia facolta' in java...
il patterson hennesy.... il mio caro libro di architettura...
Ci ho studiato anch'io su quello, come anche su un libro (non ricordo più l'autore) sull'architettura POWER e PowerPc per l'esame di calcolatori elettronici :muro:
Sto rivedendo ora l'assembly PowerPc, avendo un paio di macchine con quell'architettura, ma è da malati di mente! :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.