Для удобства
Assembler - низкоуровневый, аппаратно-зависимый язык программирования.
Программы на нём пишутся прямыми командами процессору компьютера. Код программы хотя- бы с несколькими циклами, уже будет плохо читаемым и громоздким. Программа написанная для одного компьютера, может не работать на другом, если в коде программы были использованы инструкции, не поддерживаемые процессором другого компьютера. Обычно, этот язык программирования применяется для написания драйверов, загрузчиков операционных систем, прошивок микроконтроллеров. Так-же на нём пишутся "вставки" в программы написанные на высокоуровневых языках программирования, в высоко нагруженных участках программы, для повышения быстродействия.
Программы написанные на нём работают быстро, расходуют минимум системных ресурсов, и весят очень мало.
С постоянно возрастающим спросом на новое программное обеспечение, были изобретены языки программирования высокого уровня. Программы на них пишутся легко и быстро, код программы читабелен и легко изменяем. Нет привязки к "железу". Единожды написанный код, будет работать хоть на персоналке, хоть на смартфоне. Конечно, программы написанные на языках программирования высокого уровня не такие "шустрые", как написанные на ассемблере, весят много, расходуют больше системных ресурсов. Но на сегодняшний день, когда компьютеры стали очень производительными, это уже не проблема. Сегодня важнее не то, сколько весит программа, сколько она расходует системных ресурсов, а то, сколько времени уйдёт на её написание. Насколько она будет гибкой и портируемой.
Ассемблер сам по себе собиратель