blob: 25203430127acb978f6949dfe7d098c8357e5bcf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#ifndef __ARCHI_H__
#define __ARCHI_H__
#define TAILLE_MEMOIRE 1024 /* Nombre maximum de mots que peut contenir la mémoire principale */
#define NB_REGISTRES_PHYSIQUES 64 /* Nombre réel de registres */
#define NB_REGISTRES_UTILISABLES 32 /* Nombre de registres que le processeur a à sa disposition */
#define REG_RG 32 /* Numero du registre Rg */
#define REG_RD 33 /* Numero du registre Rd */
#define REG_PC 34 /* Numero du registre PC */
#define REG_FLAG 35 /* Numero du registre de flags */
#define REG_PUSHPOP 36 /* Numero du registre de Push-Pop */
#define ADD_PP (TAILLE_MEMOIRE-1) /* Emplacement de la pile */
typedef unsigned long int Uint32; /* type d'un mot mémoire (32 bits) */
Uint32 memoire_principale[TAILLE_MEMOIRE];
Uint32 registre[NB_REGISTRES_PHYSIQUES]; /* Registres classiques */
Uint32 Err_Mem; /* en cas d'erreur l/e en mémoire principale */
Uint32 Err_Reg; /* en cas d'erreur l/e dans un registre */
#endif
|