Опубликовано: Wed, 18 Sep 2024 13:01:41 GMT
Канал: Все статьи подряд / Assembler / Хабр
Если вы начинали изучение программирования с JavaScript, Rust, C или любого другого высокоуровневого языка, то ассемблерный код может показаться вам непонятным или даже пугающим.
Рассмотрим следующий код:
section .data
  msg db "Hello, World!"
section .text
  global _start
_start:
  mov rax, 1
  mov rdi, 1
  mov rsi, msg
  mov rdx, 13
  syscall
  mov rax, 60
  mov rdi, 0
  syscall
К счастью, по второй строке мы можем понять, что он делает.
Здесь нет ничего привычного нам: мы не видим ни условных операторов, ни циклов, нет никакого способа создавать функции… Да даже у переменных нет имён!
С чего же вообще начать?
Это небольшое введение предназначено для того, чтобы познакомить имеющих опыт в программировании с миром ассемблера. Мы обсудим основы языка и сопоставим их с конструкциями высокоуровневого программирования.
Завершив прочтение этого руководства, вы сможете ориентироваться в ассемблерном коде, будете знать, где искать информацию, и даже сможете самостоятельно писать простые программы. Читать дальше →
https://habr.com/ru/companies/ruvds/articles/844324/