Що таке мови асамблеї?

Асемблерна мова - це інтерфейс між мовами вищого рівня (C ++, Java тощо) та машинним кодом (двійковий). Для компільованої мови компілятор перетворює код вищого рівня в код мови асемблера.

Кожне сімейство процесорів визначає власну архітектуру набору інструкцій (ISA), набір основних інструкцій, які центральний процесор може виконувати без необхідності подальшого перекладу або перетворення. Компілятор розкладає складені складні інструкції вищого рівня на операції, доступні в ISA.

Деякі з найбільш поширених ISAS, що використовуються сьогодні, включають MIPS, ARM, Intel x86, RISC-V.

Асемблери розкладають інструкції збірки на відповідні двійкові подання та замінюють загальні адреси коду збірки явними адресами регістрів та пам'яті вашого комп'ютера.

Код, де час виконання та контроль мають вирішальне значення, може бути записаний безпосередньо в асемблері. Однак це відбувається ціною подовження часу розвитку та ускладнення розвитку. Слід також зазначити, що було проведено велику кількість досліджень з метою змусити компілятори оптимізувати код, який генерується автоматично.

Мова асемблерів в основному використовується в таких ситуаціях:

  • Існує необхідність використовувати інструкції процесора, недоступні мовами вищого рівня.
  • Не існує мови високого рівня для програмування певних типів процесорів.
  • Впровадження компілятора для мови вищого рівня на новій ISA.
Зображення рівнів коду