15286

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

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

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

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

Украинкский

2013-06-11

76.5 KB

3 чел.

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


 

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

10557. Социально-педагогическая деятельность с детьми, оставшимися без попечения родителей 133 KB
  Тема. Социальнопедагогическая деятельность с детьми оставшимися без попечения родителей План. 1. Сущность причины пути решения проблем детей оставшихся без попечения родителей. Работа социального педагога с приемной семьей. 3. Работа социального педаг
10558. Улица как среда воспитания. Дети улицы 97.5 KB
  Тема. Улица как среда воспитания. Дети улицы План. Влияние улицы на ребенка. Организация социально-педагогической работы с детьми улицы. ЛИТЕРАТУРА. Семейный кодекс Российской Федерации Ст 11 13 18 20. Конвенция о правах ребенка // Справочник
10559. Особенности детей, оказавшихся в трудной жизненной ситуации 114 KB
  Тема. Особенности детей оказавшихся в трудной жизненной ситуации 1. Сущность понятия трудные жизненные ситуации для детей их типология; 2. Приемные и замещающие семьи для детей находящихся в трудной жизненной ситуации; 3. Государственные и негосударственные учре...
10560. Воспитательная работа в пенитенциарных учреждениях 142.5 KB
  Тема. Воспитательная работа в пенитенциарных учреждениях План. 1. Общие задачи социальной педагогики в пенитенциарных учреждениях. 2. Технология процесса исправления осужденных. 3. Принципы перевоспитания осужденных. 4. Основные направления средства методы и фо...
10561. Социально-педагогические возможности СМИ 141 KB
  Тема. Социальнопедагогические возможности СМИ План СМИ: виды и основные функции; Основные методы воздействия СМИ на личность и группу. СМИ функции СМИ теории влияния СМИ действенность влияния результаты влияния методы воздействия. ЛИТЕРАТУРА .
10562. Философия и жизненный мир человека 50.5 KB
  Философия и жизненный мир человека. Генезис философии социально-исторические и культурные предпосылки ее возникновения. Проблема определения философии. Образы философии в истории культуры. Философия как знание и понимание. 1. Генезис философии социа...
10563. Философия как социокультурный феномен 67.5 KB
  Философия как социокультурный феномен. Понятие мировоззрения его структура и основные функции. Предмет философии и его историческая динамика. Структура философского знания. Философия и основные формообразования культуры: наука искусство мораль религи...
10564. Философия древнего востока. Специфика и основные проблемы Китайской философии 69.5 KB
  Философия древнего востока. Общая характеристика древневосточной философии. Ортодоксальные и неортодоксальные школы древнеиндийской философии: принципы идеи и категории. Специфика и основные проблемы Китайской философии. Основные философские школы дре...
10565. Характер древнегреческой цивилизации и особенности античной философской традиции 66.5 KB
  Характер древнегреческой цивилизации и особенности античной философской традиции Периодизация античной философии. Космоцентризм античного философского мышления и проблема первоначал философия досократиков. Концепция атомизма и материалистические тен...