summaryrefslogtreecommitdiff
path: root/include/alu.h
blob: 079efcc9621859e3bca977b34f65fac93107ecfc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef __ALU_H__
#define __ALU_H__
#include "types.h"

typedef struct couple {
    Uint32 deb, fin;
} couple;

typedef struct {    char st, nd;    }   chars;                                                                                                              


Uint32 AdditionNonSigne(Uint32 a, Uint32 b);
Uint32 AdditionSigne(Uint32 a, Uint32 b);
Uint32 SoustractionNonSigne(Uint32 a, Uint32 b);
Uint32 SoustractionSigne(Uint32 a, Uint32 b);
Uint32 MultiplicationNonSigne(Uint32 a, Uint32 b);
Uint32 MultiplicationSigne(Uint32 a, Uint32 b);
Uint32 DivisionNonSigne(Uint32 a, Uint32 b);
Uint32 DivisionSigne(Uint32 a, Uint32 b);
Uint32 AND(Uint32 a, Uint32 b);
Uint32 OR(Uint32 a, Uint32 b);
Uint32 SHL(Uint32 a);
Uint32 SHR(Uint32 a);
chars CreerChars(char x, char y); 
chars AddBit(char a, char b, char re); 
chars SubBit(char a, char b, char re); 
Uint32 NOT(Uint32 a); 
Uint32 OPP(Uint32 a);
Uint32 Decalage(Uint32 a, char c); 
Uint32 NSHR(Uint32 a);
Uint32 NSHL(Uint32 a);
Uint32 SUB_SS(Uint32 a, Uint32 b); 
Uint32 ADD_SS(Uint32 a, Uint32 b); 
Uint32 ADD_UU(Uint32 a, Uint32 b); 
Uint32 SUB_UU(Uint32 a, Uint32 b); 
Uint32 MUL_UU(Uint32 a, Uint32 b); 
Uint32 MUL_SS(Uint32 a, Uint32 b); 
Uint32 DivMod_UU(Uint32 a, Uint32 b); 
Uint32 DivMod_SS(Uint32 a, Uint32 b); 
Uint32 NAND(Uint32 x, Uint32 y); 
Uint32 NOR(Uint32 x, Uint32 y);
extern int errRet, Rapide;
extern Uint32 SecondResult;
#endif