пятница, 20 мая 2022 г.

Язык Ассемблера

Мы говорим “ассемблер”, а подразумеваем “язык ассемблера”. Хотя и не все. Многие ничего не подразумевают, а просто говорят “ассемблер”, думая, что так называется язык программирования. Но это не так…

Ассемблер (assembler - можно перевести как “сборщик”) - это программа, которая “собирает” ваш исходный код в объектные файлы, пригодные для дальнейшей обработки с целью создания из них исполняемого файла (то есть вашей программы).


А вот “язык ассемблера” - это уже язык программирования, на котором пишутся программы.


Ещё этот язык называют языком мнемонических команд. Хотя сегодня такое название уже редко встретишь.


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


Однако остались энтузиасты, которые не только до сих пор используют язык ассемблера, но и создают новые средства разработки для него. Вот пример:



Среда разработки ASM Visual


Как видите, годы создания не какие-нибудь древние 90-е, а совсем свежие. Ну и приятно, что фамилии разработчиков из русского мира (назовём это так, потому что я не знаю, гражданами каких стран являются разработчики).


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


Но и это ещё не всё. Ассемблеры тоже бывают разные. Самые известные для процессоров Интел - это MASM, TASM и FASM. Но есть и другие. Языки для этих ассемблеров более-менее похожи, и написав программу на одном из них, вы, хоть и не без труда, можете откомпилировать её другим. А вот если вы напишите программу на языке ассемблера AT&T, то для компиляции её, например, с помощью MASM, программу придётся почти полностью переписать.


В общем, мир ассемблера загадочен и разнообразен. Я иногда в него погружаюсь и получаю удовольствие от этого. Это всё равно как нырнуть в океане на такую глубину, где почти нет людей и не плавает всякий мусор, как на поверхности. Только чистый код, который понимаете только вы и процессор. Впрочем, не совсем так. Но это уже другая история…



Комментариев нет:

Отправить комментарий