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


 

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

16825. Частота съема шлихов 53.5 KB
  Частота съема шлихов От редакции. Больше золота можно получить за счет объемов промывки песков но для этого нужны солярка и запчасти. Можно также получить больше золота за счет качественной промывки песков. Наша редакция не может помочь золотодобытчикам соляркой и з...
16826. ЭНЕРГОЕМКОСТЬ ТРАНСПОРТНЫХ СИСТЕМ КАРЬЕРОВ: ОЦЕНКА И ПЕРСПЕКТИВЫ 328 KB
  ЭНЕРГОЕМКОСТЬ ТРАНСПОРТНЫХ СИСТЕМ КАРЬЕРОВ: ОЦЕНКА И ПЕРСПЕКТИВЫ Авторы: Ворошилов Г. А. главный инженер ОАО Институт Уралгипроруда.; Лель Ю. И. д.т.н. проф. зав. кафедрой разработки месторождений открытым способом Уральского государственного горного университета. ...
16827. Геологические особенности техногенных золотосодержащих минеральных образований хвостов обогащения золотоизвлекательной фабрики AGRC и геотехнология их рациональной переработки 605.45 KB
  Нарсесян Сурен Саакович Геологические особенности техногенных золотосодержащих минеральных образований хвостов обогащения золотоизвлекательной фабрики AGRC и геотехнология их рациональной переработки Автореферат диссертации на соискание ученой степе
16828. Золотопромышленность, добыча полезных ископаемых 77.24 KB
  Золотопромышленность добыча полезных ископаемых М.В. Шиловский История открытия и формирования основных центров по добыче золота в Сибири целиком укладывается в рамки ХIХ в. В 1812 г. русским подданным было разрешено разрабатывать серебряные и золотые руды на Ура
16829. Организация защиты населения в военное время. Медицинское обеспечение мероприятий гражданской обороны 246 KB
  Рассмотреть вопросы организации защиты населения в период подготовки к возможным боевым действия и в военное время. Изучить коллективные средства защиты (убежища, противорадиационные укрытия, простейшие), их классификацию, тактико-технические характеристики, санитарно-гигиенические характеристики
16830. Сложные типы данных 218 KB
  Лекция 3 2.4. Сложные типы данных Сложные типы данных характеризуются типами их компонентов и методом их объединения. К сложным структурированным составным типам данных агрегатам относят массивы записи множества и файлы. Массивы Массив это nмерная совоку...
16831. Организация обработки данных 1.3 MB
  Лекция 4 6. Организация обработки данных Как правило в программах не удается ограничиться операторами присваивания. Для большинства реально используемых алгоритмов характерна широкая разветвленность процесса вычислений. При этом в зависимости от конкретных исходн...
16832. Ввод-вывод данных Основные виды работ с файлами любых типов. Основные понятия. Классификация файлов 179.5 KB
  Лекция 5 Вводвывод данных Основные виды работ с файлами любых типов. Основные понятия. Классификация файлов В системах обработки больших объемов информации данные хранятся не в ОП а во внешней памяти ВП на внешних запоминающих устройствах например на жестком м
16833. Вывод данных в текстовый файл 404 KB
  Лекция 6 Вывод данных в текстовый файл Процедуры Write и Writeln Вывод данных в текстовый файл осуществляется в основном для просмотра и подготовки к печати результатов работы программы. Вывод данных производится с помощью процедур Write и Writeln. С их помощью можно выводить...