; ------------------------------------------------- ; -- TP2 / Exercice 3 : Maximum de deux nombres. -- ; ------------------------------------------------- extern printf global main ; -------------------------------------- ; Segment des données ; -------------------------------------- section .data msg: db "max{%i,%i} = %i", 10,0 a: dd -3 ; a et b sont les nombres à comparer b: dd -2 max: dd 0 ; -------------------------------------- ; Segment de code ; -------------------------------------- section .text main: mov eax, [a] cmp eax, [b] ja @a ; saut au label "@a" si [a] > [b] ; ja = Jump if Above mov ebx, [b] ; si le saut n'a pas eu lieu c'est que [b] <= [a] jmp @affichage @a: mov ebx, [a] @affichage: mov [max], ebx ; appel de printf push ebp mov ebp, esp push dword [max] ; empilement des paramètres de printf push dword [b] push dword [a] push dword msg ; message à afficher call printf ; appel de la fontion C printf add esp, 16 ; dépile les paramètres de la fonction appelée pop ebp mov eax, 0 ; code de retour de la fonction main ret ; sort de la fonction "main"