Imparare Assembly

di Anonimizzato12759 il
13 risposte
Salve a tutti, è da un paio di mesi che voglio imparare l' assembly e volevo iniziare a leggere qualche manuale online prima di comprarmi un libro ma, a causa del fatto che esistono molti assembly e manuali in italiano buoni ne ho trovati pochi, non ho concluso nulla. Quale assembly mi consigliate e quale libro o manuale è buono per cominciare a impararlo da zero?

Aiutatemi.

13 Risposte

  • L'assembly è legato a triplo filo alla CPU che si usa.
    Oltre a questo è possibile che per la stessa CPU esistano compilatori assembler diversi, ognuno con le proprie caratteristiche.
    Ad esempio per Intel ci sono MASM, TASM, NASM (per windows); GAS per Linux (non conosco assembler per altri *nix), ma esistono anche CPU Sparc, Alpha, Mips, Arm, Microcontroller, Pic e chissà cos'altro.
    Quindi scegli prima una CPU, poi un ambiente di lavoro e si potrà consigliarti meglio.
  • Ce un motivo per il quale vuoi imparare l'assembly?
  • Salve

    Riguardo la CPU ho scelto Intel ma devo ancora dare bene un' occhiata ai vari assembler per capirne le differenze. Riguardo il libro cosa mi consigli?
  • Bomberdini ha scritto:


    Ce un motivo per il quale vuoi imparare l'assembly?
    Perché lo trovo utile e anche per curiosità.
  • Ok la curiosita va sempre alimentata.

    Sull'utilita, ce ne vedo poca. Io ho fatto un corso all'universita interessante ma non credo programmero mai in assembly o qualche azienda mi chiamera come programmatore assembly.

    Ci sono cose piu utili nell'informatica
  • Bomberdini ha scritto:


    Sull'utilita, ce ne vedo poca. Io ho fatto un corso all'universita interessante ma non credo programmero mai in assembly o qualche azienda mi chiamera come programmatore assembly.

    Ci sono cose piu utili nell'informatica
    Su questo non ho dubbi.
    Però ho notato che imparando un linguaggio di basso livello si imparano cose che non si possono imparare studiando un linguaggio di alto livello (Con questa frase non voglio scatenare nessuna guerra ).
  • Ricordo che all'esame c'era un esercizio da svolgere in assembly riguardante la somma degli elementi della diagonale principale e secondaria di una matrice.

    Tipicamente poche righe di codice in un linguaggio di programmazione ad alto livello invece in assembly scrissi tantissime righe di codice. Per fortuna ando bene
  • Bomberdini ha scritto:


    Ricordo che all'esame c'era un esercizio da svolgere in assembly riguardante la somma degli elementi della diagonale principale e secondaria di una matrice.

    Tipicamente poche righe di codice in un linguaggio di programmazione ad alto livello invece in assembly scrissi tantissime righe di codice. Per fortuna ando bene
    Si ho visto che è complesso ma questa stessa cosa mi incuriosisce anche.
  • ho notato che imparando un linguaggio di basso livello si imparano cose che non si possono imparare studiando un linguaggio di alto livello
    Assolutamente vero. Ed è anche vero che è molto difficile che troverai lavoro con quello, ma c'è sempre tempo per imparare un linguaggio che con una riga fa quello che in assembly si fa in tante righe. La "formazione di base" che ti dà assembly non te la fornisce nulla in questo campo, quindi ben venga.

    Del resto, se proprio vogliamo, si può anche "parlare" ai computer (evitando anche di scrivere quelle due righe ad alto livello ...) e ottenere risposte o esecuzione di comandi, ma sapere cosa c'è dietro a basso livello è un'altra cosa ...

    Io ti consiglio, per non confonderti, di cominciare con CPU molto semplici (ovviamente con degli emulatori); puoi imparare velocemente i concetti di base per poi muoverti più facilmente con CPU molto più complesse.
  • Sicuramente studiare assembly male non fa

    Magari tra qualche tempo ci racconterai la tua esperienza e se la tua vita lavorativa ne ha tratto beneficio
  • Da quale CPU mi consigliate di iniziare, e in base a cosa una CPU è più semplice rispetto un'altra?
  • la tua vita lavorativa ne ha tratto beneficio
    Non è facilmente misurabile ma anch'io ho iniziato dall'assembly e ne ho sicuramente tratto benefici. Certamente, erano altri tempi, oggi le esigenze sono diverse, ma non è detto che il suo futuro lavoro non sia nel campo della

    realizzazione firmware per motherboard
    scrittura codice di base per small devices
    implementazione codice in apparecchiature industriali/robotica

    Non tutti fanno "siti" ... anzi è veramente un settore inflazionato ...
    E comunque, la formazione "logica" gli sarà sempre utile ...

    Wolt ha scritto:


    Da quale CPU mi consigliate di iniziare, e in base a cosa una CPU è più semplice rispetto un'altra?
    Il set di microistruzioni (come numero e complessità generale) fa la differenza.

    Per imparare le basi anche una "primitiva" 6502 va benissimo ... ovviamente dovrai passare molto presto all'8088 e poi alla serie x86/x64 ...
  • oregon ha scritto:


    Per imparare le basi anche una "primitiva" 6502 va benissimo ... ovviamente dovrai passare molto presto all'8088 e poi alla serie x86/x64 ...
    Ok grazie vedrò se riesco a trovare su internet qualche informazione in più su questa CPU.
Devi accedere o registrarti per scrivere nel forum
13 risposte