Codi senyal "1"
Codi senyal "0"
Bus de dades
Assemblador
0 1 2 3 PC +1 MUX 1-0 M A ALU A: B: D F CO 16 16 16 16 16 16 7 7 7 7 7 7 RAM L/E M B M IR Z FZ ALU 1-0 CO 1-0 @ +1 PC L/E FZ DADES Sortida Entrada (@): 0 0 @: @D: @F: PC: 0 00 0 0 0 0 0 00 00 0 0 0 0 0 0
0


Benvinguts a la consola del simulador de la màquina senzilla. Presteu-li atenció!

Memòria

Etiqueta Adreça Instrucció
Etiqueta Adreça Dades

Manual d'ús

Compatibilitats amb el navegador

Els navegadors on s'han fet proves de visualització han sigut: Google Chrome, Mozilla Firefox, Opera, Internet Edge, Safari i Internet Explorer. L’únic navegador que dona problemes a l’hora de visualitzar les imatges SVG i les seves animacions és Internet Explorer.

L'aplicació ha estat dissenyada i testejada sobretot en Firefox. Qualsevol comportament fora del normal en aquest navegador o en qualsevol altre que no sigui Internet Explorer notifiqueu-lo. Gràcies.


Resolució del navegador

Respecte a la resolució mínima per a una correcta visualització s’ha optat per la 1024x768. Si la resolució es més baixa es pot trobar que la visualització de l’aplicació no sigui del 100% correcta.

Qualsevol error visual a partir d'aquesta resolució i per a qualsevol navegador suportat notifiqueu-lo. Gràcies.


Botons de control de l'aplicació

Clock -: Retrocedeix el flux de dades fins al flanc de rellotge anterior. Ho pot fer fins a l'estat inicial del programa.

Clock +: Simula el flanc de pujada de la màquina senzilla. Aquest botó fa que per pantalla es visualitzi el flux de dades.

Reset: Aquest botó reinicia la màquina però no la memòria.

Kill: Inicialitza tota la màquina senzilla, incloent-hi la memòria.

Seleccionar fitxer: Ens permet carregar un fitxer amb extensió ".txt" amb instruccions i dades per carregar a la memòria.

Editar memòria: Ens permet editar la memòria directament.

Llegenda de colors: Botons que ens permeten canviar els colors dels senyals de control i del bus de dades.

Assemblador: Checkbox que ens permet visualitzar en mode assemblador el contingut de la màquina.


Manual de la Màquina Senzilla

Càrrega del fitxer de configuració i edició de la memòria

Per a l'entrada d'INSTRUCCIONS, la nova aplicació de la màquina senzilla processarà línia per línia les instruccions entrants que tindran una sintaxi especifica:

  • Etiqueta o numero (Opcional): Serà un string seguit de dos punts ":" (ex: "inici:"). També podrà ser un enter seguit amb dos punts, en aquest cas ens guardarà la instrucció en la posició d'aquest enter. (ex: "15:").

    Sense el marcador s'aniran omplint automàticament els espais buits per a instruccions lliures.

  • Tipus operació: Les normals de la màquina senzilla, (add | mov | cmp | beq).

  • Operador Font (no necessari en "beq"): Pot ser un enter que apunta a una adreça de memòria o un string que apunta a una etiqueta. En el cas del "beq" es pot ignorar. Si hi és, ha d'estar separat sempre amb la coma "," per després definir l'operador destí. En base decimal

  • Operador Destí: Igual que l'operador font pot ser un enter or un string, però aquest és sempre obligatori. En base decimal

  • El punt i coma ";"(Opcional): Serveix per finalitzar la instrucció però és també pot ser opcional.

Exemples:

inici: add 100, 111 #Escriu amb etiqueta, a la primera posició lliure per instruccions (add 100, 111)

5: cmp 110, 110; #Escriu a la posició 5 de memòria la instrucció (cmp 110, 110)

add 100, un #Escriu a la primera posició lliure I resol l'adreça de l'etiqueta

beq inici;

final:

#Interpretat serà igual que final: add 0 0.

Per a l'entrada de DADES la sintaxi és més senzilla.

  • Etiqueta o numero (Opcional): Serà un string seguit de dos punts ":" (ex: "zero:"). També podrà ser un enter seguit amb dos punts, en aquest cas ens guardarà el valor en la posició d'aquest enter. (ex: "100:").

    Sense el marcador s'aniran omplint automàticament els espais buits per a les dades.
  • Valor: El valor de la dada en base decimal.

Exemples:

245

zero: 0

110: 4


Finalment hi ha dues maneres de carregar el programa, des d'un fitxer de text o editant directament amb el botó d'edició de memòria.

Contacte

Bryan Pierre

u1906524@campus.udg.edu

Llistat de bugs reportats:

v1.0.1 Bug Fix
  • [Entrades dades] No deixava afegir una etiqueta sense instrucció al darrere. Ara es pot fer i serà considerat una instrucció amb valor "add 0 0".
  • [Etiquetes] Ara l'aplicació resol correctament les instruccions amb etiquetes. Les converteix en l'adreça corresponent al carregar-la al IR.
v1.0.2 Bug Fix
  • [Visualització] El senyal de Z->FZ no es pintava correctament quan li tocava.
  • [Visualització] S'ha tret el remarcatge del requadre de FZ quan s'executava la fase de descodificació.
v1.0.3 UPDATE
  • [Memòria Ram] S'ha separat la memòria RAM en dues parts per una còmode visualització i utilització, a part es marca les instruccions que s'estan executant i quan es guarda un resultat a memòria.
  • [Personalització] S'ha afegit una llegenda amb els colors de representació dels senyals i el bus, també és editable per si es vol canviar el color.
v1.0.4 Bug fix
  • [Personalització] S'ha canviat les llibreries del seleccionador de colors, donaven problemes en carregar i no suportava el tàctil de tablets i mòbils.
v1.0.5 UPDATE
  • [Visualització] S'ha afegit un mode de vista "assemblador".