|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Testo su assembly Cercasi
Ciao a tutti, volevo imparare un po' l'assembly, se non altro per capire al meglio l'architettatura di una CPU 80x86 , e volevo un testo abbastanza universale , che mi insegnasse l'assembly su linux, quindi con sintassi Intel per NASM (l'assemblatore che uso) .
Vi ringrazio tanto per la vosta disponibilità Ri-CIao
__________________
GPU Compiler Engineer |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Perchè prprio il NASM ?!?!!?
Usa l'as del GCC... E' quello che usano anche per compilare parte del kernel... |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Ah ok, se mi dici che è meglio AS allora uso AS
Comunque allora un testo su AS , ne conosci? Ciao
__________________
GPU Compiler Engineer |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
No
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Quote:
SI accettano altri suggerimenti utili come quello di Cionci Ciao
__________________
GPU Compiler Engineer |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ad esempio questo è codice per il gcc...
E' una parte di un mio esame... E' la traduzione di una funzione appartenente ad una classe C++... Codice:
.text dieci: .double 0e10 venti: .double 0e20 .globl _elab2__2clG2stR2cl _elab2__2clG2stR2cl: pushl %ebp movl %esp, %ebp subl $84, %esp pushl %eax pushl %ebx pushl %ecx pushl %edi pushl %esi pushl 92(%ebp) leal -80(%ebp), %eax #cca pushl %eax call ___2clR2cl addl $8, %esp movl $0, -84(%ebp) #i=0 inFor1: cmpl $4, -84(%ebp) #i<4 jl coFor1 jmp fiFor1 coFor1: movl -84(%ebp), %ecx leal 16(%ebp), %eax #ss fldl (%eax,%ecx,8) #ss.vv[i] movl 92(%ebp), %eax #cc fcompl 4(%eax,%ecx,8) #compara con cc.s.vv[i] fstsw %ax andw $0x0100, %ax jnz coIf1 jmp coElse1 coIf1: leal 16(%ebp), %eax #ss fldl (%eax,%ecx,8) #ss.vv[i] movl 12(%ebp), %ebx #this faddl 4(%ebx,%ecx,8) #+ s.vv[i] leal -76(%ebp), %eax #ss fstpl (%eax,%ecx,8) #cca.s.vv[i] = jmp fiIf1 coElse1: fldl dieci #10 movl 12(%ebp), %ebx #this faddl 4(%ebx,%ecx,8) #+ s.vv[i] leal -76(%ebp), %eax #ss fstpl (%eax,%ecx,8) #cca.s.vv[i] = fiIf1: incl -84(%ebp) jmp inFor1 fiFor1: movl $4, -84(%ebp) #i=0 inFor2: cmpl $8, -84(%ebp) #i<8 jl coFor2 jmp fiFor2 coFor2: movl -84(%ebp), %ecx leal 16(%ebp), %eax #ss fildl 64(%eax) #ss.a movl 92(%ebp), %eax #cc fcompl 72(%eax) #compara con cc.s.b fstsw %ax andw $0x0100, %ax jnz coIf2 jmp coElse2 coIf2: fldl 16(%ebp,%ecx,8) #ss.vv[i] movl 92(%ebp), %ebx #this faddl 4(%ebx,%ecx,8) #+ cc.s.vv[i] fstpl -76(%ebp,%ecx,8) #cca.s.vv[i] = jmp fiIf2 coElse2: fldl venti #10 movl 12(%ebp), %ebx #this faddl 4(%ebx,%ecx,8) #+ s.vv[i] fstpl -76(%ebp,%ecx,8) #cca.s.vv[i] = fiIf2: incl -84(%ebp) jmp inFor2 fiFor2: leal -80(%ebp), %eax #cca pushl %eax pushl 8(%ebp) #ritorno call ___2clR2cl addl $8, %esp popl %esi popl %edi popl %ecx popl %ebx popl %eax leave ret gcc sorgente.asm -o output Ovviamente output è il file eseguibile... Se ci devi linkare anche altri file C o C++ basta fare : gcc sorgente1.c sorgente2.asm sorgente3.c -o output gcc sorgente1.cpp sorgente2.asm sorgente3.cpp -o output -lgpp |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Aug 2002
Messaggi: 581
|
Io libri di as per Linux non ne ho mai trovati. Li ho cercati assiduamente anche in librerie specializzate ma ... niente da fare. Del resto il libraio benche' specializzato, su di un tema cosi' specifico, non puo' essere d'aiuto.
Non mi dispiacerebbe venire smentito dal suggerimento di un testo. Cmq. ci si puo' arrangiare abbastanza bene con internet p.e. cercando con google "tutorial assembly linux". Si trovano diverse cose interessanti. Ciao. |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Io un libro in realtà ce lo avrei: http://www.ateneonline.it/LibroAteneo.asp?item_id=916
E' il mio libro di calcolatori elettronici... |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Aug 2002
Messaggi: 581
|
Quindi, tu che lo utilizzi, mi sapresti dire se la sintassi per assembly contenuta nel testo e' quella AT&T ?
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Lì usano come compilatore DJGPP che è un porting Windows del GCC...
La sintassi è quella appunto di as... Non so quale sia la sintassi AT&T... |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Aug 2002
Messaggi: 581
|
Ok. Indirettamente mi hai risposto. DJGPP usa la sintassi AT&T(cosi ho letto in giro). Inoltre vedendo il listato della tua precedente risposta corrisponde a quanto sto' leggendo sui tutorial del caso trovati su Internet.
Grazie. Ciao. |
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Jul 1999
Città: Roma
Messaggi: 614
|
Re: Testo su assembly Cercasi
Quote:
Linux assembly language programming - Bob Neveln Che dovrebbe trattare la sintassi intel per nasm...comunque oltre al nome non so altro e non ho idea di come sia come testo. Andrea
__________________
...What you know that you time is close at hand, maybe then you'll begin to understand, life down there is just a strange illusion. |
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Roma
Messaggi: 614
|
Dimenticavo che e' in inglese.
Andrea
__________________
...What you know that you time is close at hand, maybe then you'll begin to understand, life down there is just a strange illusion. |
|
|
|
|
|
#14 | |
|
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
Il libro che ti consiglio si chiama: Assembly Language Step by Step di Jeff Duntemann edito da John Wiley & Sons. E' un libro introduttivo e copre anche una parte su NASM sia sotto Dos che sotto Linux. La parte Linux è la parte finale, ma stai tranquillo che moltissima differenza non c'è fatti alcuni chiarimenti. Se poi che ti serve per imparare l'architettura questo testo è + che consigliato a te, perchè presenta esaurienti capitoli sull'architettura e l'aritmetica binaria, conversioni binarie, esadecimali, ecc. ecc. E' anche simpatico da leggere. Ciao. |
|
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Aug 2002
Messaggi: 581
|
Quote:
Era da un po' che pensavo d'affrontare lo studio su come si sviluppa un sistema operativo, no non voglio svilupparne uno c'e' gia' chi l' ha fatto per noi, ora mi rendo conto che probabilmente senza le informazioni che ho avuto da questo testo, la comprensione di diverse cose annesse all'argomento SO sarebbe stata ardua. Una nota e' doverosa : e' rivolto al mondo universitario(credo) quindi non gira intorno ai discorsi e va dritto al punto... cio' significa che da' per scontato alcune cose, e se non ne si e' a conoscenza occorre approfondire in altra sede. |
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Sì...è il libro di testo del mio corso di Calcolatori Elettronici...
|
|
|
|
|
|
#17 | |
|
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
|
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
|
Tra gli autori c'è Paolo Corsini..non sarà quello del nostro forum...
Mi sa di si Nel corso di Architettura degli elaboratori io ho usato il libro di Tanembaum 'Architettura deli computer'(mi pare), magari può interessare...
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer |
|
|
|
|
|
#19 | |
|
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
|
|
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Sono tutti e 3 miei prof...compreso Paolo Corsini (che ovviamente non è quello di questo sito)...
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:00.



















