didattico
mercoledì 18 Maggio 2011 - 11 Commenti
Pdp 8 Emulator in python, settima parte.

Introduzione
In questo ultima parte illustrerò come sono stati utilizzati i vari widgets per realizzare l’editor e l’emulatore. Come vedrete, una volta capito il funzionamento della libreria, sarà molto semplice implemtentare soluzioni per le vostre necessità. Spero che gli esempi siano abbastanza chiari, così da potervi permettere di sperimentare autonomamente la creazione di programmi multipiattaforma con tkinter.
Per prima cosa vediamo il codice di Editor:
Come potete vedere dal costruttore, oltre alla finestra principale viene passato anche calcolatore (oggetto creato con la classe pdp8 dei precendeit articoli). Questa finestra non è molto complessa, …

martedì 10 Maggio 2011 - Commenta
Pdp 8 Emulator in python, sesta parte.

Introduzione
Questa serie di articoli sul pdp8 sta volgendo al termine. Come avete potuto notare, mi sono soffermato più sulle scelte e sui metodi utilizzati per realizzare il programma che sul funzionamento del processore, ma solo perché il mio obbiettivo è più generale e con queste ultime puntate spero di raggiungerlo. Infatti vedremo come contornare il nostro programma scritto in python con una adeguata interfaccia grafica, se pur molto spartana, per interagire con l’utente.
Tkinter ha tra i suoi pregi quello di essere leggera e semplice da utilizzare. Magari non ha tutte …

martedì 3 Maggio 2011 - 2 Commenti
Pdp 8 Emulator in python, quinta parte.

Introduzione
In questa parte vedremo con svolge l’esecuzione il calcolatore. Dopo l’introduzione delle micro-istruzioni, l’esecuzione non è più stata legata solo alle variabili di controllo, ma anche da una terza che rappresenta il tempo di clock. Infatti l’esecuzione temporale del programma (per capirci, l’iterfaccia utente) è completamente scollegata da quella interna.
Il pdp8 è legato fondamentalmente da un clock a 4 tempi e questo condizionerà tutto il codice che si vedrà in questa parte. Non è una scelta personale, infatti il pdp8 eseguiva una microi-istruzione (alcune possono essere eseguite in “contemporane”, quindi …

mercoledì 6 Aprile 2011 - 5 Commenti
Pdp 8 Emulator in python, quarta parte.

Introduzione
In questa parte analizzeremo l’istruzione più delicata presente nel pdp8, ovvero quella che carica il contenuto del codice assembly, trasformandolo in codice macchina, nel nostro calcolatore didattico. Vedremo anche alcune funzioni utili per controllare lo stato della macchina durante l’esecuzione.
Ho già apportato le modifiche suggerite nel precedente articolo, di conseguenza il codice dovrebbe essere ancora più comprensibile. Non ho convertito il core per funzionare con gli interi, ma questa scelta è prettamente personale, poiché abbiamo già visto che porterebbe un incremento di prestazioni, che comunque non è rilevante ai fini …

mercoledì 30 Marzo 2011 - 22 Commenti
Pdp 8 Emulator in python, terza parte.

Introduzione
In questo articolo analizzeremo i metodi statici che sono presenti nella classe pdp8. Prima però vorrei parlare di qualcosa di più generale: se avete seguito i commenti del precedente post, potete aver notato come alcune soluzioni, se pur funzionanti, possano essere più facili o difficili, oppure meno performanti di altre.
Quando iniziate un progetto, dovete tener bene in mente dei punti fondamentali :

Fare un’attenta analisi del problema da risolvere (problem setting)

Cercare di modellizzare il problema (visualizzandolo logicamente, magari con strutture a blocchi. Questa parte dipende molto dalla natura del problema)

martedì 22 Marzo 2011 - 14 Commenti
Pdp 8 Emulator in python, seconda parte.

Introduzione
Partiamo subito analizzando il cuore dell’applicazione, cioè la parte che simula il calcolatore pdp8, ma prima devo ringraziare Walter Valentini per aver trasformato in un package python il programma, cosa che non avevo il tempo di fare (questa è la cosa più bella dei progetti open source, cioè che più persone possono contribuire per migliorare l’applicazione).
Il file del quale sto parlando è pdp8.py, il cuore pulsante dell’emulatore. La classe pdp8 contenuta in questo file, rappresenta il nostro calcolatore didattico.
Codice
Analisi

Osserviamo per prima cosa come viene inizializzata la macchina. Come ho già …