Materiale per Progetto Assembly
del corso di Architettura degli Elaboratori
V.Ghini

Il progetto assembly del corso di architettyra degli elaboratori
richiede di utilizzare un assemblatore (completo di debugger)
per un assembly 8088 con alcune limitazioni.
Tale Assemblatore puo' essere scaricato da questi link

per Linux su Penthium e 80x86, UNIX system su processori little-endian e IntelSolaris (proc. Little Endian)
....... LtlendNx.zip
....... estrarre il software e compilare secondo le istruzioni contenute nel file read_me

per sistemi Windows fino a Windows XP compreso
....... MSWindos.zip
....... estrarre il software e compilare secondo le istruzioni contenute nel file read_me
....... oppure utilizzare gli eseguibili precompilati "as88.exe", "s88.exe" e "t88.exe"

per sistemi Windows Vista e Windows 7
....... PROGETTO Neri_Berardinelli Win.rar
....... estrarre il software e seguire le istruzioni contenute in Progetto_Neri_Berardinelli_Installazione_e_Utilizzo.pdf
....... per utilizzare l'assemblatore e il tracer nella shell di comandi GHINI_BOX.exe
....... Per ulteriori infrmazioni vedere PROGETTO_Neri_Berardinelli.pdf

per SPARCSolaris, Apple-MacIntosh X, Apple-Macintosh Linux (proc. Big Endian)
....... BigendNx.zip
....... estrarre il software e compilare secondo le istruzioni contenute nel file read_me

per tutte le altre piattaforme e' necessario generare gli eseguibili ricompilando i sorgenti.
Nelle directory "as_src" e "trce_src" ci sono sorgenti e Makefile per fare cio'.

Per ulteriori informazioni cercare direttamente nel sito del Tanenbaum
....... ftp://ftp.cs.vu.nl/pub/evert

Risoluzione di Errori Noti durante l'utilizzo dell'assemblatore
Qualora durante l'esecuzione dell'assemblatore as80 accada un errore
che fa terminare inaspettatamente il programma as88 stesso
producedo un messaggio d'errore di questo tipo:
*** glibc detected *** ./as88: double free or corruption (!prev):
[vsyscall] Aborted (core dumped)
occorre modificare i sorgenti di as88 come qui di seguito indicato e ricompilarli.
In particolare, editare il file comm4.c della directory as_src
sostituendo a ciascuna istruzione fclose(input);
il seguente blocco di istruzioni if(input!=NULL){ fclose(input); input=NULL; }