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