def fact () local n: n <- copy %rdi; %rax <- copy 1; condition: jumpif lte n, 1 -> fin, boucle; boucle: %rax <- mul %rax, n; n <- sub n, 1; jump condition; fin: ret; end globals (x) %rdi <- copy 5; fact(); x <- copy %rax; %rdi <- copy x; observe_int(); exit; end