Другие языки программирования и технологии

Ассемблер. В чем главная фишка ассемблера? Почему его так часто упоминают в книгах по программированию.

Ассемблер - по сути самый низкоуровневый язык программирования, ниже него только машинный код. Да и ассемблер - это в большей мере замена машинных команд на их мнемоники.

Почему часто упоминают? Ну вероятно потому, что это основа основ, из которой вышли другие, более высокоуровневые языки программирования.

Знаешь ассемблер, значит знаешь как всё работает на уровне железа :)
Денис Распопов
Денис Распопов
6 159
Лучший ответ
Фишка в том, что ассемблер нельзя понять, не поняв принципа работы компьютера в целом. А поняв принципы работы компьютера, ты становишься его хозяином и перестаёшь его бояться. Он превращается из колдовства в обычную технику.
Арсен Тащиев
Арсен Тащиев
90 754
Если нужно отредактировать или изучить алгоритм в EXE без исходников (реверс-инжиниринг), то обычно единственный адекватный способ - это именно дизассемблирование -конвертирование машинного кода в ассемблер.
Именно это используется в OllyDbg и др.

Еще компиляторы ассемблера поддерживают очень много исполняемых форматов.
На винде можно сделать ELF - линуксовый бинарник.
Или вообще BIN - файл, способный загружаться как ОС.
<<Игорь >>
<<Игорь >>
26 662
Это самый низкоуровневый язык. Он ближе всего к машинному коду
Ion Solomon
Ion Solomon
17 059
Ну много объяснять. Пока сам не попробуешь... Начнем с истории. Вначале команды набирали в виде числ (у програмиста как я понимаю была таблица какое число и что делает). Потом решили упростить жизнь програмистам и появился ассемблер, каждая команда процессора была уже не в виде цифры, а мнемоки (сокращенное название команды например add - прибавить). А компилятор переводил мнемоники в цифры. Потом появился си компилятор, который более логичные для человека команды преобразовывал в код. Одна комманда языка си может содержать десятки машинных комманд. Он неплохо преобразует код, но грамотный человек может сделать код лучше на ассемблере. Стоит только вопрос времени, даже небольшое приложение на ассемблере это куча строк, по сравнению с тем же си. Ассемблерные вставки используют в узких местах где необходима максимальная отдача!
Гагик Абаджян
Гагик Абаджян
15 382
Я радиолюбитель и хочу научиться для микроконтроллеров прошивки на ассемблере писать.. ищу единомышленников..
Максим Саитов
Максим Саитов
10 424
Ion Solomon Чем C не устраивает?
Айыртауская Дюсш Ско Для каких микроконтроллеров?
Артем Червоный Какой опыт в пайке?
Ассемблер по сути это язык на котором работает процессор компьютера. Вернее это понятная для человека форма машинного языка на котором работает процессор.