15290

Налагодження програми мовою Асемблер з використанням макросів

Лабораторная работа

Информатика, кибернетика и программирование

Налагодження програми мовою Асемблер з використанням макросів Лабораторна робота № 18 Тема: Технологія та прийоми програмування мовою Асемблер. Мета роботи: Набути навичок роботи з макросами при програмуванні мовою Асемблера. Навчитися с

Украинкский

2013-06-11

99 KB

2 чел.

PAGE  5

Налагодження програми мовою Асемблер з використанням макросів

Лабораторна робота № 18

Тема: Технологія та прийоми програмування мовою Асемблер.

Мета роботи: Набути навичок роботи з макросами при програмуванні мовою Асемблера. Навчитися створювати власні макроси.

  

  1.  Короткі теоретичні відомості

  1.  Макроси

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

Як правило, пакети з налагодження асемблерних програм мають набори вбудованих типових макросів. Нижче наведені макроси, що включені в емулятор emu8086:

  •  PUTC char – макрос з одним параметром, друкує символ ASCII на текучу позицію курсора.
  •  GOTOXY col, row – макрос з двома параметрами, задає позицію курсора.
  •  PRINT string – макрос з одним параметром, друкує рядок.
  •  PRINTN string – макрос з одним параметром, друкує рядок аналогічно до попереднього макросу, але додатково виконує “перехід на новий рядок” в кінці рядка.
  •  CURSOROFFвиключає текстовий курсор.
  •  CURSORON - включає текстовий курсор.

Для застосування любого з вказаних макросів необхідно вказати назву макроса з відповідними параметрами в коді програми, наприклад:

include emu8086.inc; включення бібліотеки макросів.

ORG    100h

GOTOXY 10, 5

PRINT 'Text'

GOTOXY 17, 7

PUTC 'O'           ; 65 - is an ASCII code for 'A'

PUTC 'K'

PUTC '!'

RET               ; повернення до операційної системи.

END               ; директива зупинки компілятора.

  1.  Створення власних макросів

Для створення макросу використовується директива macro. Ця директива має наступний синтаксис:

<назва_макросу> macro  [<список_параметрів>]

{

   <тіло_макросу>

}

 endm

Назва макросу вказується до або після директиви, а також може бути вказаний список параметрів (операндів). Параметри в списку перераховуються через кому. Усередині фігурних дужок записується тіло макросу. До речі, для коротких макросів можна писати усе це в одному рядку:

macro <назва_макросу> [<список_параметрів>] { <тіло_макросу> }

Тіло макросу - це код, який підставляється в те місце, де макрос буде викликаний. Створення макросу являється по суті лише його оголошенням, в цьому місці програми ніякого коду згенеровано не буде! Тому оголошення макросів зазвичай розміщують на самому початку програми або в окремому файлі.

Нижче наведений приклад власного макросу.

MyMacro    MACRO  p1, p2, p3

    MOV AX, p1

    MOV BX, p2

    MOV CX, p3

ENDM

ORG 100h

MyMacro 1, 2, 3

MyMacro 4, 5, DX

RET

Якщо Ви хочете створити свою бібліотеку макросів, то створені макроси поміщаються в окремий файл з розширенням «inc» або «asm», а длоя доступу до файлу необхфідно скористатися директивою з вказанням шляху до файлу:

Include шлях до файлу.

  1.  Постановка завдання

  1.  Використовуючи середовище емулятора МП і8086, створити і налагодити проект асемблерної програми з використанням стандартних макросів для виведення на екран монітора власного прізвища та імені, починаючи з заданої позиції монітора. Надпис OK!” розташувати у наступній стрічці посередині відносно основного надпису.  
    1.  Створити власний макрос за результатами попередніх лабораторних робіт, наприклад, з формування часової затримки.
    2.  Використовуючи середовище емулятора скласти лістинг програми (табл..1)

Таблиця 1 Лістинг програми

Зміщення

Код (Hex)

Мнемокод команди

К-сть байт

Коментар

100

101

102

103

.

.

.

  1.   Використовуючи покроковий режим роботи емулятора, проаналізувати хід виконання програми. Заповнити табл..2 результатів досліджень.
    1.  Використовуючи функціональні можливості емулятора, проаналізувати алгоритми виконання команд, що використані в програмі.
    2.  Інтерпретувати зміни стану регістрів загального призначення, сегментних регістрів та регістра стану (прапорців) МП при виконанні команд.

Таблиця 2 Результати досліджень

№ кроку

IP

Команда

SI

DX

ВX

AX

Адреси елементів масиву

і

Коментар

H

L

H

L

H

L

0

100

1

2

3

4

5

  1.  Варіанти індивідуальних завдань
    1.  Варіанти індивідуальних завдань наведені у табл..3.

Таблиця 3 Варіанти індивідуальних завдань

№ варіанту

Позиція курсора

Примітка

1

1, 10

2

5, 1

3

10, 10

4

5, 15

5

6, 20

6

7, 10

7

15, 15

8

13, 6

9

11, 5

10

5, 5

11

3, 12

12

8, 16

13

2, 10

14

4, 15

15

8, 8

  1.  Методичні вказівки

  1.  Увійти в середовище емулятора Emu8086.
    1.  Створити новий проект типу “com” під власним іменем.
    2.  У створеному проекті набрати текст програми відповідно до п.2.1 і індивідуального завдання.
    3.  Скомпілювати створений проект.
    4.  Проаналізувати повідомлення про помилки, якщо такі мають місце. Записати повідомлення у звіт до лабораторної роботи. Пояснити причини виникнення помилок і вказати шляхи їх усунення.
    5.  Після успішного завершення процедури компілювання проекту перейти до аналізу роботи створеної програми відповідно до п.п.2.2…2.6, використовуючи покроковий режим роботи емулятора.
    6.  В процесі аналізу роботи програми контролювати і записувати зміни вмісту регістрів, що приймають участь в роботі програми. Слідкувати за зміною значень прапорців в регістрі стану.
    7.  Проаналізувати алгоритми роботи використаних команд.

  1.  Зміст звіту

  1.  Назва теми.
    1.  Мета роботи.
    2.  Індивідуальне завдання.
    3.  Лістинг програми відповідно до п.2.3 з відповідними коментарями.
    4.  Результати досліджень команд відповідно до п.2.4.
    5.  Алгоритми виконання основних команд відповідно до п.2.5.
    6.  Інтерпретація вмісту регістрів відповідно до п.2.6.
    7.  Висновки, в яких звернути увагу на особливості виконання застосованих в програмі команд.

  1.  Контрольні запитання

  1.  Що таке макрос?
    1.  Який порядок використання стандартних макросів?
    2.  Які переваги застосування макросів порівняно зі звичайним набором команд?
    3.  Які відмінності між макросом і підпрограмою?
    4.  Як створити власний макрос?
    5.  Як створити і застосовувати бібліотеку власних макросів?

  1.  Джерела інформації

  1.  Ю.І. Якименко, Т.О. Терещенко, Є.І. Сокол та ін. Мікропроцесорна техніка: Підручник. – Київ. – ІВЦ «Видавництво «Політехніка». – 2004. – 439 с.
    1.  Юров В., Хорошенко С. Assembler: учебный курс – СПб: Питер Ком, 1999. – 672 с.


 

А также другие работы, которые могут Вас заинтересовать

23013. Синхронічний та діахронічний аспекти вивчення мовних одиниць 33 KB
  syn разом і chronos час тобто одночасність 1 стан мови в певний момент її розвитку в певну епоху; 2 вивчення мови в цьому стані в абстракції від часового чинника. dia через і chronos час тобто різночасність 1 історичний розвиток мови; 2 дослідження мови в часі в її історичному розвитку. Поступові кількісні зміни у мові протягом століть зумовили Якісні зміни причому такі що сучасному мовцеві важко зрозуміти давні тексти. Відповідно в мовознавстві розрізняють стан мови та розвиток мови.
23014. Проблема походження мови, основні теорії походження мови 43.5 KB
  Проблема походження мови основні теорії походження мови. Проблема походження мови є дуже складною. проблему походження мови порушувалася в межах філософських дискусій про сутність мови. Представники школи Платона вважали що назви предметам даються не довільно а відповідно до їх Природи що свідчить про природний характер мови і відповідно закономірну біологічну зумовленість її виникнення.
23015. Синтагматичний та парадигматичний аспекти дослідження мовних одиниць 28 KB
  Синтагматичний та парадигматичний аспекти дослідження мовних одиниць. Синтагматика – один із двох системних аспектів у вивченні мови який розглядає відношення між послідовно розташованими одиницями за їхнього безпосереднього поєднання в реальному потоці мовлення або в тексті тобто сполучуваність мовних одиниць. Парадигматична методика охоплює опозиційний прийом на основі зіставлення і протиставлення мовних одиниць встановлюються їх диференційні ознаки а на основі спільності й відмінності одиниці об'єднуються в різні парадигматичні...
23016. Фактори розвитку мов. Поняття національна мова, літературна мова 29 KB
  Поняття національна мова літературна мова. Літературна мова – унормована мова суспільного спілкування загальноприйнята в писемній та усній практиці. Літературна мова одна із форм національної мови що існує поряд з іншими її формами – діалекти просторіччя мова фольклору.мови нормованість кодифікованість полі функціональність загально значущість наявність не тільки писемного а й усного різновиду.
23017. Семіотика як наука про знакові системи 35 KB
  Вивчення мови на рівних правах і тотожними методами мислиться в складі семіології єдиної науки про знаки. За першою класифікацією всі знаки поділяють на знакиіндекси знакикопії знакисигнали і знакисимволи. Знакиіндекси знакиприкмети і знакисимптоми знаки пов'язані з позначуваними предметами як дії зі своїми причинами. Знакикопії відтворення репродукції подібні на позначувані предмети.
23018. Мова як особлива знакова система 34 KB
  Мова як особлива знакова система. Знак матеріальний чуттєво сприйманий предмет який є представником іншого предмета і використовується для отримання зберігання і передачі інформації У світі існують різноманітні системи знаків які служать для передачі інформації. Серед них наприклад дорожні знаки морська сигналізація прапорцями та інші знаки. Основними ознаками знака є матеріальність його можна бачити чути тобто сприймати органами чуттів використання його для позначення чогось що перебуває поза ним інформативність.
23019. Основні властивості знаків, мовних знаків 34.5 KB
  Основні властивості знаків мовних знаків. Про довільність мовних знаків свідчить той факт що одні й ті ж поняття в різних мовах передаються різними словами укр. До вмотивованих мовних знаків передусім належать звуконаслідувальні слова типу бух ляп хлоп хіхікати. Саме завдяки цьому асиметричному дуалізмові структури знаків лінгвальна система може еволюціонувати.
23020. Мова і мовлення 32 KB
  Мова і мовлення Мова система одиниць спілкування і правил їх функціонування. Іншими словами мова це інвентар словник і граматика які існують у потенції в можливості Мовлення конкретно застосована мова засоби спілкування в їх реалізації. Усе те що пересічні мовці розуміють під словом мова насправді є власне мовою і мовленням. Розмежування мови і мовлення теоретично обґрунтоване швейцарським лінгвістом Ф.
23021. Мова, мислення, свідомість 35 KB
  Мова мислення свідомість Мислення узагальнене й абстрактне відображення мозком людини явищ дійсності в поняттях судженнях й умовиводах. Щодо мови і мислення в науці існували два протилежні й неправильні погляди ототожнення мови й мислення Д. Гаман і відривання мови від мислення Ф. Представники першої точки зору вважали що мова це всього лише форма мислення.