15289

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

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

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

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

Украинкский

2013-06-11

132.5 KB

6 чел.

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


 

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

2662. Бухгалтерський облік в Україні 91.5 KB
  Бухгалтерський облік в Україні: завдання, вимоги, стандарти. Завдання бухгалтерського обліку Господарська діяльність кожного виробничо-комерційного підприємства базується на найбільш раціональному використанні матеріальних і грошових ресурсів,...
2663. Микропроцессоры и микро-ЭВМ 166.7 KB
  Целью изучения дисциплины “Микропроцессоры и микро-ЭВМ” является формирование у студентов знания общей методологии, а также конкретных методов проектирования основных разновидностей современных микропроцессорных средств. Необходимо...
2664. Экология как наука. Предмет и задачи экологии 237 KB
  Предмет и задачи экологии. Предмет экологии – совокупность связей между организмом и средой. Экология – наука изучающая взаимодействия организмов с окружающей средой и друг с другом. Сюда относятся и все условия существования, как неорганиченные...
2665. Социальная психология. Особенности предмета исследования социально психологии 1.8 MB
  Настоящее издание предпринято через восемь лет после последнего выхода учебника в свет. Как минимум два обстоятельства потребовали существенных изменений. Прежде всего, это значительные изменения в самом предмете исследования, т.е. в социально-психо...
2666. Биоэнергетика – альтернативное моторное топливо 1.39 MB
  Мир вступает в эру биоэкономики, т. е. экономики, основанной на биотехнологиях, использующих возобновляемое сырье для производства энергии и материалов. Международная энергетическая ассоциация (IEA) прогнозирует, что к 2030 г. производство биотоплив...
2667. Основы стандартизации как инструмента обеспечения качества 441.5 KB
  Стандартизация является инструментом обеспечения качества продукции, работ и услуг – важного аспекта многогранной коммерческой деятельности. Проблема качества актуальна для всех стран независимо от зрелости их рыночной экономики. Чтобы стать уч...
2668. Исследование характеристик конструкционных материалов 145.5 KB
  Диаграмма состояния железо-цементит. Проведена вертикальная линия соответствующая 0,2% содержания углерода. Точки 1, 2, 3, 4, 5, 6, 7 соответствуют изменениям сплава при медленном охлаждении. На промежутке от точки 1 до 2, сплав...
2669. Основы общей психологии 1.51 MB
  Классический труд С.Л. Рубинштейна Основы общей психологии относится к числу наиболее значительных достижений отечественной психологической науки. Широта теоретических обобщений в сочетании с энциклопедическим охватом исторического и экспериментал...
2670. Механическая обработка детали на универсальных станках с ЧПУ 591.31 KB
  Главными направлениями повышения эффективности народного хозяйства страны являются ускорение научно-технического прогресса, перевод экономики на интенсивный путь развития, рост производительности труда, повышение качества и количества выпуск...