15289

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

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

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

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

Украинкский

2013-06-11

132.5 KB

5 чел.

PAGE  7

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

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

Тема: Переривання та введення/виведення інформації.

  •  Мета роботи: Набути навичок роботи з функціями введення/виведення інформації.

  

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

  1.  Способи керування обміном. Програмний обмін

Одними з важливих функцій мікропроцесорних систем (МПС) є функції введення/виведення, що передбачають обмін інформацією між МПС і зовнішніми по відношенню до неї пристроями. Обмін МПС з зовнішніми пристроями може здійснюватися програмно або апаратно. Обмін, що відбувається під керуванням програми, називають програмно-керованим. Апаратний обмін передбачає наявність у зовнішньому пристрої спеціального блоку, що реалізує функції обміну даними по спеціальних каналах, при цьому також може бути задіяний центральний процесор. Прикладом апаратного обміну може бути обмін через канал прямого доступу до пам’яті.

Програмно-керований обмін здійснюється з використанням команд введення/виведення. В асемблері мікропроцесорів і8080, і8086 це команди IN і OUT. Через процедури введення/виведення можуть реалізуватися наступні дії:

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

Перераховані задачі можуть реалізуватися  одним з наступних способів обміну:

  •  синхронним (безумовним);
  •  асинхронним (за умовою);
  •  з перериванням програми.

Синхронний обмін застосовується рідко і тільки для процесів, що строго фіксовані в часі і повністю визначені. При цьому частоти, що керують роботою МПС і зовнішнього пристрою, повинні бути строго синхронними. Команди введення/виведення при такому способі обміну вставляються в програму у потрібні місця. Схематично реалізація синхронного обміну ілюструється рис.1,а.

Асинхронний обмін застосовується дуже часто. Він здійснюється під керуванням програми на основі аналізу сигналу готовності від зовнішнього пристрою. Для організації асинхронного обміну використовується дві команди введення/виведення – одна для зчитування сигналу готовності і пристрою, друга – для введення чи виведення даних. Схематично реалізація асинхронного обміну ілюструється рис.1,б. Важливою перевагою асинхронного обміну у порівнянні з синхронним є можливість обміну МПС з зовнішніми пристроями, що працюють з різною швидкістю і, як правило, є значно повільнішими від процесора. Як недолік можна відзначити затрати машинного часу на аналіз сигналу готовності зовнішнього пристрою.

Переривання програми.  Обмін з перериванням програми дозволяє значно ефективніше використовувати машинний час. Обмін у цьому випадку здійснюється під керуванням програми, проте МПС не буде багатократно аналізувати сигнал готовності зовнішнього пристрою до моменту його встановлення. МПС може виконувати операції, що передбачені основною (фоновою) програмою. Коли зовнішній пристрій готовий до обміну інформацією, він виставляє сигнал переривання, по якому буде призупинено виконання фонової програми і МПС переходить до обслуговування зовнішнього пристрою, що викликав переривання. При цьому керування передається підпрограмі обробки переривань. Після завершення обміну між зовнішнім пристроєм і МПС керування знову передається основній програмі. Схематично режим обміну з перериваннями ілюструє рис.1,в.

Рис. 1 Алгоритми обміну: а) – синхронний; б) – асинхронний; в) – з перериванням  

Розрізняють апаратні переривання, що підтримуються функціями BIOS та програмні переривання, що підтримуються функціями DOS.

 

  1.  Реалізація екранних операцій в Асемблері

Для реалізації екранних операцій в Асемблері  використовується переривання INT 10h з встановленням в регістр AH певної функції, наприклад AH=0 встановлює відео режим монітора, AH=01h встановлює текстовий режим монітора, AH=02h встановлює позицію курсора і т.д.

  Для виводу на екран символьних даних використовується значення функції AH=0Eh.

 Нижче наведений приклад програми, яка виводить на екран напис Hello!

ORG    100h ; instruct compiler to make simple single segment .com file.

; The sub-function that we are using does not modify the AH register on

; return, so we may set it only once.

MOV    AH, 0Eh    ; select sub-function.

; INT 10h / 0Eh sub-function

; receives an ASCII code of the

; character that will be printed

; in AL register.

MOV    AL, 'H'    ; ASCII code: 72

INT    10h        ; print it!

MOV    AL, 'e'    ; ASCII code: 101

INT    10h        ; print it!

MOV    AL, 'l'    ; ASCII code: 108

INT    10h        ; print it!

MOV    AL, 'l'    ; ASCII code: 108

INT    10h        ; print it!

MOV    AL, 'o'    ; ASCII code: 111

INT    10h        ; print it!

MOV    AL, '!'    ; ASCII code: 33

INT    10h        ; print it!

RET               ; returns to operating system.

Таблиця друкованих символів ASCII

Десяткове число

Символ

Десяткове число

Символ

Десяткове число

Символ

Десяткове число

Символ

32

пробіл

80

P

57

9

105

i

33

!

81

Q

58

:

106

j

34

"

82

R

59

;

107

k

35

#

83

S

60

<

108

l

36

$

84

T

61

=

109

m

37

%

85

U

62

>

110

n

38

&

86

V

63

?

111

o

39

87

w

64

@

112

p

40

(

88

X

65

A

113

q

41

)

89

Y

66

B

114

r

42

*

90

Z

67

C

115

s

43

+

91

[

68

D

116

t

44

,

92

\

69

E

117

u

45

-

93

]

70

F

118

v

46

.

94

^

71

G

119

w

47

/

95

_

72

H

120

x

48

0

96

`

73

I

121

y

49

1

97

a

74

J

122

z

50

2

98

b

75

K

123

{

51

3

99

c

76

L

124

|

52

4

100

d

77

M

125

}

53

5

101

e

78

N

126

~

54

6

102

f

79

O

127

DEL

55

7

103

g

56

8

104

h

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

  1.  Використовуючи середовище емулятора МП і8086, створити і налагодити проект асемблерної програми з виведення на екран монітора власного прізвища та імені.  
    1.  При складанні програми скористатися підпрограмами вибору даних зі стрічки (одномірного масиву) та формування затримки. Вивід символа на екран оформити у вигляді підпрограми. Підпрограму затримки використати для встановлення часового інтервалу між виводом окремих символів.
    2.  Використовуючи середовище емулятора скласти лістинг програми (табл..1)

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

Зміщення

Код (Hex)

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

К-сть байт

Коментар

100

101

102

103

.

.

.

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

Таблиця 2 Результати досліджень

№ кроку

IP

Команда

SI

DX

ВX

AX

Адреси елементів масиву

і

Коментар

H

L

H

L

H

L

0

100

1

2

3

4

5

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

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

№ варіанту

Час затримки,

сек

Примітка

1

1

2

2

3

3

4

4

5

5

6

1

7

2

8

3

9

4

10

5

11

1

12

2

13

3

14

4

15

5

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

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

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

  1.  Назва теми.
    1.  Мета роботи.
    2.  Індивідуальне завдання.
    3.  Лістинг програми відповідно до п.2.2 з відповідними коментарями.
    4.  Результати досліджень команд відповідно до п.2.3.
    5.  Алгоритми виконання основних команд відповідно до п.2.5.
    6.  Інтерпретація вмісту регістрів відповідно до п.2.6.
    7.  Висновки, в яких звернути увагу на особливості виконання застосованих в програмі команд.

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

  1.  Що таке переривання?
    1.  Які Ви знаєте типи переривань?
    2.  Яке застосування переривань?
    3.  Яким чином забезпечується виконання екранних операцій?
    4.  Як здійснюється вивід символьних знаків на екран монітора в Асемблері?

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

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


 

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

24309. Импульс (количество движения) 165 KB
  Импульсом (количеством движения) частицы или импульсом АТТ при поступательном движении называется векторная физическая величина, равная произведению массы частицы (массы АТТ) m на вектор ее скорости (скорость центра инерции АТТ)
24310. Разработка PR-кампании, сущность. Основные этапы 47.5 KB
  Разработка PRкампании сущность. PRкампания постановка целей и задач общая концепция кампании определение ключевых проблем и профилей целевых аудиторий. Всякая масштабная кампания представляет собой скоординированные целенаправленные и осуществляемые на протяжении определенного периода времени усилия рассчитанные на решение одной или нескольких задач которые должны приблизить организатора кампании к стратегической цели обусловленной его общей социальной миссией. Кампании преимущественно планируются и проводятся ради того чтобы...
24311. ВЗАИМОДЕЙСТВИЕ СПРОСА И ПРЕДЛОЖЕНИЯ 41.5 KB
  ВЗАИМОДЕЙСТВИЕ СПРОСА И ПРЕДЛОЖЕНИЯ Спрос это представленная на рынке потребность в товарах определяемая количеством тех или иных товаров которые потребители могут купить при сложившихся ценах и денежных доходах. Через эти колебания устанавливается тот уровень цен при котором обеспечивается равновесие спроса и предложения и в конечном итоге равновесие производства и потребления. Рассмотрим сначала эластичность спроса. Эластичность спроса по цене прямая эластичность спроса это степень чувствительности спроса на какойнибудь товар к...
24312. Разработка и реализация PR-акций и PR-кампаний 40.5 KB
  PRкампания постановка целей и задач общая концепция кампании определение ключевых проблем и профилей целевых аудиторий. Всякая масштабная кампания представляет собой скоординированные целенаправленные и осуществляемые на протяжении определенного периода времени усилия рассчитанные на решение одной или нескольких задач которые должны приблизить организатора кампании к стратегической цели обусловленной его общей социальной миссией. Кампании преимущественно планируются и проводятся ради того чтобы привлечь внимание общественности к...
24313. Практическая реализация PR-кампании 33 KB
  Практическая реализация PRкампании. Планирование типичной PRкампании включает этапы: Очерчивание проблемы. Определяется цель кампании которая разбивается на субцели показывающие что должно быть достигнуто. По сути это содержание плана кампании.
24315. Законы сохранения 311 KB
  Система взаимодействующих между собой тел, на которую не действуют внешние силы, называется замкнутой (изолированной). В замкнутых системах останется постоянным три физические величины
24316. Момент инерции. Основное уравнение динамики вращательного движения АТТ вокруг неподвижной оси 261.5 KB
  Моментом инерции материальной точки (частицы) относительно данной оси называется скалярная физическая величина, равная произведению массы материальной точки (частицы) на квадрат кратчайшего расстояния от частицы до оси вращения.
24317. Особенности деятельности PR-отделов (структур) с целевыми аудиториями 24 KB
  географический с учетом природных или административнотерриториальных единиц; демографический пол возраст образование; 3. с учетом скрытой власти во внимание берутся лидеры мнений; 5. с учетом статуса официальное положение индивида; 5. с учетом статуса официальное положение; 6.