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

Основы микропроцессорной техники

.pdf
Скачиваний:
1
Добавлен:
26.06.2025
Размер:
1.97 Mб
Скачать

311

+5B ‒5B

+12B

+5B

 

КР580ГФ24

 

G

OSC

ZQ

X1

C1

R

X2

C2

 

 

RESIN

C2

 

ТТЛ

 

 

SB C

 

SR

 

GND

RDY

+12B

 

SYN

 

RDYIN

STB

КР580ВМ80А

CPU

 

А0...А7

GND

 

 

А8...А15

 

HLDA

C1

D0...D7

C2

+5B

SR

 

RDY

 

SYN

DBIN

 

WR

 

INTE

HLD

WI

INT

 

КР580ВА86

 

F

А

D

0

7А...

КР580ВА86

F

 

D

...

15А

КР580ВK28 HLDA SC

D0...D7

D0...D7

D7...D0

GND

INTA

BUSEN

MEMR

STB

MEMW

DBIN

I/OR

WR

I/OW

адресаШинаШинаадреса данных Шина управленияШинаШинауправления

 

 

 

 

 

PIC

 

 

 

PCDMA

 

 

 

 

 

 

 

 

 

 

HLD

HLDA

 

 

 

 

 

 

INTA

 

 

Подтверждения захвата наШи адреса

 

 

Шина данных Запросы захвата

Запросы рерыванийп

 

 

 

Шина данных

 

КР580ВТ57

 

 

 

 

 

 

 

 

 

 

 

IRQ0

 

 

 

 

А0...А7

D0...D7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

.

INT

 

 

 

 

 

 

 

 

 

.

.

 

 

 

 

 

 

 

 

 

 

 

 

 

DACK0

DRQ0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

.

D0...D7

 

 

.

.

.

.

 

 

 

 

 

IRQ7

 

 

 

.

.

.

.

 

 

 

 

 

 

 

 

.

.

.

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DACK3

DRQ3

 

 

 

 

 

КР580ВН59

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 77. Микропроцессорный модуль системы на базе МП КР580ВМ80А

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1.Е.Г. Павловский, В.А. Жвариков, А.А. Кузьмин. Основы организации ЭВМ и микропроцессоров: Учебное пособие и методические указания к лабораторному практикуму. – СПб.: СанктПетербургский государственный политехнический ун-т, 2011. – 118 с., ил.

2.А.А. Мельников, А.А. Мельников (ст.), А.А. Мельников (мл.). Микропроцессоры, микроконтроллеры и однокристальные микропрограммируемые устройства: Хрестоматия устройств с микропрограммным управлением. Часть II. Под ред. А.А. Мельникова. – М.: 2008. – 235 с.

3.В.П. Мокрецов. Микропроцессоры и МПС. Часть 1. Архитектура микропроцессора К580ВМ80. Организация МП-систем. Учебное электронное текстовое издание. – Екатеринбург: Изд-во УГТУ-УПИ,

2007. – 143 с.

4.П.Б. Могнонов. Организация микропроцессорных систем: Учебное пособие. – Улан-Удэ: Изд-во ВСГТУ, 2003. – 355 с.

5.С.Н. Ливенцов, А.Д. Вильнин, А.Г. Горюнов. Основы микропроцессорной техники: Учебное пособие. – Томск: Изд-во Томского политехнического ун-та, 2007. – 118 с.

6.Ю.В. Новиков, П.К. Скоробогатов. Основы микропроцессорной техники: Учебное пособие. – М.: Интернет-университет информационных технологий; БИНОМ. Лаборатория знаний, 2009. –

357с., ил.

132

ПРИЛОЖЕНИЕ 1

СИСТЕМА КОМАНД МИКРОПРОЦЕССОРА КР580ВМ80А

Условные обозначения:

А – аккумулятор, В, C, D, E, H, L – регистры общего назначения, обозначаемые в зависимости от выполняемой функции RS (регистр источник, S SOURCE) или RD (регистр приемник, D

DESTINATION).

М – ячейка памяти (от MEMORY). В нотации команд МП КР580ВМ80А ячейка памяти М трактуется как своеобразный регистр, обращение к которому производится только с использованием косвенной адресации. Адрес М размещается в регистровой паре HL.

BC, DE, HL – регистровые пары (RP), обозначаемые в командах по именам старших регистров пары: В – имя регистровой пары ВС, D – имя регистровой пары DE, Н – имя регистровой пары

HL.

Кодирование регистров и регистровых пар представлено в табл. П1.

 

 

 

Таблица П1

Имя регистра

Код регистра

Имя регистровой

Код RP

пары RP

 

 

 

B

000

B-пара

000

C

001

 

 

D

010

D-пара

010

E

011

 

 

H

100

H-пара

100

L

101

 

 

M

110

PSW

110

A

111

SP

110

ADDR – 16-битный адрес памяти; PORT – 8-битный адрес периферийного устройства;

data8, data16 – 8-битные, 16-битные данные; В2, В3 – второй, третий байты команды;

Z/NZ, C/NC, PE/PO, P/M (знак S), AC – признаки результата; ( ) — содержимое ячейки памяти или регистра, символиче-

ское имя которых заключено в скобки; [ ] — адрес ячейки памяти.

133

Список команд микропроцессора КР580ВМ80А приведен в табл. П2, П3. В табл. П2 представлены команды, не воздействующие на флаги процессора. Это – команды пересылок, команды загрузки в стек и извлечения из стека (за исключением команды РОР PSW, которая изменяет флаги), команды передачи управления и команды управления микропроцессором. При выполнении команд этой группы признаки результата не изменяют своего значения. В табл. П3 представлены команды, при выполнении которых признаки результата (флаги) модифицируются в соответствии со значением результата. Таблицы П2 и П3 отличаются друг от друга наличием (табл. П3) или отсутствием колонки «признаки результата»

(табл. П2).

Машинные коды команд МП КР580ВМ80А приведены в табл. П4. Пересечение соответствующих строки и столбца дают машинный код любой команды микропроцессора.

134

 

 

 

 

 

 

 

 

 

 

 

 

Таблица П2

 

Название

Мнемоника

Код

Параметры

Описание

 

 

команды

 

команды

команды

операции

 

команды

 

б

 

ц

т

 

 

 

 

 

 

 

 

 

 

1

2

3

 

4

 

 

 

5

 

 

 

 

Команды пересылки данных

 

 

 

 

 

 

 

MOV RD,RS

1DS

1

 

1

 

5

( )

→ (

)

 

Пересылки 8-битных

 

 

 

 

 

 

 

 

 

 

 

 

MOV M,RS

16S

1

 

2

 

7

( )

→ ( )

 

 

 

 

 

данных

 

 

 

 

 

 

 

 

 

 

 

 

MOV RD,M

1D6

1

 

2

 

7

( ) →

(

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Загрузка регистра

MVI RD,data8

0D6 B2

2

 

2

 

7

2 →

(

)

 

 

 

 

 

 

 

 

 

 

 

 

 

(непосредственная)

MVI M,data8

066 B2

2

 

3

 

10

2 → ( )

 

 

LXI B,data16

001 B2 B3

3

 

3

 

10

2 → ( )

 

 

 

 

3 → ( )

 

 

 

 

 

 

 

 

 

 

Загрузка пары регистров

LXI D,data16

021 B2 B3

3

 

3

 

10

2 → ( )

 

 

 

3 → ( )

 

(непосредственная)

 

 

 

 

 

 

 

 

LXI H,data16

041 B2 B3

3

 

3

 

10

2 → ( )

 

 

 

 

 

 

 

 

3 → ( )

 

 

 

 

 

 

 

 

 

 

 

LXI SP,data16

061 B2 B3

3

 

3

 

10

3 2 → ( )

 

Команды пересылок данных в аккумулятор и из аккумулятора

 

 

 

 

Загрузка А (прямая)

LDA ADDR

072 B2 B3

3

 

4

 

13

[( 2)( 3)] → ( )

 

Загрузка А (косвенная)

LDAX B

012

1

 

2

 

7

[( )( )] → ( )

 

 

LDAX D

032

1

 

2

 

7

[( )( )] → ( )

 

Запоминание А (прямое)

STA ADDR

062 B2 B3

3

 

4

 

13

( ) → [( 2)( 3)]

 

Запоминание А

STAX B

002

1

 

2

 

7

( ) → [( )( )]

135

(косвенное)

STAX D

022

1

 

2

 

7

( ) → [( )( )]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица П2 (продолжение)

 

1

2

3

 

4

 

 

5

 

Ввод

IN PORT

333 B2

2

3

10

 

[ ] → ( )

 

Вывод

OUT PORT

323 B2

2

3

10

 

( ) → [ ]

 

Команды обмена, загрузки и запоминания содержимого регистровой пары HL

 

 

XCHG

353

1

1

4

 

( ) ↔ ( )

 

 

 

( ) ↔ ( )

 

Обмен

 

 

 

 

 

 

 

XTHL

343

1

5

18

 

( ) ↔ ([ ])

 

 

 

 

 

 

( ) ↔ ([ + 1])

 

 

 

 

 

 

 

 

 

Загрузка (прямая)

LHLD ADDR

052 B2 B3

3

5

16

 

[( 3)( 2)] → ( )

 

 

[( 3)( 2 + 1)] → ( )

 

 

 

 

 

 

 

 

 

Запоминание (прямое)

SHLD ADDR

042 B2 B3

3

5

16

 

( ) → [( 3)( 2)]

 

 

( ) → [( 3)( 2 + 1)]

 

 

 

 

 

 

 

 

 

Загрузка указателя стека

SPHL

371

1

1

5

 

( )( ) → ( )

 

 

 

 

 

 

 

 

 

 

Загрузка счётчика команд

PCHL

351

1

1

5

 

( )( ) → ( )

 

 

 

 

 

 

 

 

 

 

 

Команды загрузки в стек и извлечения из стека

 

 

Загрузка в стек

 

 

 

 

 

 

( ) → [( − 1)]

 

 

PUSH B

305

1

3

11

 

( ) → [( − 2)]

 

 

 

 

 

 

 

 

( ) = ( − 2)

 

 

 

 

 

 

 

 

( ) → [( − 1)]

 

 

PUSH D

325

1

3

11

 

( ) → [( − 2)]

 

 

 

 

 

 

 

 

( ) = ( − 2)

 

 

 

 

 

 

 

 

( ) → [( − 1)]

136

 

PUSH H

345

1

3

11

 

( ) → [( − 2)]

 

 

 

 

 

 

 

( ) = ( − 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица П2 (продолжение)

 

1

2

3

 

4

 

 

5

 

 

 

 

 

 

 

 

( ) → [( − 1)]

 

Загрузка в стек

PUSH PSW

365

1

3

11

 

( ) → [( − 2)]

 

 

 

 

 

 

 

 

( ) = ( − 2)

 

 

 

 

 

 

 

 

[( )] → ( )

 

 

POP B

301

1

3

10

 

[( + 1)] → ( )

 

 

 

 

 

 

 

 

( ) = ( + 2)

 

 

 

 

 

 

 

 

[( )] → ( )

 

 

POP D

321

1

3

10

 

[( + 1)] → ( )

 

Извлечение из стека

 

 

 

 

 

 

( ) = ( + 2)

 

 

 

 

 

 

 

[( )] → ( )

 

 

 

 

 

 

 

 

 

 

POP H

341

1

3

10

 

[( + 1)] → ( )

 

 

 

 

 

 

 

 

( ) = ( + 2)

 

 

 

 

 

 

 

 

[( )] → ( )

 

 

POP PSW

361

1

3

10

 

[( + 1)] → ( )

 

 

 

 

 

 

 

 

( ) = ( + 2)

 

 

Команды безусловной передачи управления

 

 

Безусловный переход

JMP ADDR

303 B2 B3

3

3

10

 

3 2 → ( )

 

 

 

 

 

 

 

 

 

 

Безусловный вызов

 

 

 

 

 

 

( ) → [( − 1)( − 2)]

 

CALL ADDR

315 B2 B3

3

5

17

 

( ) = ( − 2)

 

подпрограммы

 

 

 

 

 

 

 

 

3 2 → ( )

 

 

 

 

 

 

 

 

 

Безусловный возврат из

RET

311

1

3

10

 

[( )( + 1)] → ( )

1

подпрограммы

 

( ) = ( + 2)

 

 

 

 

 

 

37

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

138

 

 

 

 

 

 

Таблица П2 (продолжение)

1

2

3

 

4

 

5

 

 

 

 

 

 

 

Загрузка счётчика команд

 

 

 

 

 

( )( ) → ( )

(множественное

PCHL

351

1

1

5

 

ветвление)

 

 

 

 

 

 

Вызов прерывающей

RST N

3N7

1

3

11

( ) → [( − 1)( − 2)]

программы

( ) = ( − 2); ( ) = 000 0 0

 

 

 

 

 

 

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

 

Переход по нулевому

 

 

 

 

 

 

значению флага Z

JNZ ADDR

302 B2 B3

3

3

10

 

(ненулевому результату)

 

 

 

 

 

 

Переход по единичному

 

 

 

 

 

 

значению флага Z

JZ ADDR

312 B2 B3

3

3

10

Переход по условию, заданному в

(нулевому результату)

 

 

 

 

 

команде.

Переход по нулевому

 

 

 

 

 

Если условие выполняется, то

значению флага C (при

JNC ADDR

322 B2 B3

3

3

10

осуществляется переход к коман-

отсутствии переноса)

 

 

 

 

 

де, размещенной по адресу B2 B3:

Переход по единичному

 

 

 

 

 

3 2 → ( ).

значению флага C (при

JC ADDR

332 B2 B3

3

3

10

Если условие не выполняется, то

наличии переноса)

 

 

 

 

 

осуществляется переход к следу-

Переход по нулевому

 

 

 

 

 

ющей по порядку команде:

значению флага P (при

JPO ADDR

342 B2 B3

3

3

10

( ) = ( ) + 3.

отсутствии четности)

 

 

 

 

 

 

Переход по единичному

 

 

 

 

 

 

значению флага P (при

JPE ADDR

352 B2 B3

3

3

10

 

наличии четности)

 

 

 

 

 

 

913

 

 

 

 

 

 

Таблица П2 (продолжение)

1

2

3

 

4

 

5

 

 

 

 

 

 

 

Переход по нулевому

 

 

 

 

 

 

значению флага S

JP ADDR

362 B2 B3

3

3

10

 

(положительное

 

 

 

 

 

 

 

значение)

 

 

 

 

 

 

 

 

 

 

 

 

 

Переход по единичному

 

 

 

 

 

 

значению флага S

JM ADDR

372 B2 B3

3

3

10

 

(отрицательное значение)

 

 

 

 

 

 

 

Команды условного вызова подпрограмм

Вызов подпрограммы при

CNZ ADDR

304 B2 B3

3

3/5

11/17

 

Z = 0

 

 

 

 

 

 

 

Вызов подпрограммы при

CZ ADDR

314 B2 B3

3

3/5

11/17

Вызов подпрограммы при выпол-

Z = 1

нении условия, заданного в ко-

Вызов подпрограммы при

CNC ADDR

324 B2 B3

3

3/5

11/17

манде.

C = 0

 

 

 

 

 

Если условие выполняется, то

Вызов подпрограммы при

CC ADDR

334 B2 B3

3

3/5

11/17

осуществляется переход к под-

C = 1

программе, т.е. к команде, разме-

Вызов подпрограммы при

CPO ADDR

344 B2 B3

3

3/5

11/17

щенной по адресу B2 B3:

P = 0

3 2 → ( ).

 

 

 

 

 

Вызов подпрограммы при

CPE ADDR

354 B2 B3

3

3/5

11/17

Если условие не выполняется, то

P = 1

осуществляется переход к следу-

Вызов подпрограммы при

CP ADDR

364 B2 B3

3

3/5

11/17

ющей по порядку команде:

S = 0

( ) = ( ) + 3.

 

 

 

 

 

Вызов подпрограммы при

CM ADDR

374 B2 B3

3

3/5

11/17

 

S = 1

 

 

 

 

 

 

 

014

 

 

 

 

 

Таблица П2 (продолжение)

1

2

3

4

 

5

 

 

 

 

 

 

 

Команды условного возврата из подпрограмм

 

Возврат из

 

 

 

 

 

подпрограммы при

RNZ

300

1

1/3

5/11

ненулевом результате

 

 

 

 

 

(Z = 0)

 

 

 

 

 

 

 

 

 

 

 

Возврат из

 

 

 

 

 

подпрограммы при

RZ

310

1

1/3

5/11

нулевом результате

 

 

 

 

 

(Z = 1)

 

 

 

 

 

 

 

 

 

 

 

Возврат из

 

 

 

 

 

подпрограммы при

RNC

320

1

1/3

5/11

отсутствии переноса

 

 

 

 

 

(C = 0)

 

 

 

 

 

 

 

 

 

 

 

Возврат из

 

 

 

 

 

подпрограммы при

RC

330

1

1/3

5/11

наличии переноса (C = 1)

 

 

 

 

 

 

 

 

 

 

 

Возврат из

 

 

 

 

 

подпрограммы при

RPO

340

1

1/3

5/11

отсутствии четности

 

 

 

 

 

(P = 0)

 

 

 

 

 

 

 

 

 

 

 

Возврат из

 

 

 

 

 

подпрограммы при

RPE

350

1

1/3

5/11

наличии четности (P = 1)

 

 

 

 

 

 

 

 

 

 

 

Возврат из подпрограммы при выполнении условия, заданного в команде. Если условие выполняется, то осуществляется переход к команде, размещенной по адресу возврата из стека:

[( )( ) + 1] → ( ), ( ) = ( ) + 2.

Если условие не выполняется, то осуществляется переход к следующей по порядку команде:

( ) = ( ) + 3.