Разработано целый ряд языков, которые по степени близости к машинному языку принято делить на две группы: низкого и высокого уровня. К языкам низкого уровня относятся мнемокоды и макроязыки.
Мнемокоды отличаются от машинного языка тем, что цифровые коды заменены мнемоническими (буквы и цифры) обозначениями.
Макроязык, кроме того, содержит макрокоманды, которые соответствуют группе машинных команд.
При этом программист может эффективно реализовать потенциальные возможности ЭВМ.
Возможности машинно-ориентированного языка определяются свойствами соответствующей ЭВМ и структурой команд ее центрального процессора.
Программа, записанная на каком либо языке программирования, называется исходным модулем, который должен быть преобразован в машинный код.
Процесс преобразования исходного модуля в машинный код называется трансляцией, а сама программа осуществляющая трансляцию транслятором.
Ассемблер это транслятор с языка низкого уровня или языка ассемблера (макроассемблера).
Язык ассемблера - машинно-ориентированный язык, т.е. если разные МП имеют разную архитектуру, то они программно не совместимы
Ассемблер отличается от машинного языка тем что:
- содержит макросредства;
- команды операций записываются мнемонические;
- адреса записываются символически, а не численно.
Программы, записанные на языке Ассемблера, могут непосредственно транслироваться на машинный язык с помощью программы называемой ассемблером.
Ассемблер позволяет разрабатывать наиболее эффективные программы с минимальным временем счета и наиболее полно использовать технические возможности ПК, но при этом процесс составления программы является трудоемким и требует определенных знаний аппаратной части ЭВМ.