Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Система_команд_К580_для_РИО.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
499.71 Кб
Скачать

Программирование микропроцессора к 580

При программировании микропроцессора с использованием эмулятора «Электроника 580» доступным является пространство оперативной памяти, располагающееся, начиная с адреса 8200, представленного в шестнадцатеричной системе счисления (1000001000000000 – в двоичной системе) и простирающегося до конца оперативной памяти – адреса FFFF (1111111111111111 – в двоичной системе).

С адреса 8200 обычно располагаются коды машинных команд программы, далее, в более старших адресах памяти, размещаются обрабатываемые программой данные.

Адреса оперативной памяти

Коды машинных команд программы и байт данных

8200

Машинный код однобайтной команды №1

8201

Машинный код однобайтной команды №2

8202

Машинный код двухбайтной команды №3

8204

Машинный код трехбайтной команды №4

8207

Машинный код однобайтной команды №5

.

.

.

.

.

.

8230

Машинный код однобайтной команды №К

8231

Значение байта данных №1

8232

Значение байта данных №2

.

.

.

.

.

.

ХХХ

Значение байта данных №N

ХХХ – последний используемый адрес, значение которого определяется объемом кода программы и структуры данных.

Рассмотрим программирование микропроцессора К 580 на примере решения конкретной задачи.

Постановка задачи. Определить минимальное значение элемента последовательности из N байт. Длина последовательности N≥2 располагается в ячейки памяти с адресом 8223. Последовательность данных размещается, начиная с адреса 8224.

Решение задачи.

Назначение регистров (Рг) процессора:

РгВ – используется для хранения минимального значения последовательности.

РгС – используется как счетчик, предварительно содержащий значение длины последовательности N, которое после рассмотрения очередного элемента последовательности уменьшается на 1.

Рг(HL) – используется для хранения адреса, который после рассмотрения очередного элемента последовательности увеличивается на единицу.

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

Признак переноса (CY) регистра признаков (РгПр) процессора – используется для оценки, является ли рассматриваемое значение (РгА) меньше минимального значения (РгВ)?

Признак нуля (Z) РгПр процессора – используется для оценки, рассмотрена ли вся последовательность данных?

ПРИЛОЖЕНИЕ

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

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

0

NOP

MOV

MOV

MOV

MOV

ADD

SUB

ANA

ORA

RNZ

RNC

RPO

RP

B,B

D,B

H,B

M,B

B

B

B

B

1

LXI

LXI

LXI

LXI

MOV

MOV

MOV

MOV

ADD

SUB

ANA

ORA

POP

POP

POP

POP

B,D16

D,D16

H,D16

SP,D16

B,C

D,C

H,C

M,C

C

C

C

C

B

D

H

PSW

2

STAX

STAX

SHLD

STA

MOV

MOV

MOV

MOV

ADD

SUB

ANA

ORA

JNZ

JNC

JPO

JP

B

D

A16

A16

B,D

D,D

H,D

M,D

D

D

D

D

A16

A16

A16

A16

3

INX

INX

INX

INX

MOV

MOV

MOV

MOV

ADD

SUB

ANA

ORA

JMP

OUT

XTHL

DI

B

D

H

SP

B,E

D,E

H,E

M,E

E

E

E

E

A16

N

4

INR

INR

INR

INR

MOV

MOV

MOV

MOV

ADD

SUB

ANA

ORA

CNZ

CNC

CPO

CP

B

D

H

M

B,H

D,H

H,H

M,H

H

H

H

H

A16

A16

A16

A16

5

DCR

DCR

DCR

DCR

MOV

MOV

MOV

MOV

ADD

SUB

ANA

ORA

PUSH

PUSH

PUSH

PUSH

B

D

H

M

B,L

D,L

H,L

M,L

L

L

L

L

B

D

H

PSW

6

MVI

MVI

MVI

MVI

MOV

MOV

MOV

HLT

ADD

SUB

ANA

ORA

ADI

SUI

ANI

ORI

B,D8

D,D8

H,D8

M,D8

B,M

D,M

H,M

M

M

M

M

D8

D8

D8

D8

7

RLC

RAL

DAA

STC

MOV

MOV

MOV

MOV

ADD

SUB

ANA

ORA

RST

RST

RST

RST

B,A

D,A

H,A

M,A

A

A

A

A

0

2

4

6

8

MOV

MOV

MOV

MOV

ADC

SBB

XRA

CMP

RZ

RC

RPE

RM

C,B

E,B

L,B

A,B

B

B

B

B

9

DAD

DAD

DAD

DAD

MOV

MOV

MOV

MOV

ADC

SBB

XRA

CMP

RET

PCHL

SPHL

B

D

H

SP

C,C

E,C

L,C

A,C

C

C

C

C

A

LDAX

LDAX

LHLD

LDA

MOV

MOV

MOV

MOV

ADC

SBB

XRA

CMP

JZ

JC

JPE

JM

B

D

A16

A16

C,D

E,D

L,D

A,D

D

D

D

D

A16

A16

A16

A16

B

DCX

DCX

DCX

SCX

MOV

MOV

MOV

MOV

ADC

SBB

XRA

CMP

IN

XCHG

EI

B

D

H

SP

C,E

E,E

L,E

A,E

E

E

E

E

N

C

INR

INR

INR

INR

MOV

MOV

MOV

MOV

ADC

SBB

XRA

CMP

CZ

CC

CPE

CM

C

E

L

A

C,H

E,H

L,H

A,H

H

H

H

H

A16

A16

A16

A16

D

DCR

DCR

DCR

DCR

MOV

MOV

MOV

MOV

ADC

SBB

XRA

CMP

CALL

C

E

L

A

C,L

E,L

L,L

A,L

L

L

L

L

A16

E

MVI

MVI

MVI

MVI

MOV

MOV

MOV

MOV

ADC

SBB

XRA

CMP

ACI

SBI

XRI

CPI

C,D8

E,D8

L,D8

A,D8

C,M

E,M

L,M

A,M

M

M

M

M

D8

D8

D8

D8

F

RRC

RAR

CMA

CMC

MOV

MOV

MOV

MOV

ADC

SBB

XRA

CMP

RST

RST

RST

RST

C,A

E,A

L,A

A,A

A

A

A

A

1

3

5

7

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F