1
Ассемблер: рассматриваем каждый байт «Hello, World!». Как на самом деле работают программы на уровне процессора и ОС
Цель этой статьи — не просто написать «Hello, World!» на ассемблере, а разобрать вещи, которые многие воспринимают как данность, хотя сталкиваются с ними каждый миг. Мы досконально разберём каждый байт и каждую инструкцию, чтобы понять, что на самом деле происходит «за сценой».
Разберёмся, что такое регистры процессора, как происходит компиляция, зачем нужны системные вызовы, какой формат у исполняемых файлов в Linux, что такое виртуальное адресное пространство процесса и как работает линковка. И, наконец, вооружившись этим знанием, с полным пониманием происходящего напишем тот самый «Hello, World!».