fork download
  1. section .data
  2. x dd 4 ; Ініціалізація x як 4
  3. y dd 0 ; Ініціалізація y як 0
  4. z dd 3 ; Ініціалізація z як 3
  5. f dd 0 ; Змінна для збереження результату
  6. buffer db 11 ; Буфер для збереження рядкового представлення числа
  7.  
  8. section .text
  9. global _start
  10.  
  11. _start:
  12. ; ваш код тут
  13.  
  14. mov eax, [y] ; Завантаження значення y в регістр eax
  15. mov ebx, 7
  16. imul ebx, [x] ; Множення ebx на значення x
  17. sub eax, ebx
  18.  
  19. mov ebx, 2
  20. imul ebx, [z] ; Множення ebx на значення z
  21. sub eax, ebx
  22.  
  23. mov ebx, 6
  24. imul ebx, [y] ; Множення ebx на значення y
  25. add ebx, 1
  26. cdq
  27. idiv ebx
  28. mov [f], eax ; Зберігання результату в f
  29.  
  30. ; конвертація цілого числа в рядок
  31. mov rdi, buffer ; розміщення рядкового буфера
  32. mov rsi, [f] ; число для конвертації
  33. call int_to_str ; виклик процедури конвертації
  34.  
  35. ; код для виведення результату
  36. mov rdi, 1 ; Файловий дескриптор (stdout)
  37. mov rax, 1 ; Системний виклик для виведення
  38. mov rsi, buffer ; Вказівник на рядок для виведення
  39. mov rdx, 11 ; Довжина рядка
  40.  
  41. syscall ; Здійснення системного виклику
  42.  
  43. ; Вихід з програми
  44. mov eax, 60
  45. xor edi, edi
  46. syscall
  47.  
  48. ; Процедура для конвертації цілого числа в рядок
  49. int_to_str:
  50. ; код конвертації тут
  51. ret
  52.  
Success #stdin #stdout 0s 5304KB
stdin
Standard input is empty
stdout