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


 

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

28781. Начало самодержавия в России. Внутренняя и внешняя политика Ивана IV. Альтернативы развития страны: «Избранная Рада » и опричнина 17.93 KB
  Внутренняя и внешняя политика Ивана IV. Царствование Ивана Грозного принято условно делить на две части сильно отличающиеся друг от друга по внутренней политике. Это знаменовало формирование на Руси нового типа традиционного общества сословнопредставительной монархии Постоянным же совещательным органом при царе служила еще со времен Ивана III Боярская дума состоявшая из бояр. Первый Земский собор орган сословного представительства обеспечивающий связь центра и мест речь Ивана IV с лобного места: осуждение неправильного боярского...
28782. Смута: социальная катастрофа или время альтернатив? Причины и последствия смутного времени. Начало династии Романовых 18.58 KB
  Смутное время началось после смерти Федора Ивановича последнего царя из рода Рюрика 6 января 1598 г. Русская армия в это время готовилась выйти на помощь Смоленску который с сентября 1609 года был осаждён войсками польского короля Сигизмунда III. Поляки и запорожцы овладели городами северской земли; население Стародуба и Почепа полностью погибло во время вражеского штурма; Чернигов и НовгородСеверский сдались.
28783. Понятие модернизации, ее виды и циклы. Особенности петровской модернизации 14.86 KB
  Первым этапом такой модернизации в России стали реформы Петра I Великого Основными предпосылками реформ были: 1 тупик развития 2 необходимость выхода к морям для развития экономики. Именно с этой даты ведется отсчет истории России как великой державы. Превращение России в великую и морскую державу символизировало принятие Петром Великим наследственного императорского титула.
28784. Реформы Петра I. Каково соотношение модернизационных и традиционных начал в политике Петра 13.47 KB
  Каково соотношение модернизационных и традиционных начал в политике Петра Модернизация в России догоняющая.
28785. В чем заключалась политика «Просвещенного абсолютизма» Екатерины II 21.04 KB
  Таким образом Екатерина стремилась достигнуть союза между монархом и обществом не на принуждении абсолютизм а на добровольном осознании своих прав и обязанностей. Екатерина поощряла развитие образования и науки торговопромышленной деятельности способствовала зарождению журналистики. В идеях просвещенного абсолютизма Екатерина руководствовалась трудами французских просветителей Вольтер Дидро.
28786. Выделите основные тенденции и противоречия развития российского государства и общества в первой половине 19в. 14.04 KB
  Главными особенностями развития России в 1й половине XIX века были: 1 рост удельного веса бюрократии гражданской военной и полицейской; 2 замедление экономического развития по сравнению с Европой как следствие тупикового пути крепостного права; 3 противоречие между экономической и политической отсталостью с одной стороны и мощным расцветом культуры и науки с другой 4 начало идейного и духовного разрыва между монархией и формирующейся интеллигенцией.
28787. Общественная мысль и общественное движение в России в первой половине 19в (декабристы; западники и славянофилы) 20.16 KB
  Источником идей для многих декабристов служили сочинения французских просветителей в которых доказывалась необходимость политических реформ и управления государством на основании твердых и установленных законов а не воли монарха. С другой стороны огромную роль в формировании мировоззрения декабристов сыграла Отечественная война 1812 г. Организации декабристов возникли в 1816 г. Однако в условиях консервативной политики которую проводил Александр I в последние годы своего царствования в организациях декабристов произошел раскол.
28788. Какие предпосылки отмены крепостного права существовали в 50-гг 19в в России? Как готовилась и осуществлялась крестьянская реформа, каковы ее итоги 15.54 KB
  Интенсивное развитие капитотнй начало пром переворота в России В 185758 гг во всех губерниях были созданы двор комитеты кот должны были рассм вопрос о низвержении кр права. В России было отменено рабство крво получило личную свободу 2. рефма способствовала развитию кап отнй в России Негативные последствия: 1.
28789. Какое влияние реформы Александра II оказали на становление рыночных отношений и гражданского общества в России? Дайте характеристику основным направлениям реформирования страны 16.23 KB
  Александр 2 18551881 Предпосылки великих реформ: 1поражение России в Крымской войне 2несоответствие тупикового характера крепостного хозяйства новым потребностям экономического развития стран 3экономическое и военнотехническое отставание от Европы 4необходимость компенсации неудовлетворительного как для дворян так и для крестьян компромисса расширением их гражданина и политических прав Содержание Великих Реформ: 1стала отмена крепостного права 1861 Содержание крестьянской реформы: Крестьяне были освобождении от крепостной зависимости...