globals (res)
  local compteur:
    compteur <- copy 5;
    res <- copy 1;

    condition:
    jumpif lte compteur, 1 -> fin, boucle;

    boucle:
    res <- mul res, compteur;
    compteur <- sub compteur, 1;
    jump condition;

    fin:
    %rdi <- copy res;
    print_int();
end