рефератырефератырефератырефератырефератырефератырефератырефераты

рефераты, скачать реферат, современные рефераты, реферат на тему, рефераты бесплатно, банк рефератов, реферат культура, виды рефератов, бесплатные рефераты, экономический реферат

"САМЫЙ БОЛЬШОЙ БАНК РЕФЕРАТОВ"

Портал Рефератов

рефераты
рефераты
рефераты

Программирование циклических и типовых программ на Ассемблере для микропроцессора КР580ИК80

Дон ГТУ

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

Программирование циклических и типовых программ на Ассемблере для микропроцессора КР580ИК80

Цель лабораторной работы - изучить программирование циклических и типовых программ на Ассемблере для микропроцессора КР580Ик80.

1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

1. Команды, необходимые для организации разветвлений и циклических структур в программах

1.1 Логические команды над аккумулятором и регистром (табл.1.1)

Имеем в виду, что главным назначением команд этой группы является выработка признаков. Результат логической операции записывается в аккумулятор, заменяя первый операнд.

Таблица 1.1 - Логические команды

Команды

Признаки

Выполняемые функции

Команды

Признаки

Выполняемые функции

Z

N

C

H

P

Z

N

C

H

P

ANAR

+

+

0

+

+

(A)^(R)>A

ANAM

+

+

0

+

+

(A)^(M)>A

ANI Im

+

+

0

0

+

(A)^Im>A

XRAR

+

+

0

0

+

(A)(R)>A

XRI Im

+

+

0

0

+

(A)Im>A

XRAM

+

+

0

0

+

(A)(M)>A

ORAR

+

+

0

0

+

(A)(R)>A

ORI Im

+

+

0

0

+

(A)Im>A

ORAM

+

+

0

0

+

(A)(M)>A

CMPR

+

+

+

+

+

(A)~(R)

CPI Im

+

+

+

+

+

(A)~Im

CMPM

+

+

+

+

+

(A)~(M)

Условные обозначения: R - общее обозначение одного из регистров общего назначения(РОН) - A, B, C, D, E, H, L; M - адрес ячейки памяти, хранящийся в двух смежных РОН H и L; SP - стек; YSP - указатель стека; CzK - счетчик команд; Im - непосредственный операнд; Ag - адрес ячейки памяти, с которой работает данная команда. Запись (R) означает содержимое регистра, нуль в графике «признаки» - установку в нуль при выполнении команды, а плюс - установку признака в соответствии с правилом установки флага.

Помните, что логические операции работают с каждыми из восьми битов независимо.

ANA «и» XRA «искл. или» ORA «или»

0 ^ 0>0 00>0 00>0

0 ^ 1>0 01>1 01>1

1 ^ 0>0 10>1 10>1

1 ^ 0>0 11>0 11>1 1 ^ 1>0

Команда CMP вычитает из содержимого аккумулятора второй операнд (не изменяя оба), формирует признаки по правилам команд вычитания.

1.2 Команды инкрементирования и декрементирования (табл.1.2)

Примите к сведению, что команда INR (инкрементирование) увеличивает на единицу содержимое регистра или байта памяти, а команда DCR (декрементирование) уменьшает на единицу это содержимое. Эти команды не используют и не изменяют значение бита переноса, а остальные биты признаков вырабатывают по общим правилам.

Таблица 1.2 - Инкрементирование и декрементирование

Команды

Признаки

Выполняемые функции

Z

N

C

H

P

INR R

+

+

-

+

+

(R)+1>R

INR M

+

+

-

+

+

(M)+1>R

DCR R

+

+

-

+

+

(R)-1>R

DCR M

+

+

-

+

+

(M)-1>R

1.3 Команды изменения содержимого аккумулятора (табл. 1.3)

Команды этой группы работают только с содержанием аккумулятора, поэтому адресной команды не имеют.

Таблица 1.3 - Изменение содержания аккумулятора

Команды

Признаки

Выполняемые функции

Z

N

C

H

P

RLC

-

-

+

-

-

Am>Am+1, A7>Ao, A7>C

RRC

-

-

+

-

-

Am+1>Am, Ao>A7, Ao>C

RAL

-

-

+

-

-

Am>Am+1, C>Ao, A7>C

RAR

-

-

+

-

-

Am+1>Am, Ao>C1, C>A7

CMA

-

-

+

-

-

, инвертирование

Обратите внимание, что команда RLC устанавливает бит переноса в состояние, равное значению старшего разряда сумматора. Содержимое сумматора циклически сдвигается влево на одну позицию с переносом значения самого старшего разряда в самый младший разряд сумматора.

1.4 Команды изменения признака (флага) переноса

Примите к сведению, что для изменения флага переноса используются две команды: STS - установка в один; CMC - установка в 0.

1.5 Команды условных переходов

Команды условных переходов используют раннее выработанные значения признаков, сами их не изменяют.

Имейте в виду, что если заданное в операции условие выполняется, адрес из второго и третьего блока команды заносится в счетчик команд, т.е. выполнение программы начинается с команд расположенных по этому адресу, в противном случае выполняется следующая по порядку команда

Таблица 1.4 - Команды условных переходов

Команды

Пояснение

JMP Ag

Ag>C2K(безусловный переход к команде Ag)

JC Ag

(C)=1, то Ag>C2K, иначе (С2К)+3> С2К

JNC Ag

(C)=0, то Ag>C2K, иначе (С2К)+3> С2К

JZ Ag

(Z)=1, то Ag>C2K, иначе (С2К)+3> С2К

JNZ Ag

(Z)=0, то Ag>C2K, иначе (С2К)+3> С2К

JP Ag

(N)=0, то Ag>C2K, иначе (С2К)+3> С2К(переход по «+»)

JM Ag

(N)=1, то Ag>C2K, иначе (С2К)+3> С2К(переход по «-»)

JPE Ag

(P)=1, то Ag>C2K, иначе (С2К)+3> С2К(переход по четности)

2 ЭКСПЕРИМЕНТАЛЬНЫЕ ИСЛЕДОВАНИЯ

Задание: Найти

Заносим в ячейку памяти, начиная с номера 8500, четыре числа I1=4, I2=8, I3=6, I4=3.

Используя полученные числа, составим программу, наберем программу на ЭВМ, и получим результат.

8500 04

8501 08

8502 06

8503 03

Таблица 2.1 - Программа на ассемблере.

Адрес

Код

команды

Метка

Мнемоника

8200

8201

06

04

PRG 1:

MVI B, 4

8202

8203

8204

21

00

85

LXI H, 8500

8205

7E

M1:

MOV A, M

8206

05

M2:

DCR B

8207

8208

8209

CA

12

82

JZ M3

820А

23

INR H

820В

BE

CMP H

820C

820D

820E

DA

05

82

JC M1

820F

8210

8211

C3

06

82

JMP M2

8212

7E

M3:

MOV A, M

8213

5F

MOV E, A

8214

8215

16

MVI D, 03

03

8216

A7

ANA A

8217

8218

8219

21

00

08

LXI H, 0008

821A

821B

DE

00

MVI C, 0

821C

7B

MOV A, E

821D

17

RAL

821E

5A

MOV E, D

821F

79

MOV A, C

8220

17

RAL

8221

92

SUB D

8222

8223

8224

D2

26

82

JNC M5

8225

82

ADD D

8226

4F

M5:

MOV C, A

8227

3F

CMC

8228

7E

MOV A, M

8229

17

RAL

822A

67

MOV H, A

822B

2D

DCR L

822C

822D

822E

C2

13

82

JNZ M4

822F

RST

рефераты
РЕФЕРАТЫ © 2010