15288

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

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

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

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

Украинкский

2013-06-11

104 KB

3 чел.

PAGE  3

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

Лабораторні роботи № 15, 16

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

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

  

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

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

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

Підпрограма може бути оформлена у вигляді процедури, і тоді ім'я цієї процедури служитиме точкою входу в підпрограму:

drawline proc ;Підпрограма-процедура

. . . ;Тіло підпрограми

ret ;Команда повернення в основну програму

drawline endp 

З таким же успіхом можна обійтися без процедури, просто помітивши перший рядок програми деякою міткою:

drawline: ;Підпрограма, що починається з мітки

. . . ;Тіло підпрограми

ret ;Команда повернення в основну програму

. . . ;Продовження основної програми або

;інші підпрограми 

У будь-якому випадку виклик підпрограми здійснюється командою call. Підпрограма повинна завершуватися командою ret, яка служить для повернення управління в точку основної програми, звідки була викликана підпрограма.

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

  1.  Використовуючи середовище емулятора МП і8086, створити і налагодити проект асемблерної програми відповідно до індивідуального завдання за нижченаведеним шаблоном програми:

ORG 100h; Основна програма

cld

mov CX, 3; В завданні число m

lea si, a1

mov aa1, si

lea si, a2

mov aa2, si

nc: push CX

CALL load

CALL delay

pop CX

loop nc

ret

a1 dw 2,4,6

a2 dw 1,3,5

aa1 dw 0

aa2 dw 0

delay proc;   Підпрограма затримки

mov Cx, BX      ; Лічильник зовнішнього циклу

outer: push CX      ; Збережемо його в стеку

mov Cx, AX            ; Лічильник внутрішнього циклу

inner: loop inner  ; loop внутрішнього циклу

pop CX                ; Відновимо зовнішній лічильник

loop outer          ; loop зовнішнього циклу

ret

delay endp

load proc; Підпрограма завантаження параметрів зовнішнього та внутрішнього циклів підпрограми затримки

mov SI, aa1

LODSW

MOV aa1, SI

mov BX, AX

mov SI, aa2

LODSW

MOV aa2, SI

ret

load endp

Програма ілюструє роботу програмного таймера, який часто застосовують для організації часових затримок між певними подіями. Змінюючи параметри зовнішнього та внутрішнього циклів, можна змінювати тривалість затримки. В наведеній програмі зміна параметрів забезпечується підпрограмою завантаження параметрів зовнішнього та внутрішнього циклів підпрограми затримки, яка вибирає дані з рядків а1 і а2.

  1.  Використовуючи середовище емулятора скласти лістинг програми (табл..1)

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

Зміщення

Код (Hex)

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

К-сть байт

Коментар

100

B9

MOV CX, 00003

3

Код операції – запис числа 3 в CX

101

03

Молодший байт числа

102

00

Старший байт числа

103

  1.  Використовуючи покроковий режим роботи емулятора, проаналізувати хід виконання програми для однієї пари параметрів. Заповнити табл..2 результатів досліджень.

2.4 Прибрати в тексті програми елементи процедури proc і endp, перекомпілювати проект і переконатися в його працездатності.


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

№ кроку

IP

Команда

SI

BX

CX

AX

DX

Коментар

H

L

H

L

H

L

H

L

0

100

MOV CX, 0003H

0000

00

00

00

00

00

00

00

00

1

103

MOV SI, 0011CH

0000

00

00

00

03

00

00

00

00

2

3

4

5


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

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

№ варіанту

m

Значення елементів

а1

Значення елементів

а2

1

3

1, 3, 5

2, 4, 6

2

4

2, 3, 4, 1

1, 2, 3, 4

3

2

4, 2

5, 6

4

3

2, 4, 6

1, 3, 5

5

4

1, 2, 3, 4

2, 4, 6, 8

6

2

3, 4

6, 5

7

3

5, 3, 1

6, 4, 2

8

4

4, 3, 2, 1

3, 4, 5, 2

9

2

2, 4

3, 5

10

3

1, 3, 2

6, 5, 4

11

4

1, 3, 2, 4

6, 5, 3, 1

12

2

5, 3

6, 8

13

3

3, 4, 2

5, 3, 1

14

4

1, 3, 2, 4

6, 2, 3, 5

15

2

2, 1

3, 0

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

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

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

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

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

  1.  Яке призначення підпрограм?
    1.  Яким чином формується підпрограма в асемблер ній програмі?
    2.  Як здійснюється виклик підпрограми?
    3.  Куди повертається управління після завершення підпрограми?
    4.  Для чого використовується стек при роботі з підпрограмами?
    5.  Яким чином здійснюється передача параметрів у підпрограму?

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

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


 

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

79288. Высвобождение персонала 55.85 KB
  Высвобождение персонала Высвобождение персонала это вид управленческой деятельности предусматривающий комплекс мероприятий по соблюдению правовых норм и организационно-психологической поддержки со стороны администрации при увольнении работников. Виды высвобождения персонала из организации приведены на рис. тот вид высвобождения который практически не прогнозируется администрацией и как правило происходит для нее неожиданно. Однако с точки зрения работника это наиболее мягкий вид высвобождения: работник готов покинуть организацию и...
79289. Управление социальным развитием организации 11.87 KB
  Управление социальным развитием организации Говоря об управлении социальным развитием организации можно использовать термин – Социальная политика организации которая характеризуется как часть политики управления персоналом и включающая в себя все цели и мероприятия связанные с добровольными социальными услугами организации. Социальная политика организации означает уважение признание заслуг и поощрение людей. Соответственно этому система дополнительных социальных льгот должна быть не только привлекательной для сотрудника но и...
79290. Организация обучения персонала 19.09 KB
  Организация обучения персонала. Следует различать три вида обучения. Отечественный и зарубежный опыт выработал три концепции обучения квалифицированных кадров: Концепция специализированного обучения ориентирована на сегодняшний день или ближайшее будущее и имеет отношение к соответствующему рабочему месту. Концепция многопрофильного обучения является эффективной с экономической точки зрения так как повышает внутрипроизводственную и внепроизводственную мобильность работника.
79291. Аттестация персонала 13.3 KB
  Аттестация персонала организаций основного звена управления процедура определения квалификации уровня знаний практических навыков деловых и личностных качеств работников качества труда и его результатов и установления их соответствия несоответствия занимаемой должности. Аттестация персонала служит юридической основой для переводов продвижения по службе награждения определения размера заработной платы а также понижения в должности и увольнения. Аттестация направлена на улучшение качественного состава персонала определение степени...
79292. Управление деловой карьерой, служебно-профессиональным продвижением 353.73 KB
  Деловая карьера поступательное продвижение личности в какойлибо сфере деятельности изменение навыков способностей квалификационных возможностей и размеров вознаграждения связанных с деятельностью; продвижение вперед по однажды выбранному пути деятельности достижение известности славы обогащения. Планирование и контроль деловой карьеры заключаются в том что с момента принятия работника в организацию и до предполагаемого увольнения с работы необходимо организовать планомерное горизонтальное и вертикальное продвижение работника по...
79293. Работа с кадровым резервом 17.89 KB
  Работа с кадровым резервом Принципы формирования и источники кадрового резерва Формирование кадрового резерва основывается на следующих принципах: актуальность резерва потребность в замещении должностей должна быть реальной; соответствие кандидата должности и типу резерва требования к квалификации кандидата при работе в определенной должности; перспективность кандидата ориентация на профессиональный рост требования к образованию возрастной ценз стаж работы в должности и динамичность карьеры в целом состояние здоровья. Источниками...
79294. Теории мотивации трудовой деятельности 43.01 KB
  Различают первичные и вторичные потребности. Потребности можно удовлетворить вознаграждениями. Маслоу существует пять основных типов потребностей: физиологические потребности уровень 1; потребность в безопасности уровень 2; социальные потребности уровень 3; потребность в уважении и самоутверждении уровень 4; потребность в самовыражении уровень 5. Маслоу Эти потребности образуют иерархическую структуру которая определяет поведение человека причем потребности высшего уровня не мотивируют человека пока хотя бы частично не...
79295. Мотивация и стимулирование трудовой деятельности персонала 45.96 KB
  Мотивация и стимулирование трудовой деятельности персонала Система стимулирования труда персонала: общие положения и составные части. Система материального стиулирования труда и ее элементы. Основным компонентом материального стимулирования труда является система его оплаты которая осуществляется в двух формах – повременной и сдельной рис. Формы оплаты труда Система оплаты труда комплекс взаимосвязанных принципов и методов определления уровня оплаты труда персонала на основе учета количественных и или качественных характеристик...
79296. Оценка результатов труда персонала организации 16.86 KB
  Оценка результатов труда персонала организации Оценка результатов труда одна из функций по управлению персоналом направленная на определение уровня эффективности выполнения работы. Оценка результатов труда является составной частью деловой оценки персонала наряду с оценкой его профессионального поведения и личностных качеств и состоит в определении соответствия результатов труда работника поставленным целям запланированным показателям нормативным требованиям. Оценка труда мероприятия по определению соответствия количества и качества...