Miałem takie zadanie na kolokwium:
Jaka (heksadecymalnie) wartość znajdzie się w rejestrze AX w wyniku wykonania poniższych instrukcji?
mov ax, 5
call e1
sub ax,7
jmp e2
e1: call e3
e3: add ax,1
ret
add ax,3
e2: printReg ax
return0
Rozumiem mniej więcej co robi funkcja call, ale nie rozumiem co się dzieje w lini
e1: call e3
Poprawnym wynikiem, przynajmniej taki jaki nam podano jest 0 (decymalnie), mi wychodziło ciągle -1 (decymalnie)
Jest mi ktoś w stanie wytłumaczyć na szybko co się w takim przypadku dzieje? kiedy po funkcji call nie ma żadnych instrukcji ?
Dzięki z góry za pomoc.