fork download
  1. section .data
  2. hello:
  3. db 'Hello world!', 10, 0
  4. section .text
  5. MOV EAX, hello
  6. INT 2 ; print string EAX
  7.  
  8. PUSH 5
  9. CALL factorial
  10. INT 1 ; print EAX
  11. HLT
  12.  
  13. factorial:
  14. ENTER
  15.  
  16. CMP [EBP + 8], 1
  17. JNE .recurse
  18. MOV EAX, 1
  19. JMP .end
  20.  
  21. .recurse:
  22. MOV EAX, [EBP + 8]
  23. DEC EAX
  24.  
  25. PUSH EAX
  26. CALL factorial
  27.  
  28. IMUL [EBP + 8]
  29.  
  30. .end:
  31. LEAVE
  32. RET
  33.  
Success #stdin #stdout 0s 5284KB
stdin
1
2
10
42
11
stdout
1
2
10