Мал. 7.1. програми:
a-в довічним машинному коді; б - в шістнадцятковому машинному коді
Програма на машинній мові на рис. 7.1, а стає дещо простіше для сприйняття, коли вона представлена в шістнадцятковому коді (Н-коді), як показано на рис. 7.1,6. Однак, хоча двійкові дані наведені в шістнадцятковому коді, ця частина програми завжди розглядається як задана на машинній мові і виявляється важкою для розуміння.
У більш прийнятною формою записана на машинній мові вона могла б виглядати так:
1. Завантажити двійковечисло (1011 0100) в акумулятор.
2. Інвертувати кожен двійковий біт вмісту акумулятора.
3. Помістити результати інверсії в комірку пам'яті даних 2100Н.
У цій частині здійснюється переклад двійкового 8-розрядного числа в його еквівалент в инверсной формі.
Мал. 7.2. Трансляція мнемоніки асемблера в машинний код програми
Виникає питання: як перейти від цієї форми людської мови, іноді довгою і складною, до машинної мови? Відповідь полягає у використанні мови простого програмування - від найвищого рівня до машинного, представленого на рис. 7.1.
Асемблер використовує слова і фрази, перетворюючи їх в машинний код мікропроцесора.
Зазвичай фраза або задана величина на асемблері буде відповідати висловом довжиною від одного до трьох байт машинного мови.
Суть і процедура ассемблирования показані на рис. 7.2, де, наприклад, друга команда програми представлена єдиною мнемонікою з трьох букв СМА (інвертувати вміст акумулятора - СМА від Complement Accumulator (англ.) - доповнити акумулятор. Мається на увазі додаток до 1, т. Е. Інвертування або формування зворотного коду числа , що міститься в акумуляторі.).
Спочатку три букви переведені в їх еквівалент в коді ASCII, потім три коду ASCII перетворені в певний порядок спеціальною програмою асемблера, яка видає код інверсії вмісту акумулятора на машинній мові, тобто 0010 11112 в даному випадку або 2FH. Мнемоніка перетворена в один єдиний байт машинного мови.
Програма на мові асемблер, записана людиною, могла б бути представлена у вигляді табл. 7.1.
Таблиця 7.1. Програма на мові асемблер
Завантажити акумулятор даними, такими безпосередньо за КОП, В4Н Інвертувати вміст акумулятора Помістити вміст акумулятора в комірку пам'яті 2100Н Зупинити МП
Програма, що складається з символічних команд (фрагмент показаний в табл. 7.1), іноді називається вихідною програмою, а перекладена одного разу на машинну мову - вже об'єктної програмою.
Програмування на мові асемблер є способом «олюднення» дій мікропроцесора. Мови високого рівня (C, С + і т. Д.) При їх використанні роблять програмування зручнішим.
Наприклад, одна команда на C або С + може відповідати 20 або 30 машинним командам. Назва цієї глави відноситься до програмування мікропроцесора (на противагу програмування мікро-ЕОМ), тому що всюди ми будемо використовувати його склад команд. Буде використано програмування на мові асемблер, що допомагає розумінню складу команд мікропроцесора і його дій.
7.1. Два сегмента програми, наведені на рис. 7.1, написані на (асемблері, машинній мові).
7.2. Для формулювання команди мікропроцесора мову (машинний, асемблер) використовує слова і фрази.
7.3. _________ (Асемблер, Монітор) є спеціальною програмою ЕОМ, що дозволяє перевести програму користувача на машинну мову.
7.4. Перерахувати чотири поля програм на мові асемблер.
7.6. Програма, складена з символічних команд, називається (об'єктної, вихідної).