Compare commits
No commits in common. "3efa8d5ef265379d6106de55c83ea1d7e0e0a259" and "725e0125079b6bde8ad032a3be21910980900ec4" have entirely different histories.
3efa8d5ef2
...
725e012507
1 changed files with 4 additions and 13 deletions
|
@ -6,8 +6,6 @@
|
||||||
#define TAILLE_MEMOIRE (64)
|
#define TAILLE_MEMOIRE (64)
|
||||||
#define TAILLE_PILE_APPELS (16)
|
#define TAILLE_PILE_APPELS (16)
|
||||||
|
|
||||||
#define SECURISED (1)
|
|
||||||
|
|
||||||
|
|
||||||
/**************************************************/
|
/**************************************************/
|
||||||
/**************************************************/
|
/**************************************************/
|
||||||
|
@ -201,17 +199,10 @@ void execute() {
|
||||||
eip = programme[eip].param1 - 1;
|
eip = programme[eip].param1 - 1;
|
||||||
|
|
||||||
} else if (programme[eip].instruction == RET) {
|
} else if (programme[eip].instruction == RET) {
|
||||||
if (SECURISED) {
|
|
||||||
esp--;
|
esp--;
|
||||||
eip = pile[check_adresse_pile(esp)] - 1;
|
eip = pile[check_adresse_pile(esp)] - 1;
|
||||||
esp--;
|
esp--;
|
||||||
ebp = pile[check_adresse_pile(esp)];
|
ebp = pile[check_adresse_pile(esp)];
|
||||||
} else {
|
|
||||||
int lastebp = ebp;
|
|
||||||
eip = mem[check_adresse(ebp - 1)] - 1;
|
|
||||||
ebp = mem[check_adresse(ebp - 2)];
|
|
||||||
mem[check_adresse(lastebp - 2)] = mem[check_adresse(lastebp)];
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if (programme[eip].instruction == STOP) {
|
} else if (programme[eip].instruction == STOP) {
|
||||||
if (programme[eip].param1 == 0) {
|
if (programme[eip].param1 == 0) {
|
||||||
|
|
Loading…
Reference in a new issue