15290

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

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

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

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

Украинкский

2013-06-11

99 KB

5 чел.

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


 

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

34328. Технологическая блок-схема и пооперационная структура 21 KB
  Технологическая схема прва состоит из отдельных операций через ке проходит сырье для получения продукта. Все процессы взаимосвязаны между собой и направлены на изготовление конечного продукта. Для получения конечного продукта могут быть и другие схемы но здесь важно с экономической точки зрения оценить в кой схеме мы имеем больше выгоды.
34329. Принцип составления материального и энергетического балансов 24 KB
  Под технологическим балансом подразумевают результаты расчетов отражающих количество введенных и полученных в производственном процессе материалов и энергии. В основе составления материального и энергетического балансов лежат законы сохранения материи и энергии. энергии и колва выведенной с продуктом и отходами энергии. выход продции коэфты полезного использя энергии расходы и потери сырья т.
34330. Производство бетона и железобетона 28 KB
  Бетон искусый каменй матл получй в резте затвердевания перемешанной и уплотненной бетонной смеси состоящей из вяжущего вва воды и заполнителей. Чтобы повысить прочность вводят стальную арматуру железобетон. Выбор вяжущего опредся условиями эксплуаи бетй консти назначением прочность бетона видом бетй консти.
34331. Определение расходных коэффициентов, степени превращения, выхода продукции 22.5 KB
  Коэффициент определяется отношением массы сырья к массе целевого продукта: K=mс mц. Характеризует сколько можно получить целевого продукта с едцы сырья. Степень совершенства техн процесса определяется выходом продукта и ее качеством. Под выходом продукта Х понимают отношение фактически полеченного продукта Мф к теоретическому Мт ке можно было бы получить их данного исходного вещества: Х=Мф Мт Для хим реакций выход продукта определяется по уровню реакций с учетом количества исходного вещества.
34333. Технико-экономические показатели химико-технологических процессов 27.5 KB
  Чаще всего основой классификации химикотехнологических процессов является способ организации процесса кратность обработки сырья вид используемого сырья тип основной химической реакции. Комбинированные процессы могут характеризоваться непрерывным поступлением сырья и периодическим отводом продукта рис.2 г периодическим поступлением сырья и непрерывным отводом продукта рис.2 в периодическим поступлением одного из исходных видов сырья и непрерывным другого рис.
34334. Химико-технологические процессы 22 KB
  Химикотехнологические процессы Химикотехнологический процесс ХТП можно рассматривать как разновидность производственного процесса включающего стадию химического превращения веществ. Любой ХТП можно представить состоящим из трех основных стадий: подготовки сырья химического превращения и выделения целевого продукта и характеризуются различными физическими и физикохимическими явлениями при подготовке исходных реагентов к химическим превращениям стадия 1 или выделении целевого продукта из смеси веществ после химического. Первая и...
34335. Производство серной кислоты контактным способом 23.5 KB
  Производство серной кислоты контактным способом Производство серной кислоты контактным способом включает четыре стадии: получение диоксида серы; очистку газа от примесей получение триоксида серы; абсорбцию триоксида серы. Третья стадия производства серной кислоты является основной. В четвертой стадии процесса производства серной кислоты охлажденный окисленный газ направляется в абсорбционное поглотительное отделение цеха. Поэтому SОз поглощается концентрированной серной кислотой в две стадии.
34336. Области применения серной кислоты и технико-экономические показатели ее производства 32.5 KB
  Области применения серной кислоты и техникоэкономические показатели ее производства. Производство серной кислоты одной из самых сильных и дешевых кислот имеет важное народнохозяйственное значение обусловленное ее широким применением в различных отраслях промышленности. Контактным способом получают около 90 от общего объема производства кислоты так как при этом обеспечивается высокая концентрация и чистота продукта. В качестве сырья для производства серной кислоты применяются элементарная сера и серный колчедан; кроме того широко...