15287

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

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

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

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

Украинкский

2013-06-11

76 KB

2 чел.

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


 

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

6497. А.Р. Лурия. Инстинктивное поведение животных 112.5 KB
  А.Р. Лурия. Инстинктивное поведение животных В прошлый раз мы остановились на проблеме происхождения психики и на основных механизмах наиболее простых форм поведения. Мы видели, какое решающее значение имеет факт возникновения реакций на нейтральные...
6498. Трансляция агрессии через имитацию модели агрессивного поведения 303.5 KB
  Трансляция агрессии через имитацию модели агрессивного поведения Предыдущее исследование, проведенное с целью объяснения феномена идентификации на основе случайного научения, показало, что дети с готовностью имитируют поведение, демонстрируемо...
6499. Запоминание законченных и незаконченных действий 1.26 MB
  Запоминание законченных и незаконченных действий Намерение не просто порождает тенденцию к осуществлению намеченного действия при наступлении предусмотренного подходящего случая. Скорее, оно отвечает потребности (точнее, квазипотребности), которая...
6500. О двух типах условного рефлекса 118 KB
  О двух типах условного рефлекса Работа Скиннера о двух типах условного рефлекса представляет значительный интерес в качестве попытки внести больше ясности и точности, чем было ранее сделано, в ту старую и часто обсуждаемую тему условного рефлек...
6501. Психологическое влияние окружающей среды 319.5 KB
  В данной работе речь пойдет лишь о психологическом влиянии окружающей среды. Это не означает, что физическое воздействие окружения, например воздействие питания или климата, не имеет психологического значения. Напротив, мы считаем, что ребенок...
6502. Намерение, воля и потребность 503 KB
  Намерение, воля и потребность Предисловие Основная часть данной работы представляет собою расширенный вариант доклада, предназначавшегося для XI Конгресса по экспериментальной психологии (Мюнхен, 1925 г.), от участия в котором мне пришлось отказатьс...
6503. Психологическая ситуация награды и наказания 620.5 KB
  Психологическая ситуация награды и наказания Проблему награды и наказания мы будем обсуждать здесь не во всей ее полноте. Ибо в качестве педагогической проблемы вопрос о том, возможно ли вообще избежать наказания и вознаграждения, является частью...
6504. Интеллектуальное поведение животных 100.5 KB
  Р. Лурия. Интеллектуальное поведение животных В прошлом занятии мы дали характеристику двух типов поведения животных: один мы назвали типом сенсорной психики или инстинктивного поведения, второй - типом перцептивной психики или индивидуально...
6505. Корреляционный анализ 43.88 KB
  Корреляционный анализ Исходные данные Построим выборку, состоящую из 20 значений двух случайных величин (xi, yi). В качестве случайной величины X была выбрана средняя заработная плата стран мира, за Y размер внешнего долга (таблица 1). Таблица 1. Ст...