SSG logo     Divisore binario, versione 1.0 English

Note di rilascio del divisore binario, versione 1.0

Home

Note d'installazione.

Guida utente.

Note di rilascio.

Il "Divisore binario", realizzato in javascript / jQuery, è utilizzabile anche su smartphone (Responsive) ed è composto dalle seguenti funzioni:


$( document ).ready()

Tutte le istruzioni presenti all'interno di questa funzione verranno eseguite solo al completo caricamento della pagina.

- Al caricamento del DOM, vengono attivati i listener keyup, click e keypress.

$("#input").keyup()

Gestisce l'input degli input "Dividendo" e "Divisore";

Controlla progressivamente i caratteri inseriti, evidenziando in rosso il margine dell'input testuale in caso di errori riguardandi il range dell'input;

Aggiorna il registro "Dividendo" e/o "Divisore" nella rappresentazione grafica del circuito con i dati forniti dall'utente;


$(".button").click

Ha il compito di gestire l'evento click sui bottoni, identificati dall'attributo name.

Name="start" viene eseguita la funzione checkDiv() e se il check è positivo viene eseguita la funzione startDiv().

Name="reset" viene eseguita la funzione resetDiv().

Name="restore" esegue il cambio di modalità "Con ripristino"/ "Senza Ripristino.

Name="not-restore" esegue il cambio di bottone "Senza Ripristino"/ "Con ripristino".

Name="next" viene eseguita la funzione stepWithRestore() o stepWithoutRestore() (dipende dalla modalità usata).

Name="new-operation" viene eseguita la funzione resetDiv() per poter iniziare una nuova operazione.


$(document).keypress

Imposta le hotkey per l'esecuzione rapida.

"INIZIA" Tasto Rapido = INIVIO.

"SUCCESSIVO" Tasto Rapido = INIVIO.

"AZZERA" Tasto Rapido = r/R.

"Modalità" Tasto Rapido = s/S.

- Come descritto, gli eventi chiamano a loro volta le seguenti funzioni:

checkDiv(dividend, divisor)

Presi i dati degli input "Dividendo" e "Divisore" controlla la presenza di errori.

Restituisce "vero" se i dati sono corretti, "falso" se invece è presente uno o più erorri.


startDiv()

Inizializza tutti i registri e le variabili usate dal Divisore binario.


resetDiv()

Azzera i valori di tutti i campi e registri.


stepWithRestore(operation)

Esegue un passo computazionale della modalità "Con Ripristino", se non vi sono più operazioni da eseguire viene mostrato un messaggio di avviso.


stepWithoutRestore(operation)

Esegue un passo computazionale della modalità "Senza Ripristino", se non vi sono più operazioni da eseguire viene mostrato un messaggio di avviso.


restoreRest()

Ripristina il valore del resto contenuto nel registro A se il resto è negativo. (Nella modalità "Senza ripristino")


updateImage()

Aggiorna i valori nei campi (celle) dell'immagine ad ogni operazione.


shifting()

Esegue lo shift a sinistra dei registri A e Q.


setDividend()

Controlla il segno del registro A e setta il valore di Q0 a 0/1.


complement(positive)

Esegue il complemento a due del numero (positivo) passato come parametro.


add(first, second)

Esegue la somma di due numeri binari.


sub(first, second)

Esegue la sottrazione di due numeri binari.


normalize(number, n)

Aggiorna il numero passato per parametro in codifica a n bit (se n non è specificato codifica a 4 bit).


info()

Mostra un messaggio con le informazioni e le caratteristiche del progetto.

- Infine il link "Aiuto" chiama a sua volta la funzione

help()

Mostra un messaggio con dei suggerimenti riguardanti l'utilizzo del programma e delle hotkeys.


Compilazione:

Il seguente progetto, essendo Browser-based non richiede alcuna compilazione, è il browser stesso che interpreta il programma.


Sviluppi e collaudi:

Text editor: Sublime Text.

Framework: Twitter Bootstrap 3, jQuery

Testato e funzionante su windows/linux con browser compatibili (vedi Note di installazione).


Idee per gli sviluppatori:

Estensione bit della divisione (attualmente è a 4 bit).



Logo di licenza GPL v. 3 Valid CSS! Valid HTML 4.01 Transitional

Data: 23 Luglio 2014

Simulatori di Architettura degli elaboratori (2013-2014, U. Catania, DMI)