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


 

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

634. Проектирование водопроводной сети 230.5 KB
  Определение расчетных расходов воды. Подготовка водопроводной сети к гидравлическому расчету. Определение расчетных расходов воды в час максимального водопотребления. Назначение диаметров трубопроводов на участках водопроводной сети. Пьезометрический анализ СПРВ, построение графиков пьезометрических линий равных напоров.
635. Современные информационные технологии организационной культуры 139 KB
  Информационное обеспечение как совокупность информационных ресурсов (Банков данных), средств. Негативная роль информационного шума. Вербальные (словесные) и невербальные (мимика, жесты, интонация) свойства информационного шума.
636. Анализ структуры затрат на производство каркаса боковины автобуса 240 KB
  Оценка времени на изготовление партии деталей. Технологический маршрут обработки детали с указанием штучного времени, применяемого оборудования. Оценка предельно-необходимых затрат на автоматизацию. При использовании сварочного робота Nachi SH200 общие затраты на производство уменьшаются, несмотря на то, что амортизация, материальные и прочие расходы увеличились.
637. Государственные и муниципальные организации 130 KB
  Государственные организации как институт проведения политики государства. Механизм экономического государственного регулирования, поддержки и стимулирования предпринимательской деятельности. Функции властных структур в предпринимательской деятельности.
638. Уравновешивание механизмов и балансировка роторов 131.5 KB
  Понятие о неуравновешенности звена и механизма. Статическая, моментная и динамическая уравновешенности механической системы. Статическое уравновешивание рычажных механизмов. Метод замещающих масс. Полное и частичное статическое уравновешивание механизма. Ротор и виды его неуравновешенности: статическая и динамическая. Балансировка ротора.
639. Использование станка-качалки в процессе добычи нефти и газа 182 KB
  Процесс бурения включает крепление стенок скважин (как правило, глубоких) обсадными трубами с закачкой цементного раствора в кольцевой зазор между трубами и стенками скважин. Способы добычи нефти и газа
640. Организационное проектирование, оценка эффективности организационных систем 135 KB
  Основные методологические принципы построения организационных структур. Понятие экспертного метода, метода структуризации целей, метода организационного моделирования, метода аналогий. Этапы проектирования, эффективность организационных изменений.
641. Анализ использования трудовых ресурсов на предприятии 118 KB
  Анализ использования трудовых ресурсов ООО Каравай. Анализ использования трудовых ресурсов, направления анализа численности и состава рабочей силы. Мероприятия, направленные на улучшение использования трудовых ресурсов в ООО Каравай на 2012.
642. Виды отчетов и способы их составления программными средствами 124 KB
  В практике маркетинговых исследований существует три основных вида отчета: устный, письменный краткий и письменный подробный. Как правило, контракты предусматривают устный и один из видов письменных отчетов.