15290

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

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

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

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

Украинкский

2013-06-11

99 KB

3 чел.

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 с.


 

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

30018. Учет труда и расчетов с персоналом по оплате труда 177.69 KB
  Методика учета расчетов с персоналом по оплате труда 14 1. Структура оплаты труда работников предприятия 19 2.2 Оценка состояния учета расчетов с персоналом по оплате труда 29 2.
30019. Технические условия на изготовление сварочной конструкции 490.35 KB
  Закономерности сварки плавлением излагаются в тесной связи со спецификой отдельных ее видов. Наибольшее внимание уделено дуговой сварке занимающей ведущее положение по сравнению с другими видами сварки. Применение сварки способствует совершенствованию машиностроения и развитию таких отраслей техники как ракетостроение атомная энергетика радиоэлектроника и др.
30021. «Богатырь русского леса. Шишкин И.И.» (мультимедиа программа) 995 KB
  Картина №1. Афонасовский как прозывается он в наших краях под Елабугой Картина эта имела успех у публики. А для меня эта картина стала первой где многолетние свои наблюдения природы пытался я претворить в единый образ русского леса образ родины. Картина №2.
30023. Практические рекомендации по развитию интернет коммуникаций Фонда венчурных инвестиций ЧР www.e-birzha.cap.ru 1.39 MB
  Специфика корпоративного сайта как PRинструмента. Анализ официального сайта Фонда венчурных инвестиций ЧР www. История создания и ключевые требования к содержанию сайта. Анализ существующего состояния сайта www.
30024. Опытно - экспериментальная работа по формированию умений письма и письменной речи по средствам информационно – коммуникационных технологий 121.3 KB
  Информационнокоммуникационные технологии заняли прочное место в процессе обучения иностранному языку. Практика показывает что информационнокоммуникационные технологии имеют немало преимуществ перед традиционными методами обучения. Среди них можно выделить интенсификацию самостоятельной работы учащихся повышение познавательной активности и индивидуализацию обучения.
30025. Моделирование стрижек 61.22 KB
  Стрижка волос довольно сложная и серьезная операция которая требует предельного внимания и собранности. Укладка Волос это изменение структуры волоса на непродолжительное время чаще всего от мытья до мытья. В моде светлый цвет волос.
30026. Экспертиза эффективности и финансовой реализуемости инвестиционного проекта 635.15 KB
  Главным критерием оценки деятельности интерната для детейсирот является социальный эффект. В данном случае строительство интерната для детейсирот на территории Орловского района создаст рабочих мест. Для оценки эффективности предложенного в дипломе инвестиционного проекта проведем анализ положения детейсирот в Орловской области По информации Департамента образования молодежной политики и спорта в Орловской области по состоянию на 1 сентября 2012 года насчитывалось 2775 детейсирот и детей оставшихся без попечения родителей. В...