Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ChAST_2_OEVM.doc
Скачиваний:
20
Добавлен:
12.03.2015
Размер:
574.46 Кб
Скачать

Варианты заданий к лабораторной работе 3

N п/п

NNNN

DDDD

Исходный массив

HI

H2

1

8032

8442

23,5A,32,D4,27,1D,38

IF

С1

2

8304

8322

ED,3D,4D,49,9D,AA,F5

45

F1

3

830Е

8531

ED,DF,6A,D7,98,02,B3

13

D6

4

810D

8442

28,3F,ED,6D,AE,A6,87

2E

А8

5

85F1

8127

D2,25,87,02,DF,67,DС

33

CD

6

8561

8326

45,89,DF,24,91,34,E5

35

9D

7

8408

8200

13,2F,6E,A7,83,45,10

D3

8

8392

845F

67,01,DE,34,91,AD,ED

23

ED

9

8415

8579

11,34,2D,АЕ,85,DE,29

19

CF

10

831Е

828F

34,87,51,AE,5C,44,98

24

A9

11

8255

8302

46,93,56,02,83,47,10

39

D3

12

85F1

8473

D3,А7,23,F4,65,19,0F

21

EE

13

80E4

8038

57,AF,D6,7D,9A,90,29

34

ED

14

8204

8422

23,DE,37,83,CB,93,76

09

78

15

8231

8202

87, 03, 67, 71,6А, 27, 3D

12

68

16

8320

8221

09, ED 37, FD 87,01, 35

1E

EF

17

8264

8125

ED 03,45, DE ,BE 89,10

31

AD

18

8211

8116

87,39,02,09,73, ED,EF

29

DA

19

8200

8312

67,45,DF,20,64,30,AE

32

DE

20

8274

8125

48,71,93,28, F4,38,98

31

F2

21

825D

8322

EF ,D4, 38,93, B5, 2Е, 9E

45

ED

22

8201

8143

45,94,03, EE, F9, B4 ,83

23

BE

23

8312

8310

97,40, ED, 46,98,45 ,07

21

D9

24

82А4

8140

54, AE, DC ,EB, 98,94,03

10

C8

25

8216

8148

11,87,34, AE, 09, C4, 36

1A

E6

Приложение 6

Система команд мп кр580ик80а

Мнемоника

Описание команды

Код команды

Длина

Коман-

ды,

байт

Число

Тактов

Флаги условий

D7

D6

D5

D4

D3

D2

D1

D0

S Z AC P CY

MOV R1, R2

Передача из регистра R2

в регистр R1

0

1

D

D

D

S

S

S

1

5

- - - - -

MOV M, R

Передача из регистра в

память

0

1

1

1

0

S

S

S

1

7

- - - - -

MOV R, M

Передача из памяти в

регистр

0

1

D

D

D

1

1

0

1

7

- - - - -

MVI R

Передача байта в регистр

0

0

D

D

D

1

1

0

2

7

- - - - -

MVI M

Передача байта в память

0

0

1

1

0

1

1

0

2

10

- - - - -

LXI RP

Загрузка парных

регистров B-C, D-E, H-L,

S-P

0

0

R

R

0

0

0

1

3

10

- - - - -

LDAX RP

Загрузка аккумулятора

По адресу, указанному

Парой регистров B-C или

D-E

0

0

R

R

1

0

1

0

1

7

- - - - -

STAX RP

Занесение содержимого

аккумулятора по адресу,

указанному парой

регистров B-C или D-E

0

0

R

R

0

0

1

0

1

7

- - - - -

LDA

Загрузка аккумулятора

по адресу, указанному в

команде

0

0

1

1

1

0

1

0

3

13

- - - - -

STA

Занесение содержимого

аккумулятора по адресу,

указанному в команде

0

0

1

1

0

0

1

0

3

13

- - - - -

LHLD

Загрузка регистров L, H

из двух соседних ячеек,

начиная с адреса,

указанного в команде

0

0

1

0

1

0

1

0

3

16

- - - - -

SHLD

Занесение содержимого

регистров L, H в две

соседние ячейки,

начиная с адреса,

указанного в команде

0

0

1

0

0

0

1

0

3

16

- - - - -

XCHG

Обмен данными между

парами регистров H-L и

D-E

1

1

1

0

1

0

1

1

1

4

- - - - -

XTHL

Обмен данными между

SP и H-L

1

1

1

0

0

0

1

1

1

18

- - - - -

SPHL

Занесение содержимого

регистра H-L в SP

1

1

1

1

1

0

0

1

1

5

- - - - -

PUSH RP

Ввод содержимого

регистров B-C, D-E или

H-L в стэк

1

1

R

R

0

1

0

1

1

11

- - - - -

PUSH PSW

Ввод PSW в стэк

1

1

1

1

0

1

0

1

1

11

- - - - -

POP RP

Выдача данных из стека

в регистры В-С, D-E, H-L

1

1

R

R

0

0

0

1

1

10

- - - - -

POP PSW

Выдача данных из стека

в аккумулятор и регистр

признаков

1

1

1

1

0

0

0

1

1

10

+ + + + +

ADD R

Сложение содержимого

регистра и аккумулятора

1

0

0

0

0

S

S

S

1

4

+ + + + +

ADC R

То же, но с учётом

переноса CY

1

0

0

0

0

S

S

S

1

4

+ + + + +

ADD M

Сложение содержимого

ячейки памяти и

аккумулятора

1

0

0

0

0

1

1

0

1

7

+ + + + +

ADC M

То же, но с учётом

переноса CY

1

0

0

0

1

1

1

0

1

+ + + + +

ADI

Сложение байта с

содержимым

аккумулятора

1

1

0

0

0

1

1

0

2

7

+ + + + +

ACI

Сложение байта с

содержимым

аккумулятора с учётом

переноса СУ

1

1

0

0

1

1

1

0

2

7

+ + + + +

DAD RP

Сложение содержимого

пар регистров В-С, D-E,

H-L, SP с содержимым

пары H-L

0

0

R

R

1

0

1

0

1

10

- - - - +

SUB R

Вычитание содержимого

регистра из содержимого

аккумулятора

1

0

0

1

0

S

S

S

1

4

+ + + + +

SBB R

То же, но с заёмом

1

0

0

1

1

S

S

S

1

4

+ + + + +

SUB M

Вычитание содержимого

ячейки памяти из

содержимого

аккумулятора

1

0

0

1

0

1

1

0

1

7

+ + + + +

SBB M

То же, но с заёмом

1

0

0

1

1

1

1

0

1

7

+ + + + +

SUI

Вычитание байта из

содержимого

аккумулятора

1

1

0

1

0

1

1

0

2

7

+ + + + +

SBI

То же, но с учётом заёма

1

1

0

1

1

1

1

0

2

7

+ + + + +

INR R

Увеличение

содержимого регистра на

единицу

0

0

D

D

D

1

0

0

1

5

+ + + + -

INR M

Увеличение

содержимого ячейки

памяти на единицу

0

0

1

1

0

1

0

0

1

10

+ + + + -

DCR R

Уменьшение

содержимого регистра на

единицу

0

0

D

D

D

1

0

1

1

5

+ + + + -

DCR M

Уменьшение

содержимого ячейки

памяти на единицу

0

0

1

1

0

1

0

1

1

10

+ + + + -

INX RP

Увеличение

содержимого парных

регистров B-C, D-E, H-

L, SP на единицу

0

0

R

R

0

0

1

1

1

5

- - - - -

DCR RP

Уменьшение

содержимого парных

регистров B-C, D-E, H-

L, SP на единицу

0

0

R

R

0

0

1

1

1

5

- - - - -

ANA R

Поразрядное логическое

умножение содержимого

регистра и аккумулятора

1

0

1

0

0

S

S

S

1

4

+ + 0 + 0

ANA M

Поразрядное логическое

умножение содержимого

ячейки памяти и

аккумулятора

1

0

1

0

0

1

1

0

1

7

+ + 0 + 0

ANI

Поразрядное логическое

умножение содержимого

аккумулятора и байта

1

1

1

0

0

1

1

0

2

7

+ + 0 + 0

XRA R

Поразрядное

исключающее ИЛИ над

содержимым регистра

или аккумулятора

1

0

1

0

1

S

S

S

1

4

+ + 0 + 0

XRA M

Поразрядное

исключающее ИЛИ над

содержимым ячейки

памяти и аккумулятора

1

0

1

0

1

1

1

0

1

7

+ + 0 + 0

XRI

Поразрядное

исключающее ИЛИ над

содержимым

аккумулятора и байтом

1

1

1

0

1

1

1

0

2

7

+ + 0 + 0

ORA R

Поразрядное логическое

сложение содержимого

регистра или

аккумулятора

1

0

1

1

0

S

S

S

1

4

+ + 0 + 0

ORA M

Поразрядное логическое

сложение содержимого

ячейки памяти и

аккумулятора

1

0

1

1

0

1

1

0

1

7

+ + 0 + 0

ORI

Поразрядное логическое

сложение содержимого

ячейки памяти и

аккумулятора

1

0

1

1

0

1

1

0

2

7

+ + 0 + 0

CMP R

Сравнение содержимого

регистра и аккумулятора

1

0

1

1

1

S

S

S

1

4

+ + + + +

CMP M

Сравнение содержимого

ячейки памяти и

аккумулятора

1

0

1

1

1

1

1

0

1

7

+ + + + +

CPI

Сравнение байта с

содержимым

аккумулятора

1

1

1

1

1

1

1

0

2

7

+ + + + +

RLC

Циклический сдвиг

содержимого

аккумулятора влево

0

0

0

0

0

1

1

1

1

4

- - - - +

RRC

То же, но вправо

0

0

0

0

1

1

1

1

1

4

- - - - +

RAL

Циклический сдвиг

содержимого

аккумулятора влево

через перенос

0

0

0

1

0

1

1

1

1

4

- - - - +

RAR

То же, но вправо

0

0

0

1

1

1

1

1

1

4

- - - - +

CMA

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

Аккумулятора

0

0

1

0

1

1

1

1

1

4

- - - - -

STC

Установка флага

переноса СУ в единицу

0

0

1

1

0

1

1

1

1

4

- - - - 1

CMC

Инвертирование флага

переноса

0

0

1

1

1

1

1

1

1

4

- - - -

DAA

Двоично-десятичная

коррекция содержимого

аккумулятора

0

0

1

0

0

1

1

1

1

4

+ + + + +

JMP

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

1

1

0

0

0

0

1

1

3

10

- - - - -

JC

Переход при наличие

переноса

1

1

0

1

1

0

1

0

3

10

- - - - -

JNC

Переход при отсутствии

переноса

1

1

0

1

0

0

1

0

3

10

- - - - -

JZ

Переход при нуле

1

1

0

0

1

0

1

0

3

10

- - - - -

JNZ

« « отсутствии нуля

1

1

0

0

0

0

1

0

3

10

- - - - -

JP

« « плюсе

1

1

1

1

0

0

1

0

3

10

- - - - -

JM

« « минусе

1

1

1

1

1

0

1

0

3

10

- - - - -

JPE

« « четносте

1

1

1

0

1

0

1

0

3

10

- - - - -

JPO

« « нечетности

1

1

1

0

0

0

1

0

3

10

- - - - -

PCHL

Занесение в счетчик

команд содержимого

регистра H-L

1

1

1

0

1

0

0

1

1

5

- - - - -

CALL

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

1

1

0

0

1

1

0

1

3

17

- - - - -

CC

То же, но при переносе

1

1

0

1

1

1

0

0

3

11/17

- - - - -

CNC

То же, но при отсутствии

переноса

1

1

0

0

1

1

0

0

3

11/17

- - - - -

CZ

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

при нуле

1

1

0

0

1

1

0

0

3

11/17

- - - - -

CNZ

То же, но при отсутствии

нуля

1

1

0

0

0

1

0

0

3

11/17

- - - - -

CP

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

при плюсе

1

1

1

1

0

1

0

0

3

11/17

- - - - -

CM

То же, но при минусе

1

1

1

1

1

1

0

0

3

11/17

- - - - -

CPE

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

при чётности

1

1

1

0

1

1

0

0

3

11/17

- - - - -

CPO

То же, но при нечетности

1

1

1

0

0

1

0

0

3

11/17

- - - - -

RET

Возврат

1

1

0

0

1

0

0

1

1

10

- - - - -

RC

« « при ереносе

1

1

0

1

1

0

0

0

1

5/11

- - - - -

RNC

« « отсутствии

переноса

1

1

0

1

0

0

0

0

1

5/11

- - - - -

RZ

« « нуле

1

1

0

0

1

0

0

0

1

5/11

- - - - -

RNZ

« « отсутствии нуля

1

1

0

0

0

0

0

0

1

5/11

- - - - -

RP

« « плюсе

1

1

1

1

0

0

0

0

1

5/11

- - - - -

RM

« « минусе

1

1

1

1

1

0

0

0

1

5/11

- - - - -

RPE

« « четности

1

1

1

0

1

0

0

0

1

5/11

- - - - -

RPO

« « нечетности

1

1

1

0

0

0

0

0

1

5/11

- - - - -

RST

Повторный запуск

1

1

N

N

N

1

1

1

1

11

- - - - -

IN

Ввод

1

1

0

1

1

0

1

1

2

10

- - - - -

OUT

Вывод

1

1

0

1

0

0

1

1

2

10

- - - - -

EI

Разрешить прерывание

1

1

1

1

1

0

1

1

1

4

- - - - -

DI

Запретить прерывание

1

1

1

1

0

0

1

1

1

4

- - - - -

NOP

Отсутствие операции

0

0

0

0

0

0

0

0

1

4

- - - - -

HLT

Останов

0

1

1

1

0

1

1

0

1

7

- - - - -

Приложение 7

Команда

Описание операции

B/M

T

T

F

Группа команд передачи данных

MOV r1, r2

MOV r, M

MOV M, r

r1 ← r2 {Move}

r ← M(rp H)

M(rp H) ← r

1/1

1/2

1/2

5

7

7

4

7

7

-

-

-

MVI r, d8

MVI M, d8

LXI rp, d16

r ← d8 {Move immediate}

M(rp H) ← d8

rp ← d16, rp=B,D,H или SP {Load immediate}

2/2

2/3

3/3

7

10

10

7

10

10

-

-

-

LDA addr

STA

A ← M(addr) {Load direct accumulator}

M(addr) ←A {Store direct accumulator}

3/4

3/4

13

13

13

13

-

-

LHLD addr

SHLD addr

L ←M(addr), H ← M(addr+1) {Load H and L direct}

M(addr) ←L, M(addr+1) ← H {Store H and L direct}

3/5

3/5

16

16

16

16

-

-

LDAX rp

STAX rp

A ← M(rp), rp=B или D {Load accumulator indirect}

M(rp) ←A, rp=B или D {Store accumulator indirect}

1/2

1/2

7

7

7

7

-

-

XCHG

H ↔ D, L ↔ E {Exchange}

1/1

4

4

-

Группа команд арифметических операций

ADD r

ADI d8

ADD M

ADC r

ADC M

ACI d8

A←A + r {Add}

A←A + d8 {Add immediate}

A←A + M(rp H)

A←A + r + CY {Add with carry}

A←A + M(rp H) + CY

A←A + d8 + CY {Add with carry immediate}

1/1

2/2

1/2

1/1

1/2

2/2

4

7

7

4

7

7

4

7

7

4

7

7

+

+

+

+

+

+

SUB r

SUI d8

SUB M

SBB r

SBI d8

SBB M

A←A – r { Subtract }

A←A – d8 { Subtract immediate}

A←A – M(rp H)

A←A – r – CY { Subtract with borrow}

A← A – d8 – CY

A← A – M(rp H) – CY { Subtract immediate}

1/1

2/2

1/2

1/1

2/2

1/2

4

7

7

4

7

7

4

7

7

4

7

7

+

+

+

+

+

+

INR r

INR M

DCR r

DCR M

INX rp

DCX rp

r ← r + 1 {Increment}

M(rp H) ← M(rp H) + 1

r ← r – 1 {Decrement}

M(rp H) ←M(rp H) – 1

rp ← rp + 1, rp=B, D, H или SP {Increment rp}

rp ← rp – 1, rp=B, D, H или SP {Decrement rp}

1/1

1/3

1/1

1/3

1/1

1/1

5

10

5

10

5

5

5

10

5

10

5

5

DAD rp

DAA

rp H ← rp H + rp, rp=B, D, H или SP {Double precision add}

Десятичная коррекция {Decimal adjust accumulator}

1/1

1/1

10

4

10

4

+

Группа команд логических операций

ANA r

ANI d8

ANA M

A←A & r { And register with accumulator}

A←A & d8 { And immediate with accumulator}

A←A & M(rp H) { And memory with accumulator}

1/1

2/2

1/2

4

7

7

4

7

7

*

*

*

XRA r

XRI d8

XRA M

A←Ar { Exclusive or register with accumulator}

A←Ad8 { Exclusive or immediate with accumulator}

A←AM(rp H) { Exclusive or memory with accumulator}

1/1

2/2

1/2

4

7

7

4

7

7

#

#

#

Команда

Описание операции

B/M

T

T

F

ORA r

ORI d8

ORA M

CMP r

CPI d8

CMP M

A←A r {Or register with accumulator}

A←A d8 {Or immediate with accumulator}

A←A M(rp H) {Or memory with accumulator}

A– r Z=1 при A=r, d8, M { Compare}

A – d8 CY=1 при A<r, d8, M {Compare immediate}

A – M(rp H)

1/1

2/2

1/2

1/1

2/2

1/2

4

7

7

4

7

7

4

7

7

4

7

7

#

#

#

+

+

+

RLC

RRC

RAL

RAR

{Rotate accumulator left in carry}

{Rotate accumulator right in carry}

{Rotate accumulator left through carry}

{Rotate accumulator right through carry}

1/1

1/1

1/1

1/1

4

4

4

4

4

4

4

4

CMA

CMC

STC

A ← {Complement accumulator}

CY ← {Complement carry}

CY ← 1 { Set carry}

1/1

1/1

1/1

4

4

4

4

4

4

Группа команд передачи управления

JMP addr

Jcond addr

PCHL

PC ← addr {Jump}

PC ← addr {Jump conditional}

PC ← HL { Load Program Counter with H and L}

3/3

3/3

1/1

10

10

5

10

7/10

4

CALL addr

Ccond addr

SP ← SP – 1, M(SP) ← PCh, {Call}

SP ← SP – 1, M(SP) ←PCl; PC ← addr {Call

conditional}

3/5

3/3/5

17

11/17

18

9/18

RET

Rcond

PCl ← M(SP) , SP ← SP + 1, {Return}

PCh← M(SP), SP ← SP + 1 {Return conditional}

1/3

1/1/3

10

5/11

10

6/12

RST n

SP ← SP – 1, M(SP) ← PCh, {Restart}

SP ← SP – 1, M(SP) ←PCl; PC ← 8 ×n ( n= 0 . . . 7)

1/3

11

12

Группа команд управления стеком, вводом-выводом и состоянием МП

PUSH rp

PUSH PSW

POP rp

POP PSW

SP←SP – 1, M(SP)←prh, SP←SP – 1, M(SP)←rpl {Push}

SP←SP – 1, M(SP) ← A, SP←SP – 1, M(SP)←F

rpl←M(SP), SP←SP + 1, rph ← M(SP), SP←SP+1 {Pop}

F←M(SP), SP←SP + 1, A← M(SP), SP←SP+1

1/3

1/3

1/3

1/3

11

11

10

10

12

12

10

10

+

XTHL

SPHL

L↔M(SP), H↔M(SP+1) {Exchange Top of Stack with H and L}

1/5

1/1

18

5

16

6

Команда

Описание операции

B/M

T

T

F

IN port

OUT port

A ← ПО(port) {Input}

ПО(port) ←A {Output}

2/3

2/3

10

10

10

10

EI

DI

INTE = 1 после следующей команды {Enable Interrupts}

INTE = 0 после данной команды {Disable Interrupts}

1/1

1/1

4

4

4

4

HLT

NOP

Остановка процессора; PC ←PC+ 1 {Halt}

Пустая операция {No-operation}

1/1

1/1

7

4

5

4

SIM

RIM

Установка маски прерываний {Set Interrupt Mask}

Чтение маски прерываний {Read Interrupt Mask}

1/1

1/1

4

4

Примечание: Х из Х/Yпри невыполнении условияcondиYпри невыполнения условияcond;Х изZ/Х/Yпри невыполнении условияcondиYпри невыполнения условияcond;в МП 8085А вместо триггераINTEданные команды управляются флагом (триггером)IE;только для МП 8085А

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]