Bonjour,
j'ai appris à programmer quelques trucs basiques sur assembleur Yasm (qui est similaire au Nasm je crois) par contre j'ai pas du tout assimilé la notion des pointeurs en assembleur (EBP/ESP surtout), j'ai un exemple de programme ici dont je ne comprends pas le fonctionnement et je compte sur vous pour m’éclaircir un peu
voila, j'ai mis en gras ce que je n'ai pas compris.......
asm_main:
enter 0,0
pusha
mov eax,5
push eax
call fonct
add esp,4
popa
mov eax,0
leave
ret
fonct :
push ebp
mov ebp,esp
mov eax,[ebp+8]
cmp eax,1
je term_cond
dec eax
push eax
call fonct
add esp,4
add eax,[ebp+8]
jmp short end_fonct
term_fonct:
mov eax,2
end_fonct:
call print_int
call print_nl
pop ebp
ret
Merci
Partager