Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
12Лекція прог асм .doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
108.54 Кб
Скачать

Лекція Основи програмування на асемблері

Мова програмування найповніше враховує особливості "рідного" мікропроцесора і що містить мнемонічні позначення машинних команд називається Асемблером. Програма, написана на Асемблері називається початковою програмою. Далі зупинимося на версії, званій Турбо Асемблер.

Розробка програми на Асемблері складається з наступних етапів:

  • 1) Складання алгоритму у вигляді блок-схеми або структурного опису

  • 2) Введення в ЕОМ тексту початкової програми PROG.ASM за допомогою редактора текстів. Ім'я PROG може бути довільним, а розширення ASM - обов'язково

  • 3) Переклад (трансляція або асемблювання) початкової програми в машинні коди за допомогою транслятора TASM.EXE. На цьому етапі виходить проміжний продукт PROG.OBJ (об'єктний код). Виявлені при цьому синтаксичні і орфографічні помилки виправляються повтором пп.2 і 3

  • 4) Перетворення за допомогою програми TLINK.EXE об'єктної коди PROG.OBJ у здійснимий код PROG.EXE або PROG.COM.

  • 5) Виконання програми і її відладка починаючи з п.1, якщо зустрілися логічні помилки.

Текст програми на Асемблері містить наступні операції:

  • а) команди або інструкції

  • б) директиви або псевдооператори

  • в) оператори

  • г) зумовлені імена.

Дії обумовлені операціями перерахованими в пп.б,в,г виконуються на етапі трансляції, тобто є командами Асемблеру. Операції, звані командами або інструкціями виконуються під час виконання програми, тобто є командами мікропроцесору.

 

Формат команд та їх класифікація

Інструкція записується на окремому рядку і включає до чотирьох полів, необов'язкові з яких виділені [ ]:

[мітка:]

мнемоника_команды

[операнд(ы)]

[;коментар]

Влучна або символічну адресу містить до 31 символу з букв цифр і знаків ? @ . _ $. Причому цифра не повинна стояти першою, а крапка, якщо повинна бути першою.

Мнемоніка - скорочене позначення коди операції (КОП) команди, наприклад мнемоніка ADD позначає складання (addition).

Операндами можуть бути явно або двійкові набори, що неявно задаються, над якими проводяться операції.Операнди приводяться в одній з чотирьох систем числення і повинні закінчуватися символом b(B), про(O), d(D), h(H) для 2, 8, 10 або 16-ної СЧ. До шістнадцяткового числа додається зліва нуль, якщо воно починається з букви.

Система команд може бути класифікована по трьом основним ознакам -

  • довжина команди або число займаних нею байтів

  • функціональне призначення і

  • спосіб адресації.

Для МП 1810ВМ86 (8086) команда займає від одного до шести байтів. Першим байтом команди завжди є код операції, наприклад код команди INT XXh рівний CD(HEX).

За функціональною ознакою інструкції можна розбити на п'ять великих груп:

  • 1) команди пересилки даних

  • 2) арифметичні команди

  • 3) логічні команди

  • 4) команди переходів і

  • 5) команди управління.

Існує п'ять основних способів адресації:

  • регістрова

  • безпосередня

  • пряма

  • непряма і

  • стекова.

Більшість решти способів адресації є комбінаціями або видозмінами перечисленнных.

У першому випадку операнд(ы) розташовуються в регістрах мікропроцесора (МП)наприклад по команді MOV AX,CX пересилається вміст CX в AX.

При безпосередній адресації операнд розташовується в пам'яті безпосередньо за КОП, інструкція MOV AL,0f5h записує число 245(f5) в регістр AL.

У разі прямої адресації за КОП слідує не сам операнд, а адреса елементу пам'яті або зовнішнього пристрою, наприклад команда IN AL,40h вводить байт даних із зовнішнього пристрою з адресою 40h.

Непряма адресація відрізняється від регістрової тим, що в регістрі зберігається адреса операнда, тобто по команді MOV AL,[BX] в акумулятор al буде записано число з елементу пам'яті з адресою, що зберігається в регістрі BX.

Стекова адресація проводиться до операндів розташованим в області пам'яті, званої стек.

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]