Машинна мова — це мова низького рівня, що складається з двійкових чисел або бітів, які може зрозуміти комп’ютер. Він також відомий як машинний код або об’єктний код і надзвичайно складний для розуміння. Єдина мова, яку розуміє комп'ютер, це машинна мова. Усі програми та мови програмування, такі як Swift і C++, створюють або запускають програми на машинній мові перед тим, як їх запускати на комп’ютері. Коли виконується певне завдання, навіть найменший процес, машинна мова передається до системного процесора. Комп’ютери здатні розуміти лише двійкові дані, оскільки вони є цифровими пристроями.
У комп’ютері всі дані, такі як відео, програми, зображення, представлені у двійковому форматі. ЦП обробляє цей машинний код або двійкові дані як вхідні дані. Потім програма або операційна система отримує результуючий вихід від ЦП і відображає його візуально. Наприклад, код ASCII 01000001 позначає літеру «A» машинною мовою, але на екрані вона відображається як «A».
Різні машинні коди використовуються різними архітектурами процесорів; однак машинний код включає 1 і 0. Наприклад, у порівнянні з процесором Intel x86, який містить архітектуру CISC, процесор PowerPC потребує іншого коду, який містить архітектуру RISC. Для правильної архітектури процесора, щоб правильно запускати програму, компілятор повинен скомпілювати вихідний код високого рівня.
Для програми чи дії точна машинна мова може відрізнятися залежно від операційної системи, яка описує, як компілятор записує дію машинною мовою. Подібним чином фотографія містить понад десятки тисяч двійкових даних, які визначають колір кожного пікселя.
Комп’ютерні програми створюються на одній або кількох мовах програмування (наприклад, Java, C++ або Visual Basic). Програмний код має бути скомпільований так, щоб комп’ютер міг його зрозуміти, оскільки мови програмування, які використовуються для створення комп’ютерних програм, не можуть бути зрозумілі комп’ютером безпосередньо. Коли код програми компілюється, він перетворюється на
01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100
машинною мовою, щоб комп’ютер міг її зрозуміти.
Приклади машинної мови
Текст ' Привіт Світ ' було б написано машинною мовою:
Нижче наведено ще один приклад машинної мови, яка відображатиме букву «А» 1000 разів на екрані.
169 1 160 0 153 0 128 153 0 129 153 130 153 0 131 200 208 241 96
Виконання машинного коду
Кожне сімейство процесорів відповідає набору інструкцій, які спеціально запрограмовані, і ці інструкції викладаються машинним кодом. Усі незначні діючі компоненти, компоненти, які складають загальне функціонування машини, визначаються певним розташуванням основних вузлів. Усі основні інформаційні одиниці представлені у двійковій системі, яка має одне або два значення «1» або «0». Оскільки для кожного класу процесорів потрібна структурна конфігурація, яка відповідає його унікальному набору інструкцій, фундаментальні набори інструкцій конфігурацій машинного коду пов’язані з відповідними класами процесорів.
Використання машинної мови
Загальні способи використання машинної мови обговорюються нижче:
- Машинна мова — це мова низького рівня, яку машини розуміють, але люди можуть розшифрувати за допомогою асемблера.
- Компілятор відіграє важливу роль між людьми та комп’ютерами, оскільки він перетворює машинну мову на інший код або мову, зрозумілу людям.
- Мова асемблера призначена для розуміння машинної мови, оскільки вона є її копією.
Різниця між машинною мовою та мовою асемблера
Існують різні відмінності між машинною мовою та мовою асемблера. Нижче наведено таблицю, яка містить усі відмінності між ними.
Машинна мова | Мова асемблера |
---|---|
Машинна мова — це мова програмування низького рівня, створена з двійкових чисел або бітів, які можуть читати лише машини. Він також відомий як машинний код або об’єктний код, у якому інструкції виконуються безпосередньо ЦП. | Мова асемблера — це мова, призначена лише для людей, яку не розуміють комп’ютери. У результаті він діє як зв’язок між мовами програмування високого рівня та машинними мовами, вимагаючи використання асемблера для перетворення інструкцій у машинний або об’єктний код. |
Машинна мова включає двійкові цифри (0 і 1), шістнадцяткові та вісімкові десяткові числа, які можуть зрозуміти лише комп’ютери і не можуть бути розшифровані людьми. | Такі мнемоніки, як Mov, Add, Sub, End та інші, складають мову асемблера, яку люди можуть зрозуміти, використовувати та застосовувати. |
У машинній мові виправлення помилок і модифікація неможливі, і функції машинних мов відповідно змінюються. | Мова асемблера має звичайні набори інструкцій, а також можливість виправляти помилки та модифікувати програми. |
Машинні мови залежать від платформи, і їх дуже важко зрозуміти людям. | Синтаксис мов асемблера подібний до англійської мови; тому його легко зрозуміти людині. |
Машинну мову неможливо вивчити, оскільки її важко запам’ятати і вона служить лише машинним кодом. | Мову асемблера легко запам’ятати, і вона використовується для програм/пристроїв на основі мікропроцесорів і систем реального часу. |
У машинній мові всі дані присутні в двійковому форматі, що робить їх швидкими у виконанні. | У порівнянні з машинною мовою швидкість виконання мови асемблера повільна. |
Послідовності бітів використовуються машинною мовою для надання команд. Нуль означає вимкнений або хибний стан, а одиниця — увімкнений або справжній стан. Перетворення мови програмування високого рівня на машинну мову залежить від ЦП. | Замість використання необроблених послідовностей бітів мова асемблера використовує «мнемонічні» імена та символи; тому користувачам не потрібно запам'ятовувати операційні коди з мовою асемблера. У мовах асемблера люди можуть зіставляти код з машинним кодом, і коди трохи легше читаються |
Мови програмування першого покоління - це машинні мови, які не потребують перекладача. | Друге покоління мов програмування – це мови асемблера, які використовують асемблер як транслятор для перетворення мнемоніки в машинно-зрозумілу форму. |
Машинна мова залежить від апаратного забезпечення та не допускає модифікації. | Мова асемблера не є портативною, вона залежить від машини та може бути легко змінена. |
У синтаксисі машинної мови більше шансів на помилки. | Порівняно з машинною мовою, у мові асемблера менше шансів синтаксичних помилок. |