15286

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

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

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

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

Украинкский

2013-06-11

76.5 KB

2 чел.

PAGE  4

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

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

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

Мета роботи: Набути навичок з реалізації математичних задач мовою асемблера.

  

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

1.1 Особливості реалізації арифметичних операцій мовою асемблер

Мова асемблера містить набір арифметичних операцій, дослідженню яких була присвячена лабораторна робота №5, тому тут ми розглянемо лише особливості реалізації математичних задач з використання мови асемблера. Мова асемблера є мовою низького рівня програмування і не містить спеціальних засобів для реалізації складних математичних задач, зокрема, не підтримується арифметика дробових чисел, не підтримується виконання арифметичних операцій над великими числами (розмірність чисел обмежена розрядною сіткою мікропроцесора – для МП і8086 – це 16-розрядні числа), не підтримуються тригонометричні функції, обчислення степенів тощо. Отже, якщо виникає задача з реалізації арифметичних операцій над дробовими числами, над великими числами чи з реалізації тригонометричних функцій і ін.. аналогічні задачі, то програміст спочатку повинен розробити алгоритм розв’язання такої складної задачі шляхом застосування більш простих арифметичних дій, доступних у мові асемблера.

  1.  Арифметична прогресія

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

an = (an-1  + an+1)/2

Різниця між двома сусідніми членами арифметичної прогресії постійна

d = an+1 – an-1

Число d так і називається різницею арифметичної прогресії, тобто кожен член відрізняється від попереднього на d. Неважко бачити, що загальна формула n- го члена арифметичної прогресії є

 

an = a1 +  (n - 1) d

; члени з номерами an і am відрізняються на(n - m) d.

Сума перших n членів арифметичної прогресії

Sn = na1 + d  (n  1)  n / 2.

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

  1.  Використовуючи середовище емулятора МП і8086, створити і налагодити проект асемблерної програми відповідно до індивідуального завдання, а саме: створити масив чисел арифметичної прогресії і знайти суму її членів.
    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

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

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

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

вар.

Тип

членів АП

Значення

1-го члена  АП

dec

К-сть

членів АП

n

Значення

d

dec

1

db

64

20

32

2

dw

512

10

1024

3

db

32

30

64

4

dw

1024

15

2048

5

db

64

20

128

6

dw

512

10

512

7

db

32

30

32

8

dw

1024

15

1024

9

db

64

20

64

10

dw

512

10

256

11

db

32

30

16

12

dw

1024

15

512

13

db

64

20

256

14

dw

512

10

128

15

db

32

30

256

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

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

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

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

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

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

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

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


 

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

23932. Стиль гомеровских поэм. Образы. Язык. Метрика 24 KB
  В поэмах Гомера сочетаются черты древнего и нового эпических стилей. Древний эпический стиль: отсутствие авторского начала все черты содержания определяются традиционностью: 1 Формульность. В нем проявляются черты будущего монарха. Новый эпический стиль Особенности: зачатки романа зачатки жанровой дифференциации зачатки повести основа для ораторского красноречия элементы лирики черты моралистических рассуждений зачатки драмы комедии и трагедии.
23933. Гомеровский вопрос 29 KB
  7 городов оспаривали место жительства Гомера. К ним относили Гомера. рапсоды – поэты – декламаторы Уже в древности исследователи замечали противоречия в поэмах Гомера: культурносоциальные мифологические языковые Но в античности не высказывали сомнений в авторстве Гомера. Классицизм – не любил Гомера.
23934. Древнегреческий фольклор и мифология 15.38 KB
  Древнегреческий фольклор и мифология Фольклор: гимны песни сказки басни предания легенды мифы пословицы. Появляются мифы о родовом проклятии чтобы это объяснить. В этот период появляются мифы о гибели лучших родов Эллады – мифы о войнах Троянская Фиванская. Мифы о мировых катастрофах – Атлантида.
23936. ГОМЕР 15.91 KB
  Эту войну он показал как вооруженный поход греков названных ахейцами данайцами аргивянами под предводительством микенского царя Агамемнона против Трои и ее союзников. Действие Илиады происходит в конце девятого года осады Трои другое название города Илиос Илион отсюда и заглавие поэмы. Он возвращается на поле боя лишь тогда когда его друг Патрокл находит смерть от руки Гектора несгибаемого защитника Трои старшего сына царя Приама. Однако в конце концов он отдает тело Приаму когда старый царь Трои сам приходит в...
23937. Гомеровский вопрос 13.69 KB
  Гомй вопрос. Эта неизвть о поэте и породила в новое время гомеровский вопрос – вопрос о лич автора о конкрет путях слож поэм. Этот вопрос до сих пор решся с пом гипотез. Вопрос о личности автора так и остается неизм.