Advertisement
Guest User

Untitled

a guest
Jan 20th, 2020
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. and lambda_opt_maker_helper e = (function
  2. | (args_num, counter) -> counter := !counter + 1; (*line 403 is redundent*)
  3. (Printf.sprintf
  4. "mov r8, [rbp+24] ; num of args in applic\n
  5. mov rcx, r8\n
  6. inc rcx\n; plus one for magic
  7. sub rcx, %d\n ; substitute the num of args in opt
  8. cmp rcx, 0 ; num of args in opt = minimum number of args\n
  9. jle end_of_cont%d\n
  10. add r8, 4\n
  11. opt_loop%d:\n
  12. dec r8\n
  13. mov r9, [rbp +WORD_SIZE*(r8+1)]\n
  14. mov r10, [rbp+ WORD_SIZE*r8]\n
  15. MAKE_PAIR (rax, r10, r9)\n
  16. mov [rbp + WORD_SIZE*r8], rax\n
  17. loop opt_loop%d, rcx\n
  18. end_of_cont%d:\n" args_num !counter !counter !counter !counter)
  19. )e;;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement