#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