summaryrefslogtreecommitdiff
path: root/include/simulator.h
blob: c158a56ba9fb3e9dbecfb39934b499450388aa86 (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
#ifndef __SIMULATOR_H__
#define __SIMULATOR_H__
#include "types.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_STACKPTR 36		/*  Numero du registre de Push-Pop */
#define ADD_SP  (TAILLE_MEMOIRE-1)	/* Emplacement de la pile */


extern Uint32 memoire_principale[TAILLE_MEMOIRE];
extern Uint32 registre[NB_REGISTRES_PHYSIQUES];	/*  Registres classiques    */
Uint32 LireInstruction(void);
void IncrementeCompteurOrdinal(void);
Uint32 Adresse(Uint32 u, Uint32 instruction);
void Initialisation(void);
void DecodeExec(Uint32 instruction, Uint32 entrypoint);
void Traitement(Uint32 entrypoint);
void AfficheReg(void);
void Debogueur(void);


#endif