15284

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

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

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

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

Украинкский

2013-06-11

149 KB

5 чел.

PAGE  3

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

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

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

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

  

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

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

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

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

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

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

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

mas dw 5 dup (0).

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

При потребі реалізації двовимірного масиву питання організації масиву повинен вирішувати програміст. З позицій опису даних в асемблері немає різниці між описом одновимірного та двовимірного масиву. Різними будуть правила доступу до елементів масиву.

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

mas db 15 dup (0).

Доступ до елементів даного двовимірного масиву mas[i,j], де i – число стрічок, j – число стовпців може здійснюватися за наступним правилом:

база + і*кількість елементів в стрічці*розмір елемента + j* розмір елемента.

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

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

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

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

Примітка

ORG 100h

mov al, 3

mov i, 1

mul i

mov bx, ax; stroka

mov j, 2

mov si, j; stovpec'

mov ah, array[bx+si]

ret

i db 0

j dw 0

array db 1,2,3,4,5,6

ORG 100h

mov al, 6;6=3*2(3-k-st' elementiv  v strichci, 2-rozmir elementa)

mov i, 1

mul i

mov bx, ax; stroka

mov j, 2

shl j, 1; mnojennia j na 2)

mov si, j; stovpec'

mov dx, array[bx+si]

ret

i db 0

j dw 0

array dw 1,2,3,4,5,6

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

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

Зміщення

Код (Hex)

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

К-сть байт

Коментар

100

101

102

103

104

105

106

107

108

109

10A

10B

10C

10D

10E

10F

110

  1.   Використовуючи покроковий режим роботи емулятора, проаналізувати хід виконання програми для заданого елемента масиву Array[i,j] в табл..3. Заповнити табл..2 результатів досліджень.
    1.   Змінюючи значення i від 0 до (m-1) та j від 0 до (n-1), де m, n – відповідно число стрічок та число стовпців двовимірного масиву, перевірити правильність доступу до всіх елементів масиву.
    2.  Використовуючи функціональні можливості емулятора, проаналізувати алгоритми виконання команд, що використані в програмі.
    3.  Інтерпретувати зміни стану регістрів загального призначення, сегментних регістрів та регістра стану (прапорців) МП при виконанні команд.


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

№ кроку

IP

Команда

SI

DX

ВX

AX

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

і

Коментар

H

L

H

L

H

L

0

100

1

2

3

4

5


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

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

№ варіанту

Розмір масиву

mxn

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

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

Array[i,j]

Примітка

1

2х3

db

1,2,3,4,5,6

[1,2]

2

2х3

dw

1,2,3,4,5,6

[1,2]

3

3х2

db

1,2,3,4,5,6

[2,1]

4

3х2

dw

1,2,3,4,5,6

[2,1]

5

2х4

db

1,2,3,4,5,6,7,8

[1,3]

6

2х4

dw

1,2,3,4,5,6,7,8

[1,3]

7

4х2

db

1,2,3,4,5,6,7,8

[3,1]

8

4х2

dw

1,2,3,4,5,6,7,8

[3,1]

9

2х3

db

Ah,bh,ch,dh,eh,fh

[1,1]

10

2х3

dw

Ah,bh,ch,dh,eh,fh

[1,1]

11

3х2

db

Ah,bh,ch,dh,eh,fh

[1,1]

12

3х2

dw

Ah,bh,ch,dh,eh,fh

[1,1]

13

2х4

db

Ah,bh,ch,dh,eh,fh,aah,bbh

[0,2]

14

2х4

dw

Ah,bh,ch,dh,eh,fh,aah,bbh

[0,2]

15

4х2

db

Ah,bh,ch,dh,eh,fh,aah,bbh

[2,0]

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


 

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

35687. Создание творческого проекта 51 KB
  Кто предложил Метод фокальных объектов МФО Ч. К каким методам относится МФО ассоциативный эмпирический когнитивный 10. На чем базируется МФО рассмотрение задач других методов анализ случайных объектов и случайных признаков этих объектов анализ типовых объектов 11. В чем состоит принцип МФО перенесение ярких неожиданных свойств случайных объектов на совершенствуемый объект интерпретация свойств совершенствуемого объекта рассмотрение свойств объекта в разных ситуациях 12.
35688. Мой выбор: оператор ЭВМ. Творческий проект 148 KB
  Обоснование выбора профессии Профессиональное самоопределение важный и ответственный шаг в жизни каждого молодого человека. Но осуществить свободный выбор профессии очень не просто. Показатели Содержание Мои жизненные ценности Семья профессия благополучие Смысл и цель моей жизни Приобретение любимой профессии овладение ею в совершенстве достижение высокого профессионального мастерства Предполагаемая профессия Основной вариант: оператор ЭВМ Запасной вариант: оператор станков с программным управлением Мотивы выбора профессии Интерес к...
35690. Метод проектов (научно-исследовательских или художественно-эстетических) 56 KB
  Результат деятельности каждого из участников проекта фиксируется учитывается его личный вклад в общее дело. На протяжении всего времени реализации проекта осуществляется его психологопедагогическая поддержка и сопровождение. Метод проектов предполагает создание временных творческих коллективов деятельность которых направлена на осуществление данного проекта. Главной целью в данном случае является успешная реализация проекта а личностнопрофессиональное и творческое развитие членов коллектива выступает латентной целью и побочным...
35695. Художественная аппликация «Вытынанка». Творческий проект 13.43 MB
  Устойчивый интерес детей к творчеству из бумаги обуславливается ещё и тем что данный материал даёт большой простор творчеству. С помощью бумаги можно украсить елку сложить головоломку смастерить забавную игрушку или коробочку для подарка и многое многое другое что интересует ребенка. Создавая свой мир из бумаги ребенок готовится стать созидателем доброго мира. Художественнопроектный раздел История вытынанки Вытынанка вырезание из бумаги Нет сомнений что вам хоть...