Questo repository include il necessario per programmare in Assembler su sistemi Mac OS nel corso di Reti Logiche, Ingegneria Informatica, Università di Pisa.
L'ambiente è adatto all'utilizzo sia su sistemi basati su Intel che sui nuovi basati su Apple Silicon.
Questo ambiente di sviluppo non è ufficiale. Si consiglia di far riferimento alle indicazioni e al sito dei docenti per eventuali modifiche o aggiornamenti.
Parte del materiale contenuto nel repository è quello ufficiale fornito dai docenti. In particolare, l'ambiente GAS per MS-DOS, la libreria utility.s con le funzioni per gestire I/O e i files demo.
Necessario:
- Visual Studio Code
- Estensione GNU Assembler Language Support
- Estensione Tasks
- Cartella di lavoro (⬇️ Download assembler.zip)
Scompattare la cartella di lavoro a piacimento nel proprio file system. Supponendo che il nome della stessa sia assembler, avviare Visual Studio Code e fare File > Open folder... e selezionare la cartella assembler.
La gerarchia della cartella di lavoro apparirà così (📷 Screenshot):
assembler # Radice cartella di lavoro
├── .vscode # Configurazione di VS Code
│ └── tasks.json
├── files
| ├── dosbox.app # Eseguibile DOSBox per Mac OS
│ ├── GAS
│ ├── tasks.sh
│ └── utility.s # Libreria I/O
└── demo
├── demo1.s
├── ... # Programmi di esempio
└── demo11.s
Contemporaneamente, nella taskbar di Visual Studio Code, appariranno tre pulsanti:
Creare o aprire un file Assembler (estensione .s) nell'editor.
È consigliabile creare delle sottocartelle a partire dalla radice della cartella di lavoro, all'interno delle quali inserire i files sorgenti Assembler, piuttosto che creare questi ultimi direttamente nella cartella principale.
In ogni caso, per includere la libreria di I/O, il percorso relativo da specificare è sempre a partire dalla radice:
.INCLUDE "./files/utility.s"
Ciò è in linea con il comportamento dell'ambiente di sviluppo fornito dai docenti per le piattaforme Windows/Linux.
Per utilizzare correttamente tutti i tasks sottostanti, è necessario che sia correttamente aperto e attivo un editor con un file Assembler (.s).
Per assemblare il codice, fare clic su Assemble in basso a sinistra nella barra. Si aprirà una finestra di DOSBox per eseguire l'assemblaggio. Se non si verificano errori, verrà chiesto solo di premere un tasto qualsiasi per uscire, altrimenti, verrà anche mostrato l'output dell'assemblatore.
Per eseguire il codice, dopo averlo correttamente assemblato, fare click su Run in basso a sinistra nella barra. Il proprio programma verrà eseguito sotto DOSBox. Al termine dell'esecuzione, verrà chiesto di premere un tasto qualsiasi per terminare l'emulatore.
Per debuggare il codice, dopo averlo correttamente assemblato, fare click su Debug in basso a sinistra nella barra. Verrà lanciato GDB sotto DOSBox.
Rispetto all'ambiente originale, basato su DOSBox, per Windows, sono stati risolti i problemi noti:
- L'assemblatore non corrompe il file sorgente
- Nessun problema di lunghezza del nome del file
Di default, l'ambiente è configurato per non mostrare il terminale di sistema con l'output dello script che esegue i tasks. Per modificare questo comportamento, modificare il file .vscode/tasks.json impostando:
"reveal": "always"
Made with ❤️ by Giuseppe Rossi