Programming with 64-bit ARM assembly language SBC

Programming Assembly

Programming with 64-bit ARM Assembly Language estende ed approfondisce la propria conoscenza del linguagio per interagire a 64 bit con SBC e MCU.

Questo volume fa “il paio” con quello che abbiamo recensito la scorsa settimana, intitolato Raspberry Pi Assembly Language Programming for ARM.

Spinti dalle richieste dei nostri lettori, proseguiamo sul cammino verso lo studio del linguaggio Assembly per ARM, che ci consentirà a breve di affrontare una serie di tutorial al riguardo, magari in video sul nostro canale YouTube.

Il nostro cruccio attuale consiste nel capire quale focus approfondire: Assembly di base? Pilotaggio del GPIO? Protocolli di comunicazione? Piccoli progetti funzionanti e commentati?

Fateci conoscere le vostre preferenze al riguardo!

Il link

L’autore: Stephen Smith

Stephen Smith è un software architect in pensione, con sede a Gibsons, BC, Canada. È stato attratto dallo sviluppo di software sin dal liceo, troppi anni or sono per ricordarli esattamente.

Ha lavorato alla Linea di prodotti contabili Sage 300 per 23 anni. Da quando è in pensione, ha approfondito le tematiche legate all’Intelligenza Artificiale, acquisito una licenza avanzata per radioamatori, e si diletta con mountain bike, escursionismo e fotografia naturalistica. Continua a scrivere sul suo popolare blog di tecnologia su smist08.wordpress.com e ha scritto due romanzi di fantascienza in una serie, Influence, disponibile su Amazon.

Il formato

 

Programming 64-bit Assembly

Il libro conta 436 pagine, divise in 16 capitoli e 5 appendici:

  1. Getting started
  2. Loading and adding
  3. Tooling up
  4. Controlling the program flow
  5. Thanks for the memories
  6. Functions and stack
  7. Linux operating system
  8. Programming GPIO pins
  9. Interactiing with C and Python
  10. Interfacing with Kotlin and Swift
  11. Multiply, divide and accumulate
  12. Floating-point operations
  13. NEON coprocessor
  14. Optimizing code
  15. Reading and understanding code
  16. Hacking code
  17. Appendix A – The ARM instruction Set
  18. Appendix B – Binary formats
  19. Appendix C – Assembler directives
  20. Appendix D – ASCII character set
  21. Appendix E – Answers to exercises

L’effetto di Deja-Vu è forte in questo testo… e i più attenti vi avranno riconosciuto una apparente identità virtuale rispetto al testo della scorsa settimana. Le tematiche affrontate sono invero molto simili (dal momento che il linguaggio Assembly è quello, non cambia), ma mentre nel testo precedente si lavorava più sul teorico, mostrando quindi il sistema Thumb, ASM 32 e ASM 64, in questo testo vengono affrontate tutte le tematiche relative alla versione a 64 bit. Inoltre è stata aggiunto un capitolo relativo all’interfaccia con Kotlin e Swift, mentre abbiamo il nuovo capitolo Hacking code.

Gli stessi capitoli sono stati estesi, per rappresentare le specifiche della nuova architettura a 64 bit caratteristica del Raspberry PI o del Jetson Nano.

Da notare, infine, che Programming with 64-bit ARM Assembly Language conclude ciascun capitolo con una sezione dedicata agli esercizi, le cui risposte si trovano in fondo al volume.

A chi è diretto

Ci troviamo di fronte ad un testo particolare. Le caratteristiche sono quelle di un saggio didattico, mentre l’impostazione risulta più vicina al manuale tecnico. La ricchezza degli esempi lo rende un mezzo assolutamente valido per apprendere e (soprattutto) approfondire le proprie conoscenze nel campo della programmazione Assembly a 64 bit su schede SBC.

In particolare le sezioni dedicate all’ottimizzzione consente di trovare interessanti escamotages che aggirano i problemi o migliorano le prestazioni del compilatore C classico, tanto in misura del codice generato quanto in efficienza di esecuzione.



Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.