15287

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

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

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

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

Украинкский

2013-06-11

76 KB

3 чел.

PAGE  4

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

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

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

  •  Мета роботи: Набути навичок застосування логічних команд при програмуванні мовою Асемблера. Навчитися визначати та встановлювати в потрібний стан значення окремих бітів в регістрах мікропроцесора та в комірках памяті, розв’язувати логічні рівняння тощо.

  

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

Логічні операції, що підтримуються мікропроцесором, ми вивчали в рамках лабораторної роботи №5, тому в даній лабораторній роботі ми розглянемо одну з практичних задач, які мають місце при реалізації задач керування різними пристроями з використанням мікропроцесорної техніки. Це задача визначення логічного значення окремого біту в байті чи слові, а також встановлення окремого біту в байті чи слові при збереженні незмінними значень решти бітів байту чи слова.

Для визначення значення окремого біту в байті може бути застосований такий механізм: реалізуємо функцію логічного множення байту, в якому маємо визначити значення, наприклад, 3-го біту на число з одиницею у третьому біті і нулями у решті бітах. Отриманий результат (істинне значення третього біту і нулі  в решті бітах) зсуваємо на три біти вправо, щоб помістити  значення третього біту в нульовий розряд. Далі тестуємо значення нульового біту, наприклад, командою TEST.

Для встановлення в одиницю потрібного номера біту зі збереженням значень решти бітів можна застосувати операцію логічного додавання байту, в якому потрібно встановити біт, з числом, що має значення одиниці у відповідному номері біту, який треба встановити і нулі у решті бітах.

Для скидання в нуль потрібного номера біту зі збереженням значень решти бітів можна застосувати операцію логічного множення байту, в якому потрібно скинути в нуль біт, з числом, що має значення нуля у відповідному номері біту, який треба скинути і одиниці у решті бітах.

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

  1.  Скласти програму мовою асемблера з використанням логічних операцій, що забезпечує:
  •  визначення значення заданого номера розряду байту (слова), що знаходиться у вказаному місці відповідно до індивідуального завдання;
  •  встановлення заданого номеру розряду байту (слова) в одиницю;
  •  скидання заданого номеру розряду байту (слова) в нуль;
  •  перевірку правильності виконання двох попередніх операцій.
    1.  Використовуючи середовище емулятора МП і8086, створити і налагодити проект асемблерної програми, складеної відповідно до п.2.1 і індивідуального завдання.
    2.  Використовуючи середовище емулятора скласти лістинг програми (табл..1)

Таблиця 1 Лістинг програми

Зміщення

Код (Hex)

Мнемокод команди

К-сть байт

Коментар

100

101

102

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

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

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

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

вар.

Число

Тип числа

Місцезнах.

числа

№ біту

Визначити

Встановити

в «1»

Скинути в «0»

1

A5h

db

BH

5

6

2

2

53B6h

dw

AX

12

13

3

3

8Dh

db

AL

5

1

7

4

C6C6h

dw

BX

14

4

10

5

55h

db

mem

4

3

2

6

A5A5h

dw

mem

10

4

15

7

66h

db

DL

4

3

5

8

630Fh

dw

DX

8

6

14

9

C8h

db

CH

6

1

3

10

F182h

dw

CX

12

4

15

11

E4h

db

mem

7

0

6

12

70A2h

dw

mem

9

3

13

13

B3h

db

mem

3

6

1

14

D0A5h

dw

AX

11

9

2

15

6Eh

db

AH

3

4

5

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

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

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

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

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

  1.  Яким чином можна визначити значення заданого номера біту?
    1.  Яким чином можна встановити в «1» значення заданого номера біту?
    2.  Яким чином можна скинути в «0» значення заданого номера біту?

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

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


 

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

74933. Застосування способу округлення при додаванні і відніманні. Розв’язування задач 69.5 KB
  Виховувати ціннісне ставлення до збереження власного здоровя любов і увагу до ближнього. Хочу чути чого б ви усім побажали Всі разом Всім присутнім здоровя ми зичим й добра. Ці ключики непрості вони є складовими здоровя. Давайте пригадаємо які чотири складові має здоровя...
74934. Квадратный метр 50.5 KB
  Цель: познакомить учащихся с единицей измерения площади – квадратным метром и систематизировать их представления об основных единицах измерения площади; формировать умение решать задачи, совершенствовать вычислительные навыки и умения в решении примеров и уравнений.
74936. Одиниці вимірювання довжини. Перетворення одиниць вимірювання довжини 427.5 KB
  Мета: систематизувати знання учнів про одиниці вимірювання довжини; вправляти у заміні одиниць вимірювання; закріпити вміння розвязувати задачі на спосіб відношення; познайомити учнів зі старовинними одиницями вимірювання довжини; розвивати аналітико-синтетичні вміння...
74938. Узагальнення і систематизація знань учнів з теми «Множення багатоцифрових чисел на одноцифрове число». Цінність води в природі 55 KB
  Мета: закріплювати і систематизувати уміння розвязувати вирази та задачі на вивчені випадки множення багатоцифрових чисел на одноцифрові розширити знання про цінність води в природіознайомити з водними багатствами рідного краю; розвивати увагу память...
74939. Письмове множення багатоцифрових чисел на одноцифрові. Розв’язування задач 56 KB
  Мета: ознайомити учнів з письмовим множенням багатоцифрових чисел на одноцифрові з переходом через два і більше розрядів; формувати вміння розв’язувати задачі на основі творчих видів роботи; розвивати логічне мислення...
74940. Письмове додавання і віднімання багатозначних чисел. Перевірка додавання і віднімання 72 KB
  Мета: ознайомити учнів з прийомами письмового додавання і віднімання багатозначних чисел у межах мільйона; узагальнити уявлення дітей про зв’язок дій додавання і віднімання; закріплювати вміння розвязувати задачі та рівняння; розвивати навички усної лічби логічне мислення уважність уяву...