Correctif merge
This commit is contained in:
parent
3efa8d5ef2
commit
9b91ac0036
1 changed files with 13 additions and 6 deletions
|
@ -193,12 +193,19 @@ void execute() {
|
||||||
printf("%d@%d\n", mem[check_adresse(ebp + programme[eip].param1)], ebp + programme[eip].param1);
|
printf("%d@%d\n", mem[check_adresse(ebp + programme[eip].param1)], ebp + programme[eip].param1);
|
||||||
|
|
||||||
} else if (programme[eip].instruction == CALL) {
|
} else if (programme[eip].instruction == CALL) {
|
||||||
pile[check_adresse_pile(esp)] = ebp;
|
if (SECURISED) {
|
||||||
esp++;
|
pile[check_adresse_pile(esp)] = ebp;
|
||||||
pile[check_adresse_pile(esp)] = eip + 1;
|
esp++;
|
||||||
esp++;
|
pile[check_adresse_pile(esp)] = eip + 1;
|
||||||
ebp = ebp + programme[eip].param2;
|
esp++;
|
||||||
eip = programme[eip].param1 - 1;
|
ebp = ebp + programme[eip].param2;
|
||||||
|
eip = programme[eip].param1 - 1;
|
||||||
|
} else {
|
||||||
|
mem[check_adresse(ebp + programme[eip].param2)] = ebp;
|
||||||
|
mem[check_adresse(ebp + programme[eip].param2 + 1)] = eip + 1;
|
||||||
|
ebp = ebp + programme[eip].param2 + 2;
|
||||||
|
eip = programme[eip].param1 - 1;
|
||||||
|
}
|
||||||
|
|
||||||
} else if (programme[eip].instruction == RET) {
|
} else if (programme[eip].instruction == RET) {
|
||||||
if (SECURISED) {
|
if (SECURISED) {
|
||||||
|
|
Loading…
Reference in a new issue