Newsgroup: it.comp.lang.c++
Titolo: [X-Post] Programmare il Motorla 68000 ...

Prima di tutto un saluto all'intero newsgroup.
Poi mi scuso con voi x il cross-post ma non so come fare per questo
problema...
Sto simulando in c++ il processore della Motorola 68000.
Devo scrivere le funzioni che il processore dee implementare (ADD,ADDI,
ecc.ecc.) ma non so da dove iniziare...
Vi prego c'č qualcuno che mi puň aiutare ?!?
Ogni suggerimento č ben accetto...
Grazie

 ecc.ecc.) ma non so da dove iniziare...
In che senso? Cosa hai fatto per ora?
-- 
Luc.

 In che senso? Cosa hai fatto per ora?
Il problema è questo...
Sono in un gruppo con 2 persone e loro hanno creato l'assemblatore, che è la
parte più grossa.
Ora bisogna sviluppare il simulatore,implementando tutte le funzioni...
Io sto cercando qualcosa di già fatto, per capire almeno da dove iniziare,ma
non trovo NIENTE !!!
Ho tutti i manuali del 68k possibili, quindi credo che con qualche dritta
potrei andare avanti...
Non voglio scopiazzare a casaccio, devo sostenerci un esame su questo
progetto !!!

 ha scritto nel messaggio
news:bai6mr$v6h$1...@lacerta.tiscalinet.it...

qui a napoli per calcolatori elettronici I usiamo come simulatore l'Asim. Lo
trovi a questo link, magari puoi prendere spunto:
http://140.164.58.2/coronato/corso_calcolatori/corso_materiale.htm
 (colonna
centrale)
ciao!

 qui a napoli per calcolatori elettronici I usiamo come simulatore l'Asim.
Se non ho capito male, io dovrei creare un simulatore !!!
Cioč dovrei scrivere in c++ le istruzioni che facciano capire che il 68k
deve fare la somma (e come la deve fare) se riceve un'istruzione ADD.Tutto
l'assembler č gią stato fatto...


quindi vuoi proprio dei sorgenti di esempio?

 quindi vuoi proprio dei sorgenti di esempio?
Beh sě...
O dei sorgenti oppure degli aiuti su come poter scrivere le istruzioni...
Il problema č che le funzioni sono una cinquantina, quindi almeno capire
come si scrive in c++ il listato di quelle piů semplici sarebbe un'ottima
cosa ...

 ha scritto nel messaggio
news:bai94o$mk$1...@lacerta.tiscalinet.it...

domani devo fare un'esercitazione di calcolatori I. Vedo se posso copiarmi i
sorgenti (č open source)
ciao


Grazie sei molto gentile
A domani
Ciao

 Vi prego c'è qualcuno che mi può aiutare ?!?
A questo indirizzo trovi un simulatore di Von Neumann, con un Set di
Istruzioni per la "Ceglia Virtual Machine", Compilatore, Macchina Virtuale e
qualche esempio di files sorgenti .asm per la Macchina Virtuale:
www.xungame.com/vonneumann.zip
Funziona a Linea di comandi, in pratica ti basterebbe modificare il
simulatore scambiando il set di istruzioni da me inserito che appartiene ad
una ipotetica "Ceglia Machine" che non esiste realmente con il set di
Istruzioni del Motorola 68000 e con l'architettura del motorola, e dovresti
essere apposto.
IL compilatore non ti serve perchè compila il set di istruzioni per la
Ceglia Machine e tu hai detto che hai già il compilatore per Motorola 68000,
quindi puoi modificare solo il Simulatore, scambiandogli il Set di
Istruzioni con il tuo Set di Istruzioni (ovvero il Motorola 68000)
Questo mio progetto è un esempio utilissimo per chi volesse scrivere un
emulatore o una virtual machine, come nel tuo caso, è commentato, pulito e
ben strutturato.
I file che ti ho messo, compilano perfettamente con il Dev C++ 4.96, ovvero
le ultime versioni di Dev C++ che puoi trovare sul sito di BloodSheed:
http://www.bloodshed.net/
 dovrebbe essere. Poi se provi con altri
compilatori mi fai sapere, io non ho utilizzato librerie particolari ma
putroppo ogni compilatore funziona a modo suo comunque. Questo l'ho provato
con Dev C++ 4.96 e 4.98 e compila, con altri dovrebbe ma non posso
garantirtelo.
:-P
I sorgenti che ci sono, scritti da me non compilano sicuramente con le
vecchie versioni di Dev C++, come per esempio la 4, se ti servono i sorgenti
per la 4, te li posso inviare, ma hanno parecchi errori, come per esempio un
doppio errore gravissimo, quindi se non ti compilano ti consiglio di
adattare comunque quei sorgenti e non chiedermi quelli per la 4, altrimenti
impazziresti per farli funzionare, correttamente.
Ciao.

 ecc.ecc.) ma non so da dove iniziare...
su 
cpp.programmazione.it
 trovi un mio articolo in cui spiego come realizzare
un simulatore per la macchina di von neumann, con tanto di sorgente. Magari
ti puo` essere d'aiuto.
ciao Anto
-- 
"Computer science is not about computers any more than astronomy
is about telescopes." -- EW Dijkstra

Grazie
Qualche tempo fa ho scritto un emulatore di 6502 e come
esempio di uso un emulatore (molto rozzo) di Apple ][.
La roba e' disponibile sul mio sito (
www.gripho.it
)...
l'emulatore pero' e' scritto in assembler per 386 o
superiore e quindi non credo che quei sorgenti ti
interessino un granche'.
Non riesco a capire pero' esattamente che tipo di
problema hai ... non sai come "impostare" la cosa in C++ ?
Una delle cose principali credo che sia la necessita'
di prevedere una callback per tutti gli accessi alla
memoria perche' quel processore usa (come il 6502) un
I/O mappato e non istruzioni particolari.
Un sistema che ho usato nel mio emulatore per non
rallentare troppo e' quello di avere un limite di
indirizzo entro cui la memoria e' usata come semplice
memoria e invece un meccanismo di callback per gli
accessi oltre questo limite.
Un'altra cosa importante se vuoi fare un emulatore
"serio" e' una simulazione accurata dei tempi di
esecuzione; nel mio caso tengo un contatore dei cicli
di clock trascorsi che viene aggiornato per ogni
istruzione; la parte di emulazione puo' poi essere
chiamata con il numero totale di cicli 6502 da
eseguire.
Se le prestazioni dell'emulatore non sono importanti
come non e' importante l'emulazione del tempo di
esecuzione le cose sono un po' piu' semplici.
Forse comunque partire con un processore piu' piccolo,
magari inventato prendendo solo qualche istruzione come
esempio, puo' esserti di aiuto.
Un 68K completo e' secondo me decisamente complesso
come primo emulatore da realizzare...
HTH
Andrea