fork download
  1. global _start
  2.  
  3. section .text
  4.  
  5. _start:
  6.  
  7. mov eax, 0b10010100101100110111110110111110
  8. ; эти битики будут выведены на печать
  9.  
  10. mov ecx, 0b00011000000110000001100000011000
  11. ; Четыре недозаполненных ascii кодов символов '0' или '1', в который из флага переноса заталкивается битик 0 или 1
  12.  
  13. %rep 8
  14. mov ebx, ecx
  15. %rep 3
  16. shr eax, 1 ; Захавываем битик в флаг переноса
  17. rcl ebx, 1 ; Запихиваем из флага переноса в недозаполненные ascii коды
  18. rol ebx, 7 ; Проматываем на следующий кусок
  19. %endrep
  20. shr eax, 1
  21. rcl ebx, 1 ; На последней стадии все то же самое, только проматывать уже не надо
  22.  
  23. push ebx ; Теперь все битики всунуты, пихнем содержимое регистра в стек
  24. %endrep
  25.  
  26.  
  27.  
  28. mov eax, 04h ; write()
  29. mov ebx, 01h ; stdout
  30. mov ecx, esp ; распечатаем из стека
  31. mov edx, 32 ; 32 символа
  32. int 80h
  33.  
  34. mov eax, 01h ; exit()
  35. xor ebx, ebx ; errno
  36. int 80h
Success #stdin #stdout 0s 140KB
stdin
Standard input is empty
stdout
10010100101100110111110110111110