Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Imparare l' assembly

  1. #1
    Utente di HTML.it L'avatar di KrOW
    Registrato dal
    Feb 2009
    Messaggi
    281

    Imparare l' assembly

    Ciao a tutti ... Conosco abbastanza il c++ (premettendo che sono un autodidatta) e vorrei entrare nel mondo della programmazione in assembly ... A questo proposito, vorrei sapere:
    E' possibile imparare l' assembly da autodidatta???
    Se si, potreste consigliarmi dei testi (o risorse online) da cui possa imparare (possibilmente in italiano)???
    Ringrazio anticipatamente ...
    C++ 4ever
    496e2062696e6172696f206e6f6e2063692061767265737469 206e656d6d656e6f2020726f7661746f203a29

  2. #2
    Imparare l'assembly da autodidatta non è facile ma nemmeno impossibile. Per avere un introdizione al linguaggio dai un'occhiata qui:
    http://it.wikibooks.org/wiki/Assembly
    Anche se per usarlo abbastanza bene dovresti orientarti su guide cartacee

  3. #3
    Utente di HTML.it L'avatar di KrOW
    Registrato dal
    Feb 2009
    Messaggi
    281
    Grazie per la risposta . . . Lo sò che la miglior cosa è attingere da testi cartacei (è stato cosí anche col c++) ma vorrei fare un acquisto sicuro, cioè non vorrei ritrovarmi in mano un testo che non sarei in grado di capire . . . Quindi quale testo mi consigli???
    C++ 4ever
    496e2062696e6172696f206e6f6e2063692061767265737469 206e656d6d656e6f2020726f7661746f203a29

  4. #4
    Utente di HTML.it L'avatar di xshell
    Registrato dal
    Apr 2008
    Messaggi
    157
    Fidati, segui i consigli che ti ho dato precedentemente.

    1) Impara i fondamenti di elettronica digitale: algebra di commutazione (che molto probabilmente già conoscerai), porte logiche, circuiti combinatori (tra cui i multiplexer, i demultiplexer, i sommatori e i moltiplicatori), circuiti sequenziali (in sostanza i bistabili, conosciuti come flip-flop, parola onomatopeica che deriva dal suono "flip" e "flop" che fa un relé, anche se sono tutt'altra cosa... sono i circuiti elementari che costituiscono la RAM... infatti un flip-flop singolo riesce a memorizzare un singolo bit...), i registri a scorrimento (insiemi di flip-flop e circuiti combinatori) e infine le macchine a stati finiti (FSM).

    Tali nozioni non sono molto complesse, ma se vuoi masticare assembly devi avere pazienza e studiarle.

    2) Poi ti consiglierei, come ti ho già detto, di cominciare con l'assembly del processore Zylog Z80. Abbastanza semplice. Se lo imparerai bene, non avrai molte difficolta a passare allo studio di assembly più complessi e con più parole chiave: il sistema degli assembly è identico. Leggi il PM.

    Prima parti con la dispenza e il simulatore che ti ho dato. Completa tutti gli esercizi sul simulatore e testa il programma (se non ti riesce qualcosa, chiedi pure aiuto... li ho già completati tutti, anche se a fatica). Poi compra un vero Zylog Z80, e un programmatore (con l'assembler) e una scheda... puoi scegliere tra la breadboard oppure una scheda forata (millefori) di rame o stagno (in questo caso però c'è la necessità di fare delle piccole saldature... e il processore non si stacca più... io ti consiglio di optare per una breadboard abbastanza grande)... cerca su Google che cos'è la breadboard e la scheda millefori. Poi compra delle lucine e crea dei programmi per creare dei luminari per il prossimo natale, che si accendono e spengono a intermittenza (se usi dei resistori graduati, ossia i cosiddetti "trimmer", puoi anche fare accendere e spegnere le lucine gradualmente... ma questo lo farai se ne avrai voglia per puro "divertimento" (ogni hanno preparo nuovi luminari... è un passatempo per me, molto divertente).

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da xshell
    Zylog Z80
    Ti correggo solo perche' sono affezionato al glorioso Zilog Z80 ...

    In linea di massima sono d'accordo che l'elettronica digitale si dimostri un aiuto per l'apprendimento dell'assembly (a me e' servita tantissimo in questo senso) ma non sarei cosi' categorico ... prova anche senza ...

    Inoltre, non ti consiglio la CPU Z80 per iniziare, ma la 6502 ... poche istruzioni, molto chiare e potenti per capire il "meccanismo" ...

    Poi, passa alla 8088 e seguenti ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it L'avatar di xshell
    Registrato dal
    Apr 2008
    Messaggi
    157
    Originariamente inviato da oregon
    Ti correggo solo perche' sono affezionato al glorioso Zilog Z80 ...

    In linea di massima sono d'accordo che l'elettronica digitale si dimostri un aiuto per l'apprendimento dell'assembly (a me e' servita tantissimo in questo senso) ma non sarei cosi' categorico ... prova anche senza ...

    Inoltre, non ti consiglio la CPU Z80 per iniziare, ma la 6502 ... poche istruzioni, molto chiare e potenti per capire il "meccanismo" ...

    Poi, passa alla 8088 e seguenti ...
    Ops... Hai ragione!

    Io gli ho consigliato il Zilog Z80, perché lui ha un simulatore inventato di un processore (non esistente realmente) che ha la sintassi molto simile a tale processore. Una specie di Z80 semplificato.

    Ecco il simulatore del mio mitico professore:



    Come puoi notare, A, B, D, E, H ed L, sono i nomi dei registri. A è il registro ALU riservato per le operazioni aritmetiche. Quella serie di zero sono i bit registrati, che durante l'esecuzione cambieranno stato a seconda del codice assembly. A destra invece hai le locazioni di memoria. Le prime 800 cellette (in esadecimale) sono riservate. Le altre memorizzeranno i dati che immetterai. La colonna a destra ti presenta la codifica ASCII del dato immesso.

  7. #7
    Utente di HTML.it L'avatar di KrOW
    Registrato dal
    Feb 2009
    Messaggi
    281
    Grazie per i consigli . . . Li terrò a mente . . .
    C++ 4ever
    496e2062696e6172696f206e6f6e2063692061767265737469 206e656d6d656e6f2020726f7661746f203a29

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da xshell
    ... A è il registro ALU ...
    Conosco l'assembly (dello Z80 in particolare ...) ... probabilmente ci lavoravo quando tu (forse) avevi i pantaloncini corti ...

    E in realta' A non e' il "registro ALU", ma il "registro accumulatore", collegato con l'ALU (che e' una unità funzionale interna dedicata alle operazioni Aritmetico Logiche).
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Elettronica digitale, schede forate... capisco che siano splendidi argomenti che consiglierei a chiunque, però vuole imparare l'assembler, non la microprogrammazione dei chip o la loro realizzazione hardware

    Credo che conoscere a livello software gli elementi base sia più che sufficiente, visto che alla traduzione a livello elettronico ci pensa comunque il processore, anche se scrivi in linguaggio macchina binario

    Credo che la guida che ti hanno linkato sia una buona introduzione, se poi giustamente preferisci il cartaceo, vai in una libreria scientifica, sfoglia e scegli quello che lo spiega nel modo più adatto a te... io col crescere della complessità degli os ho mollato quel mondo perchè ormai ci realizzi davvero poco... le chiamate di sistema son aumentate in maniera esponenziale e diventano ingestibili senza librerie di medio livello... quindi non ti so consigliare una guida ancora in stampa

    Chiaramente se lo fai per pura curiosità, il passo successivo sarà quello che ti citava xshell... quindi, se hai l'età giusta, ti consiglio d'iscriverti in ingegneria informatica, altrimenti di acquistarti per conto tuo i testi dei corsi, nell'ordine consigliato dal corso di studi, è un percorso completo ed un'ottima alternativa alle droghe
    UtèñtE non ti dirà mai come trasformare l'argilla in marmo, ma se gli chiederai come progettare una simulazione con le bacche di mirto, ti risponderà: "Versane ancora!".

  10. #10
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Noi al corso di calcolatori elettronici (tenuti da un pirla, purtroppo) stiamo facendo le reti logiche (mitermini, maxtermini, mappe di Karnaugh, implicanti) e dovremmo usare il Motorola 68000.
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.