fox742 05 декабря 2019

Как в действительности исполняются наши программы? (Ассемблер и его друзья)

Понимание того, как выполняются написанные им программы отличает опытного разработчика и является маркером его профессионализма и открывает возможности его профессионального и карьерного роста. А раз так, то и мы должны в этом разобраться!
Как в действительности исполняются наши программы? (Ассемблер и его друзья)

Хочешь уверенно проходить IT-интервью?

Готовься к IT-собеседованиям уверенно с AI-тренажёром T1!

Мы понимаем, как сложно подготовиться: стресс, алгоритмы, вопросы, от которых голова идёт кругом. Но с AI тренажёром всё гораздо проще.

💡 Почему Т1 тренажёр — это мастхэв?

  • Получишь настоящую обратную связь: где затык, что подтянуть и как стать лучше
  • Научишься не только решать задачи, но и объяснять своё решение так, чтобы интервьюер сказал: "Вау!".
  • Освоишь все этапы собеседования, от вопросов по алгоритмам до диалога о твоих целях.

Зачем листать миллион туториалов? Просто зайди в Т1 тренажёр, потренируйся и уверенно удиви интервьюеров. Мы не обещаем лёгкой прогулки, но обещаем, что будешь готов!

Реклама. ООО «Смарт Гико», ИНН 7743264341. Erid 2VtzqwP8vqy


Мы все изучаем высокоуровневые языки программирования, но глубокие знания того, что происходит под капотом, позволяют специалисту принимать более взвешенные технические решения, а значит, иметь больший авторитет среди коллег и карьерные перспективы.

Современные языки высокого уровня (такие, как python, JavaScript, C#) в ходе своего развития стремятся приблизится к естественным языкам (в подавляющем большинстве случаев, английскому). В их синтаксисе появляются более абстрактные конструкции (классы, объекты, замыкания).

Однако у процессора и электроники, которые должны исполнять наши программы, нет таких абстрактных и высокоуровневых понятий как «классы» и «объекты» и т.д. Зато, есть понятия «байт», «бит», «память». Задачей таких программ как компиляторы и интерпретаторы является перевод программ на высокоуровневом языке в язык, который понимает электроника

Как в действительности исполняются наши программы? (Ассемблер и его друзья)

Какими бы ни были разными языки, в конечном итоге программы на них переводится в один и тот же язык команд процессора, на котором эти программы исполняются (иногда это делается в несколько этапов в случае C# и Java).

Как в действительности исполняются наши программы? (Ассемблер и его друзья)

Процессоры бывают разных фирм, моделей и архитектур и у каждого из них свой язык команд (каждый производитель процессоров во что горазд). Чтобы программа на каком-либо высокоуровневом языке исполнялась на определённом процессоре, надо перевести её в язык именно того процессора, на котором она будет исполняться. Таким образом, для одного и того же языка может существовать несколько компиляторов, переводящих программу на этом языке в языки команд разных процессоров

Как в действительности исполняются наши программы? (Ассемблер и его друзья)

Язык программирования, который наиболее близок к языку команд процессора – язык Ассемблера. (Ассемблер – это не язык сам по себе, это программа, переводящая инструкции языка Ассемблера в язык машинных команд).

Как в действительности исполняются наши программы? (Ассемблер и его друзья)

Каждый оператор языка ассемблера соответствует одной машинной команде процессора:

Как в действительности исполняются наши программы? (Ассемблер и его друзья)

Тогда как каждому оператору высокоуровневого языка (языка, синтаксис которого стремится к естественным языкам больше, чем к искусственным, например, python) может соответствовать достаточно большое количество машинных команд.

Как в действительности исполняются наши программы? (Ассемблер и его друзья)

Читайте мою книгу «Ассемблер на пальцах», в которой я подробно и наглядно разбираю основные концепции языка ассемблера и принципы работы процессора Intel x86 в реальном режиме работы.

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Golang-разработчик
Пермь, по итогам собеседования
Hotel Search Team Lead (Golang)
по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ