Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Розраха Білецький (Моцьо)

.docx
Скачиваний:
0
Добавлен:
19.05.2019
Размер:
42.01 Кб
Скачать

Міністерство освіти і науки України

Національний Університет «Львівська політехніка»

Розрахункова робота №1

З дисципліни: «Мікропроцесорні засоби та системи»

Варіант №7

Виконав: Моцьо В.І

Група: ЕКТ - 31

Викладач: Білецький Ю.О.

Завдання №1

Підняти число 10.5 до квадрату за допомогою засобів Assembler

Будемо вважати що число записане в комірці адреса якої 008F

Адреса

Машинний код

Мнемокод

Пояснення

шістнадцятковий

двійковий

8200

21

00100001

LXI H,008F

HL008F

8201

8F

10001111

8202

820

00

00000000

8203

3A

00111010

LDA, 0000

A0000

8204

00

00000000

8205

00

00000000

8206

86

10000110

ADD M

AA+HL

8207

11

00010001

LXI D, 0000

DE0000

8208

00

00000000

8209

00

00000000

820A

EB

11101011

XCHG

(H)↔(D) (L)↔(E)

820B

0E

00001110

MVI C,08

C08

820C

08

00001000

820D

29

00101001

DAD H

HL HL+HL

820E

07

00000111

RLC

Зсув ліворуч вмісту акумулятора

820F

D2

11010010

JNC 8213

Аналіз розряду множника (Сбіт=0) то на 8213

8210

13

00010011

8211

82

10000010

8212

19

00011001

DAD D

HL HL+DE

8213

0D

00001101

DCR C

CС-1

8214

C2

11000010

JNZ 820D

Перехід на 820D

8215

0D

00001101

8216

82

10000010

8217

76

01110110

HLT

Кінець

Задання №2

Реалізувати часову затримку у розмірі секунд

Частота процесора f=2 МГц, час одного такту

Кількість тактів для забезпечення часу затримки

Отож, для забезпечення часової затримки необхідно, 20000 тактів.

Отже: команда MVI D, FF займає 7 тактів

команда MVI C, A6 займає 7 тактів

Цими командами в рестри D і С відповідно завантажуємо значення FF та A6, це кількість циклів які має виконати програма.

В першому циклі:

Команда DCR C займає 5 тактів

Команда LDA 8500 займає 13 тактів

Команда JNZ 8204 займає 10 тактів

В сумі весь цикл займає 5+10+13=28 тактів, і виконується A6h→166d виходить що даний цикл займає 166*28=4648 тактів.

У другому циклі:

Команда DCR D займає 5 тактів

Команда LHLD 8500 займає 16 тактів

Команда SHLD 8500 займає 16 тактів

Команда LDA 8500 займає 13 тактів

Команда JNZ 820B займає 10 тактів

В сумі весь цикл займає 5+16+16+13+10=60 тактів, і виконується FFh→255d виходить що даний цикл займає 255*60=15300 тактів.

Решту тих тактів що залишилося займаємо командами:

Команда LDAX D займає 7 тактів (використовуємо двічі)

Команда STAX D займає 7 тактів

Команда NOP займає 5 тактів (використовуємо двічі)

Команда HLT займає 7 тактів

Підсумовуючи отримуємо: 7+7+4648+15300+7+7+7+5+5+7=20000, тим самим забезпечуємо витримку часу у 0,01 с.

Адреса

Машинний код

Мнемокод

Пояснення

шістнадцятковий

двійковий

8200

16

00010110

MVI D,FF

DFF

7

8201

FF

11111111

8202

820

0E

00001110

MVI C, A6

C0E

7

8203

A6

10100110

8204

0D

00001101

DCR C

CC-1

5

8205

3A

00111010

LDA 8500

A8500

13

8206

00

00000000

8207

85

10000101

8208

C2

11000010

JNZ 8204

Умова переходу

10

8209

04

00000100

890A

82

10000010

820B

15

00010101

DCR D

DD-1

5

820C

2A

00101010

LHLD 8500

L(B3)(B2)

H((B3)(B2)+1)

16

820D

00

00000000

820E

85

10000101

820F

8211

22

00100010

SHLD 8500

(B3)(B2)L

((B3)(B2)+1)H

16

8210

00

00000000

8211

85

10000101

8212

3A

00111010

LDA 8500

A8500

13

8213

00

00000000

8214

85

10000101

8215

C2

11000010

JNZ 820B

Умова переходу

10

8216

0B

00001011

8217

82

10000010

8218

1A

00011010

LDAX D

ADE

7

8219

12

00010010

STAX D

DEA

7

821A

1A

00011010

LDAX D

ADE

7

821B

00

00000000

NOP

Порожня команда

5

821C

00

00000000

NOP

Порожня команда

5

821D

76

01110110

HLT

Зупинка

7

Львів-2018