15286

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

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

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

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

Украинкский

2013-06-11

76.5 KB

1 чел.

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


 

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

71683. Осциллограф, знакомство с прибором, приобретение практических навыков применения 202.46 KB
  Цель работы: изучить устройство осциллографа, научиться работать с ним. Приборы и инструменты: осциллограф, генератор электрических сигналов, полигон для сборки схем. Схема установки(передняя панель осциллографа): Результаты измерений: 1) Задание 6. Знакомство с режимом
71684. Определение иэффективности теплового насоса 25.5 KB
  Цель работы: определить эффективность работы теплового насоса в зависимости от температур двух резервуаров энергии: низкопотенциального и высокопотенциального. Изучить функцию и принцип работы расширительного клапана теплового насоса.
71685. Русскоязычные вербальные ИПС: сравнительный анализ 88 KB
  Перейти на сайт поисковой системы Google затем Яндекс и Рамблер. Найти в каждой системе ссылки на ее описание в целом на описание языка запросов интерфейсов Справка Помощь Расширенный поиск и т. Обратить внимание на то что возможности систем в простом и в расширенном поиске различаются.
71686. Классификационные ИПС 31 KB
  Для каждого музея: скопировать краткие описания указанных музеев в каталоге в файл отчета Report1; указать индекс цитируемости в виде числа и лигу в виде словесного названия для данных музейных сайтов самостоятельно посмотреть понятия индекс цитируемости; перейти по информационной гиперссылке...
71687. EXCEL СОЗДАНИЕ БАЗ ДАННЫХ. ФОРМА. ФИЛЬТР. УСЛОВИЯ ОТБОРА. СОРТИРОВКА 130.5 KB
  База данных. Одна из задач, для которых часто используется Excel, - это организация баз данных. Термин база данных можно применить к любой совокупности связанной информации объединенной вместе по определенному признаку. Основным назначением баз данных является обеспечение ввода, хранения...
71688. Горизонтальна структура географічної оболонки 18.57 KB
  Мета: збагнути основні риси горизонтальної структури географічної оболонки, з’ясувати просторові особливості поясно-зональних структур, та їх господарське використання План заняття. Загальні риси будови земної поверхні. Поясно-зональні структури.
71689. Конвейеризация и перенаправление команд 31.5 KB
  Здесь напишите (в столбик) использованные вами команды В каждой папке создайте файл с расширением txt и именем, совпадающим с именем папки. В каждом файле должна содержаться справочная информация по следующим типам команд: Папка Folders: команды работы с папками; Папка Files: команды работы с файлами...