---
title: Assembly Language
localeTitle: Язык ассемблера
---
## Язык ассемблера

Язык ассемблера - это интерфейс между языками более высокого уровня (C ++, Java и т. Д.) И машинным кодом (двоичный). Для компилируемого языка компилятор преобразует код более высокого уровня в код языка ассемблера.

Каждое семейство процессоров определяет их собственный набор команд Architeture (ISA), набор базовых инструкций, которые может выполнять ЦПУ без необходимости дальнейшего перевода или преобразования. Компилятор разлагает составные композитные композиты более высокого уровня в операции, доступные в ISA. Некоторые из наиболее распространенных в настоящее время ISAS включают MIPS, ARM, Intel x86, RISC-V.

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

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

Язык ассемблера в основном используется в следующих ситуациях:

*   Необходимо использовать инструкции CPU, недоступные на языках более высокого уровня.
*   Нет языка высокого уровня для программирования определенных типов процессоров.
*   Реализация компилятора для языка более высокого уровня в новой ISA. ![Изображение уровней кода](https://raw.githubusercontent.com/colbybanbury/assemblyPicture/master/Screenshot%20from%202017-10-14%2014-03-06.png)

#### Дополнительная информация: