From 62879bdb97d41131f5fc21ae394361566102f249 Mon Sep 17 00:00:00 2001
From: biouman <>
Date: Tue, 17 Apr 2001 03:40:46 +0000
Subject: *** empty log message ***

---
 doc/probs.tex | 30 +++++++++++++++++++++---------
 1 file changed, 21 insertions(+), 9 deletions(-)

(limited to 'doc/probs.tex')

diff --git a/doc/probs.tex b/doc/probs.tex
index 6ea86d9..220edad 100644
--- a/doc/probs.tex
+++ b/doc/probs.tex
@@ -1,33 +1,45 @@
-\chapter{Description des problèmes rencontrés ainsi que des solutions technologiques employées pour y remédier}
+\chapter{Description des solutions technologiques}
 
 \section{Parseur et Meta-Parseur}
 
+
 \section{Assembleur}
 
+%description du meta langage
+%format du fichier instructions.txt
+%description du langage asm...
+
 \section{Editeur de liens}
 
 %mecanisme de relocation
 
 \section{Operations ALU} %algos ALU lente
 
-L'ALU est divisée en deux parties : La première qui fait les opérations sur les entiers et la deuxième qui se comporte comme un microprocesseur c'est-
+L'ALU est divisée en deux parties : La première qui fait les opérations sur les entiers et la deuxième qui se comporte comme un microprocesseur
+c'est-à-dire qu'elle fait des calculs en binaire pour effectuer les différentes opérations qui lui sont demandées.
 
 \paragraph{Descriptifs des opérations sur les entiers :}
 
-Ces fonctions ont été écrites pour pouvoir tester l'Unité de contrôle, elles sont implementées en C, ce qui permet d'utiliser les opérations tradition
+Ces fonctions ont été écrites pour pouvoir tester l'Unité de contrôle, elles sont implementées en C, ce qui permet d'utiliser les opérations 
+traditionnelles (comme l'addition, soustraction, multiplication, division, ) de manière simplifiée et relativement rapide.
 
 \paragraph{Descriptifs des opérations en binaire :}
 
-Toutes les fonctions sont écrites sur la meme base, on sait qu'il y a au maximum 32 bits, donc pour faire les opérations, il suffit de parcourir les 3
-Pour les fonctions de l'addition et de la soustraction, nous faisons comme dit précédemment les opérations bits après bits en commencant par le bit de
-En ce qui concerne la multiplication, nous utilisons l'algorithme que nous avons apris a l'école primaire : c'est-à-dire la multiplication d'un facteu
-Pour la division, nous utilisons comme pour la multiplication deux registres, un pour stocker le résultat et l'autre pour y mettre le reste de la divi
+Toutes les fonctions sont écrites sur la meme base, on sait qu'il y a au maximum 32 bits, donc pour faire les opérations, il suffit de parcourir 
+les 32 bits et pour cela on utilise une simple boucle pour (for en C) qui parcourt les éléments bit après bit.
+Pour les fonctions de l'addition et de la soustraction, nous faisons comme dit précédemment les opérations bits après bits en commencant par le
+bit de poid faible et terminant sur le bit de poid fort en gérant entre temps une retenue qui si lors de la dernière itération se trouve encore 
+être utilisée renvoie un flag d'erreur de retenue qui sera géré par le simulateur et qui dans ce cas retourne tout de meme le début du résultat,
+et si tous c est bien passe, le résultat sera stocké dans le registre correspondant.
+En ce qui concerne la multiplication, nous utilisons l'algorithme que nous avons apris a l'école primaire : c'est-à-dire la multiplication d'un
+facteur par un nombre de l'autre, puis on additionne les résultats successifs. Si jamais lors de l'addition il y a dépassement nous utilisons un
+deuxième registre qui sera incrémenté de la valeur demandée.
+Pour la division, nous utilisons comme pour la multiplication deux registres, un pour stocker le résultat et l'autre pour y mettre le reste de la
+division et pour ce faire on utilise l'algorithme de notre jeunesse.
 Pour les deux fonctions de décalage, nous décalons les bits du nombre demandé et on remplace les bits manquants par 0.
 
 
 
-
-
 \section{Contrôleur}
 
 %decodage, execution, gestion de la ram
-- 
cgit v1.2.3

