Ассе́мблер (от англ. assembler — сборщик) — транслятор программы из текста на языке ассемблера, в программу на машинном языке.
Как и сам язык, ассемблеры, как правило, специфичны для конкретной архитектуры, операционной системы и варианта синтаксиса языка, поскольку работают с мнемониками машинных инструкций определённого процессора. Вместе с тем, ассемблеры могут быть мультиплатформенными или вовсе универсальными, то есть работать на разных платформах и операционных системах. Среди ассемблеров можно также выделить группу кросс-ассемблеров, имеющих возможность собирать машинный код и исполняемые модули (файлы) для архитектур, отличных от архитектуры и/или операционной системы, в которых работает сам ассемблер (например, трансляция программы для микроконтроллера ассемблером, работающим на компьютере).
В Викисловаре есть статья «макроассемблер»
Многие современные ассемблеры являются макроассемблерами (от греч. μάκρος — большой, обширный), то есть макропроцессорами на базе языка ассемблера[1]. Кроме макросов, ассемблеры при трансляции выполняют другие директивы, набор которых зависит не от аппаратной платформы, для которой транслируется программа, а от самого используемого транслятора.
#1 Трансляторы: компилятор, интерпретатор, ассемблер | A-LEVEL НИШ Информатика
Ассемблирование может быть не первым и не последним этапом на пути получения исполнимого модуля программы. Так, многие компиляторы с языков программирования высокого уровня выдают результат в виде программы на языке ассемблера, которую в дальнейшем обрабатывает ассемблер. В свою очередь, результатом ассемблирования может быть не исполняемый, а объектный модуль, содержащий разрозненные блоки машинного кода и данных программы, из которого (или из нескольких объектных модулей) в дальнейшем с помощью редактора связей (линкера) может быть получен исполняемый файл.
В отличие от компиляции программ на языках высокого уровня, ассемблирование является более или менее однозначным и обратимым процессом, поскольку в языке ассемблера каждой мнемонике соответствует одна машинная инструкция, в то время как в высокоуровневых языках каждое выражение может преобразовываться в большое число различных инструкций (операция, обратная ассемблированию, называется дизассемблированием). Трансляцию ассемблерных программ иногда также называют компиляцией.
Источник: 5pages.net
Уроки 35 — 39
Формальные исполнители
§ 30. Способы записи алгоритмов
§ 31. Примеры исполнителей
§32. Оптимальные программы
1. Сравните словесную запись алгоритмов в свободной форме, запись по шагам и блок-схему. Какие недостатки вы видите у каждой из этих форм записи?
2. Как вы думаете, почему блок-схемы не используются для записи сложных алгоритмов?
3. Как вы думаете, какими качествами должен обладать программист? Могла бы вам понравиться эта специальность?
4. Зачем нужны языки ассемблера? В чём их недостатки?
Ввод и вывод чисел в ассемблере. Ввести два шестнадцатеричных числа. Ассемблер основы.
5. Правильно ли, на ваш взгляд, считать программу-ассемблер транслятором?
6. Как компьютер понимает программу, написанную на языке высокого уровня?
7. Как вы думаете, почему на практике широко применяются только несколько десятков языков программирования?
8. Какие достоинства и недостатки, на ваш взгляд, имеют языки программирования, разработанные специально для обучения?
9. Выполните по указанию учителя задания в рабочей тетради.
Подготовьте сообщение
а) «Какие бывают языки программирования?»
б) «Языки программирования с русскими командами»
в) «Академик А. П. Ершов»
Следующая страница Практическая работа № 19 «Алгоритм «О» в Кумире»
Cкачать материалы урока
Источник: xn—-7sbbfb7a7aej.xn--p1ai
Правильно ли на ваш взгляд читать программу ассемблер транслятором?
Ответ: Програму асемблеру можна читати транслятором, але це зазвичай не найкращий спосіб. Транслятор — це програма, яка перетворює код з однієї мови програмування на код іншої мови, у цьому випадку з асемблеру на машинний код. Транслятор може допомогти зрозуміти загальний зміст коду, але він не здатен зрозуміти всі нюанси та деталі асемблерного коду.
Найкращий спосіб для читання програми асемблеру — це знати саму мову асемблеру та мати розуміння машинного коду. Це дозволить зрозуміти кожну команду та її взаємодію з процесором. Знання асемблеру також може допомогти виправляти помилки у коді та забезпечувати більш ефективну роботу програми.
Таким чином, хоча транслятор може допомогти зрозуміти загальний зміст коду асемблеру, найкращий спосіб читати його — це знати саму мову програмування та мати розуміння машинного коду.
Объяснение:
Отвечает Косарев Валерий.
Чтение программы на языке ассемблера с использованием транслятора может быть полезным инструментом для облегчения понимания кода и выполнения определенных задач. Однако, важно понимать, что результаты трансляции могут отличаться от оригинального кода, особенно если транслятор имеет разные настройки или оптимизации.
Преимущество использования транслятора заключается в том, что он может преобразовывать код на языке ассемблера в другой формат, который может быть более читабельным или удобным для анализа. Например, транслятор может генерировать высокоуровневый код, такой как Си, из ассемблерного кода, что позволяет программисту работать на более высоком уровне абстракции.
Однако, при чтении программы ассемблера с использованием транслятора следует быть осторожным и иметь в виду некоторые ограничения. Во-первых, трансляторы не всегда могут сохранить все особенности и детали исходного кода, поэтому могут возникнуть проблемы с точностью или полнотой перевода. Во-вторых, трансляторы могут внести свои собственные оптимизации и изменения в код, что может привести к неожиданным результатам или ошибкам в программе.
В итоге, использование транслятора для чтения программы на ассемблере может быть полезным инструментом, но важно учитывать его ограничения и быть внимательным к возможным изменениям, внесенным транслятором в код. В некоторых случаях, особенно при изучении алгоритмов и оптимизации кода, может быть предпочтительнее работать с исходным ассемблерным кодом напрямую.
Источник: uznavalka.pro