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


 

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

46372. Дневник-отчет о результатах производственной практики 245.5 KB
  Обучать практической ориентировке на себе; – активизировать зрительноосязательное обследование ребенком своего тела учить рассматривать себя другого ребенка взрослого с соответствующим комментарием увиденного. Посетил занятий а тифлопедагога Дата Форма Тема ФИО Тифлопедагога Краткий анализ Подпись преподавателя 1 2 3 4 5 6 Группое Занятие по СБО Питание В ходе занятий решались следующие цели и задачи: – познакомить детей с разновидностями хлебных изделий; – показать способ приготовления теста вместе с детьми изготовить фигурное...
46373. Основы глобалистики. Учебное пособие 822 KB
  Философия техники и философия человека ОКРУЖАЮЩАЯ СРЕДА И МЕСТООБИТАНИЕ ЧЕЛОВЕКА Гомеостатическая деятельность человека При этом конечной целью глобалистики является не только судьба человечества но и Человека.
46374. ДЕЛОВОЕ ОБЩЕНИЕ 322.5 KB
  Понятие общения его типология. Характеристика делового общения Понятие общения. Типология общения. Характеристика делового общения: сущность особенности роль в современном бизнесе.
46375. Управленческий учет. Краткий конспект лекций 944.5 KB
  Введение Цель и сущность управленческого учета Классификация и поведение затрат Системы и методы калькулирования затрат Анализ взаимосвязи затрат объема деятельности и прибыли Анализ релевантной информации для принятия управленческих решений Анализ для принятия решений относительно долгосрочных инвестиций 84 7 Бюджетное планирование и контроль 95 8 Учет по центрам ответственности и оценка их деятельности 108 Литература Процесс управления предусматривает своевременное...
46376. ЛЕКЦИИ ПО МАКРОЭКОНОМИКЕ 2.67 MB
  Критериями являются особенности обслуживания того или иного вида производства. Экономическая свобода – это свобода предпринимательской деятельности наличие конкуренции свобода перелива капитала и экономической информации передвижение трудовых ресурсов разнообразие технологических способов ведения производства. Характеризуется тем что вопросы производства расширение ресурсов решаются единолично государством. Общество получает выгоду от производства благ от государства.
46377. Опыт и эффективность перехода ЖКХ на инновационные формы управления 518.5 KB
  Рыбальченко опыт и эффективность перехода жкх на инновационные формы управления Учебное пособие Москва2008 Спектор В. – экономист соискатель кафедры экономики и инвестирования ГАСИС Опыт и эффективность перехода ЖКХ на инновационные формы управления. В учебном пособии проанализированы основные факторы влияние которых необходимо учитывать при разработке предложений по применению в ЖКХ новых форм управления жилищным фондом и объектами коммунальной инфраструктуры. Дана оценка эффективности перехода на новые формы управления и пути снижения...
46378. Инновационные принципы совершенствования управления в жилищно-коммунальном хозяйстве. Учебное пособие 387 KB
  Рыбальченко инновационные принципы совершенствования управления в жилищно-коммунальном хозяйстве Учебное пособие Москва2008 Спектор В. экономист соискатель кафедры экономики и инвестирования ГАСИС Инновационные принципы совершенствования управления в жилищно-коммунальном хозяйстве. В учебном пособии раскрываются объективные причины необходимости совершенствования системы управления ЖКХ и сформулированы методические основы инновационного подхода к этому процессу в рамках реформирования отрасли. Реформирование ЖКХ на основе инновационных схем...
46379. Выбор электродвигателя и кинематические расчеты 432 KB
  Выбираем электродвигатель 4А160S6 Рдв = 11 кВт nдв 1000 мин 1 Sдв=27 номинальная частота вращения двигателя nдв = 973 мин 1 Передаточное отношение где ωдв угловая скорость двигателя рад с ωб – угловая скорость барабана рад с примем = 5 тогда частота вращения входного быстроходного вала редуктора 973 1 10184 частота вращения выходного тихоходного вала редуктора Определение вращающих моментов На валу шестерни Тш На валу колеса Тк Режим работы передачи Определяем наработку где С число вхождений в...
46380. Исследование резонансных явлений 683 KB
  Определение параметров реальной катушки индуктивности. Электрическая схема экспериментального определения параметров реальной катушки индуктивности. Измеряя напряжение на Uдоб на добавочном резисторе и Uк на катушке индуктивности Rk Xk произвести с помощью цифрового вольтметра Vц попеременно включая его к зажимам добавочного резистора и катушки индуктивности. Для вычисления параметров реальной катушки индуктивности необходимо воспользоваться данными измерений а также следующими формулами: Активное сопротивление всей цепи определяется по...