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


 

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

19196. Отраженные и вторичные электроны электрон-электронной эмиссии. Энергетический спектр и угловые характеристики 154 KB
  Лекция 8 Отраженные и вторичные электроны электронэлектронной эмиссии. Энергетический спектр и угловые характеристики. Расчет удельных потерь энергии и траекторного пробега. В методах элементного и структурного анализа обычно используются электронные пучки с энерг...
19197. Сечение ударной электронной ионизации. Оже-электроны. Систематика Оже-переходов. Переходы Костера-Кронига 214.5 KB
  Лекция 9 Сечение ударной электронной ионизации. Ожеэлектроны. Систематика Ожепереходов. Переходы КостераКронига. Излучательные переходы. Классификация линий характеристического рентгеновского излучения. Вероятности рентгеновской флуоресценции и Ожепереходов. П
19198. Взаимодействие рентгеновского излучения с твердым телом (фотоэффект, эффект Комптона) 353 KB
  Лекция 10 Взаимодействие рентгеновского излучения с твердым телом фотоэффект эффект Комптона. Сечение фотоэффекта и его связь с линейным коэффициентом поглощения рентгеновского излучения. Расчет массового коэффициента поглощения для полиатомных образцов. Полезно
19199. Характеристики электронных пучков. Источники ускоренных электронов. Термоэмиссионные и автоэмиссионные катоды и их характеристики 141 KB
  Лекция 11 Характеристики электронных пучков. Источники ускоренных электронов. Термоэмиссионные и автоэмиссионные катоды и их характеристики. Основные узлы и характеристики электронной пушки. Электронные пучки принято разбивать на два класса: Электронные пучки ...
19200. Параметры ионных источников. Конструктивные элементы ионных источников. Дуоплазматрон и ионный источник Пеннинга 113.5 KB
  Лекция 12 Параметры ионных источников. Конструктивные элементы ионных источников. Дуоплазматрон и ионный источник Пеннинга. Ионный источник устройство для получения в вакууме ионного пучка пространственно сформированного потока ионов скорость направленного дви...
19201. Магнитные масс-анализаторы. Понятие разрешения по массам. Квадрупольные масс-анализаторы 155.5 KB
  Лекция 13 Магнитные массанализаторы. Понятие разрешения по массам. Квадрупольные массанализаторы. Для выделения из ионного пучка ионов нужной массы используются массанализаторы массспектрометры. Наиболее часто в установках элементного анализа применяются магнит...
19202. Основные понятия вакуумной техники. Длина свободного пробега ионов при различных давлениях 71 KB
  Лекция 14 Основные понятия вакуумной техники. Длина свободного пробега ионов при различных давлениях. Адсорбция остаточных газов на поверхности образца. Методы очистки поверхности. Состояние разреженного газа при давлении ниже атмосферного принято называть вакуумом....
19203. Детекторы заряженных частиц – канальные электронные умножители и микроканальные пластины. Поверхностно-барьерный детектор 128.5 KB
  Лекция 15 Детекторы заряженных частиц канальные электронные умножители и микроканальные пластины. Поверхностнобарьерный детектор. Твердотельный рентгеновский спектрометр. В настоящее время наиболее распространенными детекторами заряженных частиц являются канал...
19204. Основные понятия вакуумной техники. Длина свободного пробега ионов при различных давлениях. Адсорбция остаточных газов на поверхности образца 123 KB
  Лекция 16 Основные понятия вакуумной техники. Длина свободного пробега ионов при различных давлениях. Адсорбция остаточных газов на поверхности образца. Методы очистки поверхности. Состояние разреженного газа при давлении ниже атмосферного принято называть вакуумом....