PDA

View Full Version : Programmare in Assembler


HnACP
28-09-2006, 23:22
Buonasera a tutti, stavo cercando qualcosa sull'assembler e ho trovato questo sito
http://www.giobe2000.it/tutorial/
a me sembra un buon tutorial, anche se però alle volte nn molto chiaro.

Mi suggerite qualche manuale cartaceo disponibile in commercio?

grazie

Gino+89+
28-09-2006, 23:57
Purtroppo l'ultimo manuale (sull'8086) risale a parecchio tempo fa (92/94 x quanto ne so io) e non è più presente in commercio (al massimo lo trovi forse alla fiera dell'elettronica)...
In ogni caso devi vedere per prima cosa l'architettura (famiglia) del tuo eleboratore...e poi a seconda del S.O. che usi trovare una piccola guida sulla struttura del codice...successivamente per sapere tutte le istruzioni ti vai a vedere l'instruction reference (o interrupts file (per win)) che rilascia la casa costruttrice grutuitamente (oppure su siti secondari semplificato)...
Per ogni archittettura si usa una "grammatica/sintassi diversa" del codice, ma non spaventarti in quanto una volta capito il linguaggio poi passare da un'architettura all'altra (o S.O all'altro e viceversa) è una passeggiata...
Prova a vedere se trovi qualche tutorial online (ne trovi qualcuno su manuali.it se non ricordo male)...
In ogni caso che microprocessore usi?..8086?..famiglia i386?..famiglia x86?...
Che S.O.?..

Se programmi 8086 sotto win per iniziare prova a guardare quì:

71104
29-09-2006, 01:49
Purtroppo l'ultimo manuale (sull'8086) risale a parecchio tempo fa (92/94 x quanto ne so io) e non è più presente in commercio (al massimo lo trovi forse alla fiera dell'elettronica)... eeeeeeeehh?? :huh:

ma scusa, scaricarsi gratuitamente il manuale ufficiale dal sito della Intel no? :huh:

In ogni caso devi vedere per prima cosa l'architettura (famiglia) del tuo eleboratore...e poi a seconda del S.O. che usi trovare una piccola guida sulla struttura del codice...successivamente per sapere tutte le istruzioni ti vai a vedere l'instruction reference (o interrupts file (per win)) che rilascia la casa costruttrice grutuitamente (oppure su siti secondari semplificato)... "interrupts file".......? :mbe:
c'è qualcosa che non mi torna... tu ovviamente sai che i nove decimi della Int 2Eh di Windows NT non sono documentati, no? e ad ogni modo che c'entra?

Per ogni archittettura si usa una "grammatica/sintassi diversa" del codice, ma non spaventarti in quanto una volta capito il linguaggio poi passare da un'architettura all'altra (o S.O all'altro e viceversa) è una passeggiata... eh ammazza, si vede che non sei mai passato all'architettura Intel a 64 bit... :asd:

HnACP
29-09-2006, 08:14
Uso un processore intel pentium 4 3 Ghz con un xp pro

repne scasb
29-09-2006, 09:04
http://webster.cs.ucr.edu/

Gino+89+
29-09-2006, 13:58
eeeeeeeehh?? :huh:

ma scusa, scaricarsi gratuitamente il manuale ufficiale dal sito della Intel no? :huh:

HnACP: qualche manuale cartaceo...ed infatti poi io gli ho detto di documentarsi sul web come hai detto tu...(di carteceo in ita non trova nulla, almeno da quanto ho capito dal mio prof)


"interrupts file".......? :mbe:
c'è qualcosa che non mi torna... tu ovviamente sai che i nove decimi della Int 2Eh di Windows NT non sono documentati, no? e ad ogni modo che c'entra?

No io intendevo quello che ho messo nel mio zip (che da i valori di igresso e di ritorno delle istruzioni nei registri)...che dovrebbe girare con un normale tasm della borland (fm. 8086)...poi per roba recente non saprei..


eh ammazza, si vede che non sei mai passato all'architettura Intel a 64 bit... :asd:
No ho fatto l'8086 sia sotto win che unix, il preprocessore 5051 (sia emulato che con al vera scheda in seriale) e qualcosaltro...a 64 bit mai (perchè poi a scuola non c'è del materiale così recente e tanto meno a ka mia)..ma immagino immagino...

DanieleC88
29-09-2006, 14:22
http://webster.cs.ucr.edu/
Come sempre :ave:. ;)

Per tornare alla discussione, io avevo scritto una sorta di tutorial che volevo destinare proprio alla sezione programmazione per iniziare ad usare l'assembly. Poi ho capito che dovevo ancora impararlo bene io stesso per farlo. :D

Comunque, ogni tanto puoi trovare buone cose su siti come OndaQuadra (http://www.ondaquadra.org/).

71104
29-09-2006, 17:22
HnACP: qualche manuale cartaceo... embe' lo stampa o lo ordina... :fagiano:

(di carteceo in ita non trova nulla, almeno da quanto ho capito dal mio prof) e se anche trovasse roba in ita io gliela sconsiglierei

No io intendevo quello che ho messo nel mio zip (che da i valori di igresso e di ritorno delle istruzioni nei registri)...che dovrebbe girare con un normale tasm della borland (fm. 8086)...poi per roba recente non saprei.. eh, mi sa che ti sei perso giusto un paio di cosette, praticamente sei rimasto a una quindicina d'anni fa :asd:

71104
29-09-2006, 17:24
eh, mi sa che ti sei perso giusto un paio di cosette, praticamente sei rimasto a una quindicina d'anni fa :asd: ho visto ora il contenuto dello zip: facciamo una ventina :fagiano:

AngeL)
29-09-2006, 18:58
il tutorial su giobe2000 fa schifo: lho letto anche io e non ci ho capito una mazza.

Gino+89+
29-09-2006, 19:22
e se anche trovasse roba in ita io gliela sconsiglierei

giusto...


eh, mi sa che ti sei perso giusto un paio di cosette, praticamente sei rimasto a una quindicina d'anni fa :asd:

Bè i dispositivi input/output (stampante, porte, etc), stack, memoria e registri li piloti comunque (almeno su linux si, su win non ho provato,a perte la stampante ->un disastro. ma penso di si..)...chiaramente non è che mi metto a chiamare le api (su linux riesco a richiamare qualsiasi funzione standard c) ma quel poco che deve fare a basso livello lo fa...

HnACP
29-09-2006, 19:24
ok ok, ne deduco che sono in alto mare, a quanto sembra! :muro:

okay
29-09-2006, 19:51
ok ok, ne deduco che sono in alto mare, a quanto sembra! :muro:

http://xoomer.virgilio.it/ramsoft/

che ti sembra di questo...

HnACP
29-09-2006, 20:36
mmm, nn sembra male. Nn l'ho ancora letto tutto, cmq grazie per l'informazione, e anche a tutti quelli che mi hanno dato una risposta! :D

71104
29-09-2006, 20:48
Bè i dispositivi input/output (stampante, porte, etc), stack, memoria e registri li piloti comunque (almeno su linux si, su win non ho provato,a perte la stampante ->un disastro. ma penso di si..)... 1) in modalità protetta a 32 bit e in user mode non puoi eseguire le cosiddette privileged instructions, che includono anche le istruzioni assembly IN e OUT (significa che non puoi accedere al bus di I/O, e quindi col cavolo che li "piloti" i tuoi dispositivi di I/O...)
2) l'uso dello stack e l'indirizzamento della memoria negli ultimi 20 anni sono cambiati di molto
3) chiariscimi un attimo una cosa... io non me ne intendo di linux, ma linux ti permette di eseguire IN e OUT in modalità protetta e in user mode? :fagiano:

chiaramente non è che mi metto a chiamare le api un programma che non chiama le API non può fare nulla; può solo leggere e scrivere in memoria.

(su linux riesco a richiamare qualsiasi funzione standard c) ma quel poco che deve fare a basso livello lo fa... accedere al bus di I/O lo chiami poco?