Ассемблер

Что такое ассемблер?

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

Низкоуровневые языки программирования (вроде ассемблера) служат посредниками между высокоуровневых языков программирования (вроде Python или JavaScript) и базовым оборудованием компьютера.

Ключевые выводы

  • Ассемблер — это тип языка программирования, который переводит языки высокого уровня на машинный язык.
  • Это необходимый мост между программным обеспечением и лежащими в их основе аппаратными платформами.
  • Сегодня языки ассемблера редко пишутся напрямую, хотя они все еще используются в некоторых нишевых приложениях, например, когда требования к производительности особенно высоки.

Как работает ассемблер

По сути, самые основные инструкции, выполняемые компьютером, представляют собой двоичные коды, состоящие из единиц и нулей. Эти коды напрямую переводятся в состояния «включено» и «выключено» электричества, проходящего через физические цепи компьютера. По сути, эти простые коды составляют основу «машинного языка», наиболее фундаментальной разновидности языка программирования.

Конечно, ни один человек не сможет создавать современные программы, явно запрограммировав единицы и нули. Вместо этого люди-программисты должны полагаться на различные уровни абстракции, которые могут позволить им формулировать свои команды в формате, более интуитивно понятном для людей. В частности, современные программисты выдают команды на так называемых «языках высокого уровня», которые используют интуитивно понятный синтаксис, такой как целые английские слова и предложения, а также логические операторы, такие как «И», «Или» и «Иначе», которые знакомы для повседневного использования.

Однако в конечном итоге эти высокоуровневые команды необходимо перевести на машинный язык. Вместо того, чтобы делать это вручную, программисты полагаются на языки ассемблера, целью которых является автоматический перевод между этими языками высокого и низкого уровня. Первые языки ассемблера были разработаны в 1940-х годах, и хотя современные программисты тратят очень мало времени на работу с языками ассемблера, они, тем не менее, остаются важными для общего функционирования компьютера.

Пример ассемблера в реальном мире

Сегодня языки ассемблера остаются предметом изучения студентов, изучающих информатику, чтобы помочь им понять, как современное программное обеспечение соотносится с лежащими в его основе аппаратными платформами. В некоторых случаях программисты должны продолжать писать на языках ассемблера, например, когда требования к производительности особенно высоки или когда рассматриваемое оборудование несовместимо с любыми текущими языками высокого уровня.

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