In questa pagina trovate la mia "tesina" di maturità, scritta nel lontano anno scolastico 1982/83.
Perché la pubblico solo ora, a quasi mezzo secolo di distanza (nota 1)? Un collega mi ha segnalato che Bill Gates ha inserito in GitHib il 16 luglio scorso il suo codice BASIC for 6502 Microprocessor - Version 1.1. Io non voglio essere da meno :-)
Vogliate perdonarmi un'impaginazione tipica del tempo, fatta con macchina da scrivere (se ben ricordo una Olivetti Lettera 32) e stampante termica per i listati. I file non sono mai stati salvati, essendo il Rockwell AIM 65/40 in dotazione alla scuola privo di memoria di massa.
Vogliate perdonarmi anche le numerose ingenuità, tipiche di un lavoro fatto in completa autonomia da uno studente, prima di Internet.
Per scaricarla, cliccare sull'immagine seguente:
La tesina presenta una raccolta di programmi in linguaggio Assembly 6502, sviluppati sul microcomputer AIM 65/40.
Il lavoro si articola in tre sezioni:
Sono implementate routines per operazioni in multipla precisione, aggirando l'assenza di istruzioni complesse nel 6502. Le tecniche principali includono:
La sezione I/O descrive la gestione della sincronizzazione tra CPU e periferiche , dettagliando l'uso della Stampante (anche in modo grafico ad alta risoluzione) e della Tastiera/Display attraverso le routines della I/O ROM e la gestione diretta del chip 6522 VIA (Versatile Interface Adapter).
Sono presenti anche codici che utilizzano DCA, ADC e Timer.
Il culmine del lavoro è la realizzazione di un sistema di controllo in tempo reale della velocità di un motore in corrente continua.
Performance: questo sistema consente il controllo del motore con un tempo di reazione software inferiore a 150 μs , dimostrando come l'Assembly permetta di dedicare meno dello 0,1% del tempo CPU al controllo , lasciando la macchina libera per altri compiti.
Il lavoro si conclude con una verifica sperimentale che attesta la stabilità del controllo, pur evidenziando i limiti intrinseci dell'algoritmo ON-OFF.
Programmi in assembly per 6502
Copyright 1982-2025, Vincenzo Villa (https://www.vincenzov.net)
Creative Commons | Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)