fork download
  1. global _start
  2.  
  3. section .data
  4. buffer dw 0h
  5. _toHex db "0123456789ABCDEF"
  6.  
  7. section .text
  8.  
  9. _start:
  10. xor edx, edx
  11. mov eax, 1
  12. mov ecx, 5; fac(5)
  13. call fac
  14. mov ecx, eax
  15. call toHex
  16. mov ecx, buffer
  17. mov edx, 04h
  18. call write
  19. exit:
  20. mov eax, 01h ; exit()
  21. xor ebx, ebx ; errno
  22. int 80h
  23.  
  24.  
  25. read:
  26. mov eax, 03h ; read()
  27. mov ebx, 00h ; stdin
  28. int 80h
  29. ret
  30. write:
  31. mov eax, 04h ; write()
  32. mov ebx, 01h ; stdout
  33. int 80h
  34. ret
  35. fac:
  36. cmp ecx, 1
  37. jbe _facend
  38. mul ecx
  39. dec ecx
  40. call fac
  41. _facend:
  42. ret
  43. toHex:
  44. xor ebx, ebx
  45. mov al, cl
  46. and al, 01111b
  47. mov ah, cl
  48. shr ah, 4
  49. xor ebx, ebx
  50. mov bl, al
  51. xor edx, edx
  52. mov dh, byte [_toHex+ebx]
  53. xor ebx, ebx
  54. mov bl, ah
  55. mov dl, byte [_toHex+ebx]
  56. xor ecx, ecx
  57. mov cx, "0x"
  58. mov [buffer], cx
  59. mov [buffer+2], dx
  60. ret
Success #stdin #stdout 0.01s 100KB
stdin
Standard input is empty
stdout
0x78