Ключевое различие - машинный язык и язык ассемблера
Языки программирования позволяют людям создавать инструкции для компьютера для выполнения задач. Есть три категории языков программирования, такие как языки программирования высокого уровня, язык ассемблера и машинный язык. Языки программирования высокого уровня легче понять людям. Язык, распознаваемый компьютером, известен как машинный язык. Ассемблер - это язык между языками высокого уровня и машинным языком. Ключевое различие между машинным языком и языком ассемблера состоит в том, что машинный язык выполняется непосредственно компьютером, а язык ассемблера требует от ассемблера преобразования в машинный код или объектного кода для выполнения центральным процессором.
СОДЕРЖАНИЕ
1. Обзор и основные различия
2. Что такое машинный язык
3. Что такое язык ассемблера
4. Сходства между машинным языком и языком ассемблера
5. Параллельное сравнение - машинный язык и язык ассемблера в табличной форме
6. Резюме
Что такое машинный язык?
Люди могут понимать языки программирования высокого уровня. Для программирования с использованием языков высокого уровня необязательно иметь глубокое понимание внутреннего процессора. Они следуют синтаксису, аналогичному английскому языку. 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: Программа, написанная с использованием языка ассемблера
Набор операторов Assembly - это программа Assembly. Видно, что язык ассемблера проще, чем машинный. Он имеет синтаксис, аналогичный английскому языку. В языке ассемблера около тридцати инструкций. Требуемая память и время выполнения минимальны по сравнению с языками высокого уровня.
В системах реального времени могут возникать события, требующие немедленного действия ЦП. Эти события представляют собой специальные подпрограммы, называемые программой обработки прерываний (ISR). Язык ассемблера полезен для программирования ISR.
В чем сходство между машинным языком и языком ассемблера?
И машинный язык, и язык ассемблера связаны с аппаратным уровнем
В чем разница между машинным языком и языком ассемблера?
Различать статью в середине перед таблицей
Машинный язык против языка ассемблера |
|
Машинный язык - это язык программирования самого низкого уровня, где инструкции выполняются непосредственно ЦП. | Язык ассемблера - это язык программирования низкого уровня, для которого требуется, чтобы ассемблер преобразовывал в машинный код / объектный код. |
Понятность | |
Машинный язык понятен только компьютерам. | Язык ассемблера понятен людям. |
Синтаксис | |
Машинный язык состоит из двоичных цифр. | Синтаксис языка ассемблера аналогичен синтаксису английского языка. |
Зависимость | |
Машинный язык зависит от платформы. | Ассемблер состоит из стандартного набора инструкций. |
Приложения | |
Машинный язык - это машинный код. | Ассемблер используется в микропроцессорных системах реального времени. |
Резюме - машинный язык против языка ассемблера
Разница между машинным языком и языком ассемблера заключается в том, что машинный язык непосредственно выполняется компьютером, а язык ассемблера - это язык программирования низкого уровня, который требует от ассемблера преобразования в объектный код или машинный код. Ассемблер на шаг впереди машинного языка. Язык ассемблера - идеальный язык для программирования систем на базе микроконтроллеров. Этот язык также дает хорошее представление о том, как работает ЦП, и о внутренних компонентах компьютера.
Скачать PDF-версию машинного языка и языка ассемблера
Вы можете загрузить PDF-версию этой статьи и использовать ее в автономных целях в соответствии с примечанием к цитированию. Загрузите PDF-версию здесь. Разница между машинным языком и языком ассемблера.
Изображение предоставлено:
1. «Машинный язык» от Turkei89 - собственная работа, (CC BY-SA 3.0) через Commons Wikimedia
2. «Zstr count x86 assembly» Автор OldCodger2, (Public Domain) через Commons Wikimedia