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


 

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

51763. Стандартизация школьного образования в области информатики 23.5 KB
  Цель: ознакомить со стандартизацией школьного образования в области информатики Учебные задачи: знать дату принятия закона Об образовании; знать требования определяемые общеобразовательным стандартом по информатике; уметь делать выводы План Организационный момент Постановка цели занятия Изучение нового материала Итоги Тип занятия: лекция. Продолжительность занятия: 1 часа.
51765. Енергосистема України. Споживання енергії. Енерргозбереження 53.5 KB
  Мета: Навчальна: формувати знання про сучасний стан електроенергетики України проблеми і перспективи розвитку галузі традиційні і нетрадицій ні альтернативні джерела електроенергії визначати вплив галу зі на довкілля. Форма уроку: урокдослідження Метод уроку: кейсстаді аналізу конкретних ситуацій Обладнання: карта Електроенергетика України підручники географічні атласи кейси на кожну групу рекомендації папір маркери. Організація і проведеня загальної дискусії для пошуку...
51766. Работа с клавиатурным тренажером 156 KB
  Наибольшую скорость набора обеспечивает так называемый слепой десятипальцевый метод когда пользователь набирает текст всеми пальцами обеих рук не глядя на клавиатуру. После прохождения этого уровня на экране появится окно Результат где отмечена скорость набора время за которое вы выполнили задание и процент ошибок которых вы допустили. Выучив таким способом расположение клавиш можно перейти к совершенствованию и повышению скорости набора.
51768. МЕТОДИЧЕСКИЙ АНАЛИЗ УРОКА ИНОСТРАННОГО ЯЗЫКА 95.5 KB
  Аспектный анализ урока иностранного языка. Оценка урока. Умение анализировать урок как важнейший фактор овладения методическим мастерством Методический анализ урока вид анализа ориентированный на оценку структуры и содержания урока технологии его проведения эффективности решения учебнометодических задач [1 272].
51770. Как делаются слова. Сложные слова из двух корней с буквой соединительного гласного 86.5 KB
  Сложные слова из двух корней с буквой соединительного гласного Цель: закрепить знания по теме сложные слова; развитие внимания речи памяти; прививать интерес к русскому языку. Оборудование: карточки со словами на доску учебник индивидуальные карточки лесенка.момент: Рассказать секреты словаЯ для вас всегда готова.