15283

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

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

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

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

Украинкский

2013-06-11

142 KB

4 чел.

PAGE  3

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

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

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

  

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

Дамо формальне визначення: масив – структурований тип даних, що складається з деякого числа елементів одного типу.

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

  •  опис масиву в програмі;
  •  ініціалізація масиву, тобто задавання початкового значення його елемента;
  •  організація доступу до елементів масиву;
  •  організація виконання типових операцій з масивами.

Спеціальних засобів опису масивів в асемблері немає. Для опису масиву можуть використовуватися директиви опису даних. Елементи масиву перераховуються і розділяються комами. Наприклад, масив з п’яти елементів, кожний з яких представлений байтом можна описати наступним чином:

mas db 1,2,3,4,5.

Інший спосіб – застосування оператора повторення dup:

mas dw 5 dup (0).

Приведений запис резервує п’ять комірок пам’яті розмірністю «слово» (16 біт кожна) під масив, які заповнюються нулями.

Якщо масив розглядати як одновимірний, то доступ до елементів масиву забезпечується наступним чином:

база + (індекс*розмір елемента).

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

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

Масив у байтах

Масив у словах

Примітка

ORG 100h

mov i, 0

mov cx, m

mov si, 0

go:

mov bh, i

mov mas[si], bh

inc i

inc si

dec cx

jnz go

mov si, n1

mov al, mas[si]

mov si, n2

mov mas[si], al

ret

mas db m dup(0)

i db 0

ORG 100h

mov i, 0

mov cx, m

mov si, 0

go:

mov bx, i

mov mas[si], bx

inc i

add si, 2

dec cx

jnz go

mov si, n1

mov ax, mas[si]

mov si, n2

mov mas[si], ax

ret

mas dw m dup(0)

i dw 0

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

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

Зміщення

Код (Hex)

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

К-сть байт

Коментар

100

C7

MOV w.[00136H], 0000

6

Код операції – запис числа 0 в комірку пам’яті [00136H]

101

06

102

36

Молодший байт адреси

103

01

Старший байт адреси

104

00

Молодший байт операнду

105

00

Старший байт операнду

106

01

MOV CX, 0004H

3

Запис числа 4h в CX

107

04

Молодший байт операнду

108

00

Старший байт операнду

109

10A

10B

10C

10D

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


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

№ кроку

IP

Команда

SI

BX

CX

AX

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

і

Коментар

H

L

H

L

H

L

012E

0130

0132

0134

0136

0

100

MOV w.[00136H], 0000

0000

00

38

00

00

0000

0000

0000

0000

0000

1

106

MOV CX, 0004H

0000

00

38

00

00

00

00

00

00

00

2

MOV SI, 0000

0000

00

04

00

00

00

00

00

00

00

3

4

5


  1.  Зафіксувати стан прапорців до і після виконання команди порівняння операндів. Результати занести в табл..2.

C

Z

S

O

P

A

D

0

0

0

0

0

0

0

0

1

0

0

1

0

0

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

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

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

№ варіанту

m

Тип елементів масиву

Значення елементів масиву

n1

n2

1

3

db

і=0 (інкремент)

2

3

2

4

dw

і=10 (інкремент)

3

1

3

5

db

і=20 (декремент)

4

5

4

3

dw

і=0 (інкремент)

1

3

5

4

db

і=10 (інкремент)

4

2

6

5

dw

і=20 (декремент)

5

3

7

3

db

і=0 (інкремент)

1

2

8

4

dw

і=10 (інкремент)

2

3

9

5

db

і=20 (декремент)

1

4

10

3

dw

і=0 (інкремент)

3

1

11

4

db

і=10 (інкремент)

1

4

12

5

dw

і=20 (декремент)

5

1

13

3

db

і=0 (інкремент)

2

1

14

4

dw

і=10 (інкремент)

4

1

15

5

db

і=20 (декремент)

5

2

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

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

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

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

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

  1.  Яким чином описується одновимірний масив у асемблерній програмі?
    1.  Як забезпечується доступ до елементів одновимірного масиву?
    2.  Яким чином забезпечується ініціалізація елементів масиву?
    3.  Яким чином забезпечується індексація елементів одновимірного масиву?

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

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


 

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

31658. Психолого-педагогическое сопровождение развития личности ребенка в образовательной процессе 52 KB
  Тесты классифицируются по разным признакам. По виду свойств личности они делятся на тесты достижений и личностные. К первым относятся тесты интеллекта школьной успеваемости тесты на творчество тесты на способности сенсорные и моторные тесты. Ко вторым тесты на установки на интересы на темперамент характерологические тесты мотивационные тесты.
31659. Чотири типи темпераменту 37.5 KB
  Якщо у мами і дитини темперамент схожий вони швидше порозуміються якщо ж темпераменти різко відрізняються мама – холерик малюк – флегматик це веде до проблем в спілкуванні з дитиною в її вихованні тому що мама часто вимагає від дитини те на що вона не здатна бути лідером в спілкуванні з однолітками бути розкутою швидко одягатися і так далі. У цьому випадку дорослому варто підстроїтися під дитину враховувати її індивідуальні особливості контролювати свої емоції щоб не зародити у малюка комплекс неповноцінності. Вона вертка і...
31660. Поняття про здібності 62.5 KB
  Психологія заперечуючи тотожність здібностей і істотно важливих компонентів діяльності знань умінь і навичок підкреслює їхню єдність. Здібності виявляються тільки в діяльності і притім тільки в такий діяльності що не може здійснюватися без наявності цих здібностей. Не можна говорити про здібності дитини до малювання якщо його не намагаються навчати малювати якщо він не здобуває ніяких навичок необхідних для образотворчої діяльності. У чому ж виражається єдність здібностей з одного боку і умінь знань і навичок з інший Здібності...
31661. Поняття про характер 42.5 KB
  Такі психологічні особливості особистості називають рисами характеру. Історія знає багатьох політичних громадських і військових діячів які завдяки силі позитивних рис свого характеру сприяли прогресу суспільства тоді як особи з негативними рисами характеру або зі слабким характером призводили до його занепаду. Структура характеру Характер як одна з істотних особливостей психічного складу особистості є цілісним утворенням що характеризує людське Я як єдність. Розуміння характеру як єдності його рис не виключає виокремлення в ньому деяких...
31662. ВІКОВА ПСИХОЛОГІЯ ЯК ГАЛУЗЬ ПСИХОЛОГІЧНОЇ НАУКИ 127.5 KB
  Вікова психологія галузь психологічної науки яка вивчає особливості психічного та особистісного розвитку людини на різних етапах її життя. Його специфіка полягає передусім у тому що протягом життя в психіці людини відбуваються різні якісні перетворення дослідження яких потребує системного з'ясування загальних закономірностей вікового розвитку. Предметом дослідження вікової психології є вікова динаміка закономірності фактори умови механізми становлення формування та розвитку особистості. Вікова психологія вивчає загальні...
31663. Психічний розвиток людини 28.5 KB
  Кожен період вік своєрідний ступінь психічного розвитку з притаманними йому відносно стійкими якісними особливостями. Відомо що вікові психологічні особливості зумовлені конкретноісторичними умовами розвитку спадковістю певною мірою характером виховання особливостями діяльності та стосунків з іншими людьми що впливає передусім на специфіку переходу від одного вікового періоду до іншого. Власне тому що навчання й виховання організовує діяльність дітей поетапно керує нею на основі накопиченого досвіду прагнучи враховувати наявні...
31664. ПСИХОЛОГІЯ ОСОБИСТОСТІ ПІДЛІТКА 35 KB
  Загальна характеристика підліткового віку Підлітковий вік це один з найважливіших етапів життя людини. Вік цей нестабільний ранимий важкий і виявляється що він більше ніж інші періоди життя залежить від реальностей довкілля. Загальна характеристика підліткового віку варіює в різних теоріях залежно від їх основної ідеї. Однак всі ці і багато інших підходів об'єднує те що в них існують загальні показники які характеризують даний вік.
31665. ПСИХОЛОГІЯ МОЛОДШОГО ШКОЛЯРА (ЗРІЛОГО ДИТИНСТВА) 100.5 KB
  Опановуючи новий для себе вид діяльності навчання молодші школярі ще багато часу й енергії віддають грі. У цих видах діяльності розгортаються їх стосунки з ровесниками і дорослими особистісне психічне життя і психічний розвиток формуються психічні новоутворення завдяки чому діти виходять на новий рівень пізнання світу і самопізнання відкривають нові власні можливості і перспективи. Нижня межа цього вікового періоду 6 7 років пов'язана з переходом до навчання як систематичної та цілеспрямованої діяльності. Цей симптом виявляється...
31666. Характеристика осн. теорій розвитку особистості 47 KB
  теорій розвитку особистості Фізичний розвиток підлітка та набуті у попередні роки властивості психічного розвитку створюють внутрішні передумови для зміни його становища в школі в сім'ї в суспільстві. Всі теорії розвитку особистості можна поділити на три групи згідно поєднання факторів розвитку: Представники біологічного напрямку рахують що людина народжується з набором відповідних моральних та етичних якостей таких як:доброта злість чесність брехливість порядність агресивність жорстокість та інші. Чічерліх; Представники...