diff options
Diffstat (limited to 'lib/alu.c')
| -rw-r--r-- | lib/alu.c | 22 | 
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/alu.c b/lib/alu.c new file mode 100644 index 0000000..b394b09 --- /dev/null +++ b/lib/alu.c @@ -0,0 +1,22 @@ +#include "alu.h"
 + +// rajouter les overflow... +
 +/*****************************************/
 +/**                                     **/
 +/**  GESTION DE L'UNITE DE CALCUL       **/
 +/**                                     **/
 +/*****************************************/
 +
 +Uint32 AdditionNonSigne(Uint32 a, Uint32 b)     {   return (a + b); }
 +Uint32 AdditionSigne(Uint32 a, Uint32 b)        {   return (a + b); }
 +Uint32 SoustractionNonSigne(Uint32 a, Uint32 b) {   return (a - b); }
 +Uint32 SoustractionSigne(Uint32 a, Uint32 b)    {   return (a - b); }
 +Uint32 MultiplicationNonSigne(Uint32 a, Uint32 b) {  return (a * b); }
 +Uint32 MultiplicationSigne(Uint32 a, Uint32 b)  {   return (a * b); }
 +Uint32 DivisionNonSigne(Uint32 a, Uint32 b)     {   return (a / b); }
 +Uint32 DivisionSigne(Uint32 a, Uint32 b)        {   return (a / b); }
 +Uint32 AND(Uint32 a, Uint32 b)                  {   return (a & b); }
 +Uint32 OR(Uint32 a, Uint32 b)                   {   return (a | b); }
 +Uint32 SHL(Uint32 a)                            {   return (a >> 1); }
 +Uint32 SHR(Uint32 a)                            {   return (a << 1); }
  | 
