Ключевая разница - машинный язык и язык ассемблера
Языки программирования позволяют людям создавать инструкции для компьютера для выполнения задач. Существует три категории языков программирования, такие как языки программирования высокого уровня, язык ассемблера и машинный язык. Языки программирования высокого уровня легче понять людям. Язык, распознаваемый компьютером, известен как машинный язык. Язык ассемблера - это язык между языками высокого уровня и машинным языком. Ключевое различие между машинным языком и языком ассемблера заключается в том, что машинный язык выполняется непосредственно компьютером, а язык ассемблера требует преобразования ассемблера в машинный код или объектный код для выполнения процессором.
Что такое машинный язык?
Люди могут понимать языки программирования высокого уровня. Не обязательно иметь глубокое понимание внутреннего процессора, чтобы программировать на языках высокого уровня. Они следуют синтаксису, подобному английскому языку. Java, C, C++, Python - некоторые языки программирования высокого уровня. Компьютер распознает машинный язык, но не понимает языки высокого уровня. Следовательно, эти программы должны быть преобразованы в машинный язык, понятный компьютеру. Этот перевод выполняется с помощью компилятора или интерпретатора.
Рисунок 01: Машинный язык нулей и единиц.
Машинный язык состоит из двоичных цифр, которые равны нулю и единице. Компьютер представляет собой цифровое электронное устройство, поэтому для операций он использует двоичный код. Единица указывает на истинное состояние/включенное состояние, а ноль указывает на ложное состояние/выключенное состояние. Способ преобразования программы с языка высокого уровня на машинный язык зависит от процессора.
Что такое язык ассемблера?
Язык ассемблера является промежуточным языком между языками программирования высокого уровня и машинным языком. Это на один уровень выше машинного языка. Язык ассемблера легче понять, чем машинный язык, но сложнее, чем языки программирования высокого уровня. Этот язык также известен как язык низкого уровня, поскольку он близок к аппаратному уровню. Чтобы писать эффективные программы на ассемблере, программист должен хорошо разбираться в архитектуре компьютера и структуре регистров. Специальный компилятор, известный как ассемблер, используется для преобразования инструкций языка ассемблера в машинный или объектный код.
Утверждения языка ассемблера состоят из четырех разделов. Это метка, мнемоника, операнд, комментарий. Метка и комментарии являются необязательными. Мнемоника - это инструкция для выполнения, а операнды - это параметры команды. Язык ассемблера также поддерживает макросы. Макрос можно определить как набор инструкций с именем. Его можно использовать в любом месте программы.
Некоторые примеры операторов языка ассемблера приведены ниже.
MOV SUM, 50 – Эта инструкция копирует значение 50 в переменную SUM.
ADD VALUE1, 20 - добавить 20 к переменной VALUE1
ADD AH, BH – Эта инструкция копирует содержимое регистра AH в регистр BH.
INC COUNT – увеличивает переменную COUNT на единицу.
AND VALUE1, 100 - это выполнение операции AND над переменными VALUE1 и 100.
MOV AL, 20 – Копирует значение 20 в регистр AL
Рисунок 02: Программа, написанная на языке ассемблера
Набор операторов ассемблера - это программа на ассемблере. Видно, что язык ассемблера проще машинного языка. Он имеет синтаксис, аналогичный английскому языку. Язык ассемблера имеет около тридцати инструкций. Требуемая память и время выполнения минимальны по сравнению с языками высокого уровня.
В системах реального времени могут возникать события, требующие немедленного вмешательства процессора. Эти события представляют собой специальные подпрограммы, называемые подпрограммами обслуживания прерываний (ISR). Язык ассемблера полезен для программирования ISR.
В чем сходство между машинным языком и языком ассемблера?
И машинный язык, и язык ассемблера связаны с аппаратным уровнем
В чем разница между машинным языком и языком ассемблера?
Машинный язык против языка ассемблера |
|
Машинный язык - это язык программирования самого низкого уровня, в котором инструкции выполняются непосредственно процессором. | Язык ассемблера - это язык программирования низкого уровня, который требует, чтобы ассемблер преобразовывал его в машинный/объектный код. |
Понятность | |
Машинный язык понятен только компьютерам. | Язык ассемблера понятен людям. |
Синтаксис | |
Машинный язык состоит из двоичных цифр. | Синтаксис языка ассемблера аналогичен английскому языку. |
Зависимость | |
Машинный язык зависит от платформы. | Язык ассемблера состоит из стандартного набора инструкций. |
Приложения | |
Машинный язык - это машинный код. | Язык ассемблера используется для микропроцессорных систем реального времени. |
Резюме - машинный язык против языка ассемблера
Разница между машинным языком и языком ассемблера заключается в том, что машинный язык непосредственно выполняется компьютером, а язык ассемблера - это язык программирования низкого уровня, который требует, чтобы ассемблер преобразовывал в объектный код или машинный код. Язык ассемблера на шаг впереди машинного языка. Язык ассемблера является идеальным языком для программирования систем на базе микроконтроллеров. Этот язык также дает хорошее представление о том, как работает центральный процессор и о внутренних компонентах компьютера.
Загрузить PDF-версию машинного языка и языка ассемблера
Вы можете загрузить PDF-версию этой статьи и использовать ее в автономном режиме в соответствии с примечанием к цитированию. Пожалуйста, загрузите PDF-версию здесь. Разница между машинным языком и языком ассемблера
Изображение предоставлено:
1. «Машинный язык» от Turkei89 - собственная работа (CC BY-SA 3.0) через Commons Wikimedia
2. «Сборка Zstr count x86» Автор OldCodger2, (общественное достояние) через Commons Wikimedia