Materiale o guide per assembly

di il
6 risposte

Materiale o guide per assembly

Salve ragazzi

Volevo sapere se qualcuno di voi conosce un sito,libro, qualsiasi cosa dove poter trovare esercizi o teoria per imparare il linguaggio assembly.
Vorrei iniziare a studiare seriamente ma parto da zero e mi risulta difficile.Cercando sulla rete trovo solamente slides di varie
università e capisco ancora meno poichè non sono ad esempio un manuale o libro,ma soltanto delle singole lezioni o argomenti.
Vi ringrazio in anticipo.

6 Risposte

  • Re: Materiale o guide per assembly

    Hai omesso il dato in assoluto più importante: di quale architettura e core tra le decine di migliaia esistenti vuoi imparare il linguaggio Assembly? Ogni core ha il suo set di istruzioni ISA e il suo Assembly specifico, sono tutti sostanzialmente diversi.

    Comunque, supponendo per default che ti interessi la banale piattaforma mainstream Intel, nella prima parte di questa bibliografia trovi già molto più materiale di quanto ne serva per un corso di laurea e di specializzazione sull'argomento.
  • Re: Materiale o guide per assembly

    python34 ha scritto:


    Salve ragazzi

    Volevo sapere se qualcuno di voi conosce un sito,libro, qualsiasi cosa dove poter trovare esercizi o teoria per imparare il linguaggio assembly.
    Vorrei iniziare a studiare seriamente ma parto da zero e mi risulta difficile.Cercando sulla rete trovo solamente slides di varie
    università e capisco ancora meno poichè non sono ad esempio un manuale o libro,ma soltanto delle singole lezioni o argomenti.
    Vi ringrazio in anticipo.
    @MAW ha la tendenza ad esagerare: serve a poco avere DECINE DI RIFERIMENTI, ne SERVE UNO, al massimo DUE!!!

    Il problema e': a che ti serve conoscere l'Assembly?

    Nel 99.9% dei casi non ti serve a nulla: gli attuali compilatori C/C++ riescono a fare un GRAN LAVORO nel convertire un codice scritto in un linguaggio ad alto livello nell'equivalente assembler.
    Non solo: sono in grado di utilizzare tecniche di ottimizzazione che il programatore medio non e' minimanente in grado di utilizzare.

    Una alternativa interessante e' quella di INTEGRARE l'applicazione scritta in C/C++ con routine scritte in assembler, per motivi di performances.

    In questo caso, ti basta la documentazione fornita con il compilatore su come integrare i due codici, e lo studio di particolari istruzioni assembler che servono per le tue necessita.

    Ma si puo' fare pure di meglio: potrebbe NON SERVIRE nemmeno conoscere l'assembler!

    Attuamente tutti i compilatori C/C++ mettono a disposizione una serie di funzioni intrinsics: sono istruzioni assembler che puoi utilizzare come NORMALI FUNZIONI C, ed e' il compilatore che si arrangia a fare la conversione DIRETTA.

    In questo modo puoi accedere alle istruzioni PIU' INTERESSANTI della piattaforma hardware, USANDO un linguaggio ad alto livello (e quindi maggiormente mantenibile).

    Personalmente ti consiglierei quest'ultima strada (l'utilizzo delle funzioni intrinsics, al limite integrazione Assembler+C/C++): e' un approccio molto generale che un domani potrai riutilizzare anche in altri contesti (ad esempio per programmare su PowerPC della IBM, o su qualche megaprocessore ultrapotente di futura generazione )


    https://software.intel.com/sites/landingpage/IntrinsicsGuide/
    http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
    https://www.amazon.com/Introduction-Bit-Windows-Assembly-Programming/dp/1484921968/ref=pd_bxgy_14_img_2?ie=UTF8&psc=1&refRID=PWY4Z3FECG9D3GE0HH44 (c'e' anche la versione per Linux)

    Se si lavora in assembler, un tool molto utile e' il disassemblatore:

    https://www.amazon.com/IDA-Pro-Book-Unofficial-Disassembler/dp/1593272898/ref=pd_sim_14_8?_encoding=UTF8&pd_rd_i=1593272898&pd_rd_r=TRCKQCRCTPX4NA61BWM5&pd_rd_w=tIIdj&pd_rd_wg=Iya5l&psc=1&refRID=TRCKQCRCTPX4NA61BWM5
  • Re: Materiale o guide per assembly

    Si,scusami MAV hai ragione.All'università sto studiando il Mips e uso i libri del professore,ma ha iniziato ad interessarmi
    la materia e vorrei appronfondire questo argomento.Cosi ho risposto a tutti e due

    Diciamo che da una parte ho la necessità di studiare per l'università mentre dall'altra per interesse personale, ma
    iniziando ad affrontare l'argomento seriamente mi sono ritrovato confuso e diciamolo anche spaventato.
  • Re: Materiale o guide per assembly

    Per l'Assembly MIPS le fonti maggiormente affidabili e didatticamente più efficaci sono:

    • D. Sweetman, "See MIPS run ! 2nd ed.", Morgan Kaufmann

    • Farquhar & Bunce, "The Mips Programmer's Handbook", Morgan Kaufmann

    • R. Britton, "MIPS Assembly Language Programming", Prentice Hall

    Peraltro citate in calce anche in questa bibliografia.
  • Re: Materiale o guide per assembly

    Grazie mille per le risposte
  • Re: Materiale o guide per assembly

    Anche io sarei interessato a conoscere qualche testo con riferimento alle seguenti caratteristiche:

    Sintassi: AT&T
    S.O.: Linux
    Proc.: AMD
Devi accedere o registrarti per scrivere nel forum
6 risposte