15284

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

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

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

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

Украинкский

2013-06-11

149 KB

3 чел.

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


 

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

67861. Релігія як феномен духовної культури 73.5 KB
  Деномінація (лат. denominatio – наділення спеціальним ім’ям) – релігійне об’єднання, що перебуває в стадії організаційного оформлення; перехідний тип організації, яка має характеристики церкви( централізація, ієрархічні принципи управління, відмова від ізоляціонізму) та секти (визнання своєї виключності...
67862. Первісні вірування, ранні та пізні національні релігії 68.5 KB
  Особливості ранніх національних релігій об’єктами поклоніння були вже не духи, а боги, які, мали антропоморфний і деколи зооморфний характер; послідовний політеїзм (poly-багато, teoc – Бог), виникають ієрархії богів, на їх чолі стоять, як правило, боги Сонця чи Неба, або ж боги-деміурги...
67863. Буддизм. Організаційна структура буддизму 48.5 KB
  Буддизм є особливою світовою релігією: не знає Богатворця не визнає існування Бога у вигляді персоніфікованої могутньої особи; стверджує що матеріальний світ ілюзорний постійне коливання ідеальних частинок – дхарм із яких комбінуються існуючі речі; вважає що людина позбавлена душі; тісно пов’язаний...
67864. Християнство: витоки, еволюція і сучасний стан 90.5 KB
  Засновник: ІCУС ХРИСТОС. Священні книги: Біблія, Священний переказ. Географічне поширення: країни Європи, Північно-Східної Євразії, Північної та Південної Америки, Австралії, Африки на південь від Сахари. Виникнення християнства звичайно пов’язується із початком нашої ери.
67865. Іслам – наймолодша світова релігія 45 KB
  Особливості релігійно – культурних традицій ісламу: злиття духовного і світського початків, політичної адміністрації і релігійної влади; в жодній мусульманській державі не існувало організованої церкви, яка б до того ж протистояла державі; це сприяло абсолютизації релігійного...
67866. Basic formulas of combinatorial analysis 50.91 KB
  A reliable (universal) event is an event that necessarily will happen if a certain set of conditions S holds. For example, if a vessel contains water with a normal atmospheric pressure and temperature 20 degrees, the event «water in a vessel is in a liquid state» is reliable.
67867. О ГРАЖДАНСКО-ПРАВОВОМ СОДЕРЖАНИИ ПОНЯТИЯ «МЕДИЦИНСКАЯ УСЛУГА» 97.5 KB
  Понятие услуги имеет принципиальное значение для определения существенного условия гражданских правоотношений складывающихся в сфере медицинского обслуживания – их предмета. Услуги по определению К. Маркса представляют собой особую потребительскую стоимость поскольку...
67868. ФОРМЫ (ВИДЫ) ОГРАНИЧЕНИЙ ОСНОВНЫХ ПРАВ И СВОБОД И ИХ КОНСТИТУЦИОННО-ПРАВОВОЕ ЗАКРЕПЛЕНИЕ 95.5 KB
  Малько применимая к характеристике видов общеправовых ограничений не годится для анализа видов конституционно-правовых ограничений или может быть использована частично. Виды ограничений он классифицирует по следующим основаниям признакам: – по способу формулирования в законе на прямые...
67869. МЕСТО ПРАВА НА ЛИЧНУЮ НЕПРИКОСНОВЕННОСТЬ В СИСТЕМЕ ОСНОВНЫХ ПРАВ И СВОБОД ЧЕЛОВЕКА И ГРАЖДАНИНА В РОССИЙСКОЙ ФЕДЕРАЦИИ 167 KB
  Право на личную неприкосновенность занимает одно из ведущих мест в системе личных конституционных прав и свобод человека. Личные права и свободы составляют первооснову правового статуса человека и гражданина являются важнейшим элементом всей системы прав и свобод и во многом характеризуют...