fork download
  1. section .data
  2. nl db 10
  3.  
  4. section .bss
  5. buf resb 4 ; буфер для 4 цифр
  6.  
  7. section .text
  8. global _start
  9.  
  10. _start:
  11. mov eax, 1234 ; число для вывода
  12. mov ebx, 10
  13. mov ecx, buf+3 ; указатель на конец буфера
  14.  
  15. next:
  16. xor edx, edx
  17. div ebx
  18. add dl, '0'
  19. mov [ecx], dl
  20. dec ecx
  21. cmp eax, 0
  22. jne next
  23.  
  24. inc ecx ; ecx указывает на первую цифру
  25.  
  26. ; вычисляем длину строки
  27. mov edx, buf+4 ; адрес конца буфера
  28. sub edx, ecx ; длина = конец - начало
  29.  
  30. mov eax, 4
  31. mov ebx, 1
  32. int 0x80
  33.  
  34. mov eax, 4
  35. mov ebx, 1
  36. mov ecx, nl
  37. mov edx, 1
  38. int 0x80
  39.  
  40. mov eax, 1
  41. xor ebx, ebx
  42. int 0x80
Success #stdin #stdout 0s 5316KB
stdin
write
stdout
1234