A cura di @Johnny Banana.
Il tema di questa ultima puntata è l’assembler, lo strumento che legge le istruzioni impartite dal programmatore in assembly e le traduce nel linguaggio macchina comprensibile al computer (ne avevamo parlato un paio di lezioni fa).
L’esercizio consiste nello sviluppo e implementazione di un assembler usando il vostro linguaggio di programmazione preferito.
Gli istruttori propongono un design modulare: un parser per suddividere le istruzioni nelle loro unità elementari; un encoder per effettuare la traduzione vera e propria, un’istruzione per volta; una tabella di simboli per gestire indirizzi di memoria e nomi di variabili.
La ricompensa sarà la possibilità di giocare a Pong contro un muro.
Esercizio bonus per solutori più che abili: modificare il codice per aumentare il punteggio barando :)
Se invece avevate preso alla lettera il titolo della serie (“…partendo da zero“) e non sapete programmare, niente paura: gli istruttori hanno pensato anche a voi e hanno preparato un set di programmi semplificati che potrete tradurre… con carta e penna, trasformandovi in pratica in un assembler umano!
Con questa lezione si conclude il primo corso.
Ricordiamo che è possibile seguire il corso gratuitamente su Coursera, oppure tramite una playlist su YouTube. Ulteriori approfondimenti sono disponibili sul sito ufficiale del progetto, nand2tetris.org
Commenta qui sotto e segui le linee guida del sito.