Fix bug STOREA
This commit is contained in:
parent
bff261fa01
commit
cf119a9a25
2 changed files with 3 additions and 3 deletions
|
|
@ -48,7 +48,7 @@ Instruction : tLOADI tNB tNB {add_instruction(LOADI, $2, $3, 0);};
|
||||||
// STOREI R R
|
// STOREI R R
|
||||||
Instruction : tSTOREI tNB tNB {add_instruction(STOREI, $2, $3, 0);};
|
Instruction : tSTOREI tNB tNB {add_instruction(STOREI, $2, $3, 0);};
|
||||||
// STOREA @ R
|
// STOREA @ R
|
||||||
Instruction : tSTOREA tNB tNB {add_instruction(STORE, $2, $3, 0);};
|
Instruction : tSTOREA tNB tNB {add_instruction(STOREA, $2, $3, 0);};
|
||||||
|
|
||||||
// JMP Ins
|
// JMP Ins
|
||||||
Instruction : tJMP tNB {add_instruction(JMP, $2, 0, 0);};
|
Instruction : tJMP tNB {add_instruction(JMP, $2, 0, 0);};
|
||||||
|
|
|
||||||
|
|
@ -68,6 +68,8 @@ int Z = 0;
|
||||||
int check_adresse(int adresse) {
|
int check_adresse(int adresse) {
|
||||||
if (adresse >= TAILLE_MEMOIRE || adresse < 0) {
|
if (adresse >= TAILLE_MEMOIRE || adresse < 0) {
|
||||||
printf("\033[31;01m ERROR : \033[00m Segmentation fault de %d avec eip = %d et ebp = %d\n", adresse, eip, ebp);
|
printf("\033[31;01m ERROR : \033[00m Segmentation fault de %d avec eip = %d et ebp = %d\n", adresse, eip, ebp);
|
||||||
|
print();
|
||||||
|
print_reg();
|
||||||
exit(2);
|
exit(2);
|
||||||
}
|
}
|
||||||
return adresse;
|
return adresse;
|
||||||
|
|
@ -238,8 +240,6 @@ void execute() {
|
||||||
} else if (programme[eip].instruction == STOP) {
|
} else if (programme[eip].instruction == STOP) {
|
||||||
if (programme[eip].param1 == 0) {
|
if (programme[eip].param1 == 0) {
|
||||||
continuer = 0;
|
continuer = 0;
|
||||||
print();
|
|
||||||
print_reg();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
eip = (eip + 1) % TAILLE_BUFFER_INSTRUCTIONS;
|
eip = (eip + 1) % TAILLE_BUFFER_INSTRUCTIONS;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue