Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПУ ответы 16-30.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
12.01 Mб
Скачать

21. Система команд мп 8080а: группы команд и их характеристика:

Команды передачи данных.

Команды обработки данных: арифметические и логические команды.

Команды передачи управления: команды безусловного и условного переходов.

Команды передачи управления: команды вызова и возврата.

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

Команды ввода-вывода.

Система команд МП Intel 8080A.

Все множество команд дан­ного МП можно подразделить на следующие 5 групп:

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

  2. Арифметические команды, обеспечивающие выпол­нение операций сложения и вычитания, инкрементирования и декрементирования данных в регистрах или ячейках памяти. Один операнд для бинарных операций хранится в аккумуляторе А, другой - в регистре или ячейке памяти, а результат помещается в аккумулятор. Такие операции, как умножение и деление, выполняются программным путём.

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

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

  5. Команды ввода и вывода информации, обращения к стековой памяти. Кроме того, в эту группу входит ряд команды управления работой МП.

Система команд микропроцессора КР580 приведена в таблице 1, в которой использованы следующие условные обозначения:

r, r1, r2 - регистр В, С, D, E, Н, L, аккумулятор А;

M - ячейка памяти, адресуемая регистровой парой H;

data - 8-разрядные данные;

data 16 - 16-разрядные данные;

addr - 16-разрядный адрес памяти; (...) - содержимое ячей­ки памяти или регистра;

(SP) - содержимое указате­ля стека;

((SP)) - содержимое ячейки стека;

port - 8-разрядный адрес порта ввода или вывода;

гр - регистровая пара В (B, С); D (D, Е); Н (H, L) или указатель стека SP;

rh – старший (первый) регистр пары; rl – младший (второй ) регистр пары;

PSW - слово состояния программы : содержимое аккумулятора (A) и флажкового регистра (F);

CCC - 3-разрядный код условия, ис­пользуемого в командах передачи управления:

Условие

NZ

Z

NC

C

PO

PE

P

M

не ноль

ноль

нет переноса

перенос

нечёт

чёт

плюс

минус

CCC

000

001

010

011

100

101

110

111

n - номер команды повторного старта RST, n=0-7;

Дл. – длина команды, байт;

МЦ – число машинных циклов;

Т - количество тактов.

Таблица 1

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

Мнемоника

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

Дл.

МЦ

Т

Флажки

Z

S

P

C

AC

mov r1, r2

(r1) ← (r2)

1

1

5

-

-

-

-

-

mov r, M

(r) ← ((H)(L))

1

2

7

-

-

-

-

-

mov M, r

((H)(L)) ← (r)

1

2

7

-

-

-

-

-

mvi r, data

(r) (byte 2)

2

2

7

-

-

-

-

-

mvi M, data

((H)(L)) ← (byte 2)

2

3

10

-

-

-

-

-

lxi rp, data 16

(rh) ← (byte 3)

(rl) ← (byte 2)

3

3

10

-

-

-

-

-

sta addr

((byte3)(byte 2)) ← (A)

3

4

13

-

-

-

-

-

lda addr

(A) ← ((byte3)(byte 2))

3

4

13

-

-

-

-

-

lhld addr

(L) ← ((byte3)(byte 2))

(H) ← ((byte3)(byte 2)+1)

3

5

16

-

-

-

-

-

xchg

(H) ↔ (D)

(L) ↔ (E)

1

1

4

-

-

-

-

-

shld addr

((byte3)(byte 2)) ← (L)

((byte3)(byte 2)+1) ← (H)

3

5

16

-

-

-

-

-

ldax rp

(A) ← ((rp))

1

2

7

-

-

-

-

-

stax rp

((rp)) ← (A)

1

2

7

-

-

-

-

-

Арифметические команды

Мнемоника

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

Дл.

МЦ

Т

Флажки

Z

S

P

C

AC

add r

(A) ← (A)+(r)

1

1

4

add M

(A) ← (A)+((H)(L))

1

2

7

adi data

(A) ← (A)+(byte 2)

1

2

7

adc r

(A) ← (A)+(r)+(C)

1

1

4

+

+

+

+

+

adc M

(A) ← (A)+((H)(L)+(C))

1

2

7

+

+

+

+

+

aci data

(A) ← (A)+(byte 2)+(C)

1

2

7

+

+

+

+

+

sub r

A) ← (A)-(r)

1

1

4

+

+

+

+

+

sub M

(A) ← (A)-((H)(L))

1

2

7

+

+

+

+

+

sui data

(A) ← (A)-(byte 2)

1

2

7

+

+

+

+

+

sbb r

(A) ← (A)-(r)-(C)

1

1

4

+

+

+

+

+

sbb M

(A) ← (A)-((H)(L))-(C))

1

2

7

+

+

+

+

+

sbi data

(A) ← (A)-(byte 2)-(C)

1

2

7

+

+

+

+

+

daa

Десятичная коррекция

1

1

4

+

+

+

+

+

inr r

(r) ← (r)+1

1

1

5

+

+

+

-

+

inr M

((H)(L)) ← ((H)(L))+1

1

3

10

+

+

+

-

+

dcr r

(r) ← (r)-1

1

1

5

+

+

+

-

+

dcr M

((H)(L)) ← ((H)(L))-1

1

3

10

+

+

+

-

+

inx rp

(rh)(rl) ← ((rh(rl)+1

1

1

5

-

-

-

-

-

dcx rp

(rh)(rl) ← (rh)(rl)-1

1

1

5

-

-

-

-

-

dad rp

(H)(L) ← (H)(L)+ (rh)(rl)

1

3

10

-

-

-

+

-

Логические команды

Мнемоника

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

Дл.

МЦ

Т

Флажки

Z

S

P

C

AC

ana r

(A) ← (A)Λ(r)

1

1

4

+

+

+

0

+

ana M

(A) ← (A)Λ((H)(L))

1

2

7

+

+

+

0

+

ani data

(A) ← (A)Λ(byte 2)

1

2

7

+

+

+

0

+

ora r

(A) ← (A)V(r)

1

1

4

+

+

+

0

+

ora M

(A) ← (A)V((H)(L))

1

2

7

+

+

+

0

+

ori data

(A) ← (A)V(byte 2)

1

2

7

+

+

+

0

+

xra r

(A) ← (A) (r)

1

1

4

+

+

+

0

+

xra M

(A) ← (A) ((H)(L))

1

2

7

+

+

+

0

+

xri data

(A) ← (A) (byte 2)

1

2

7

+

+

+

0

+

cmp r

(A)-(r)

1

1

4

+

+

+

+

+

cmp M

(A)-((H)(L))

1

2

7

+

+

+

+

+

cpi data

(A)-(byte 2)

2

2

7

+

+

+

+

+

rlc

(An+1) ← (An), (A0) ← (A7),

(C) ← (A7)

1

1

4

-

-

-

+

-

rrc

(An) ← (An+1), (A7) ← (A0),

(C) ← (A0)

1

1

4

-

-

-

+

-

ral

(An+1) ← (An), (C) ← (A7),

(A0) ← (C)

1

1

4

-

-

-

+

-

rar

(An) ← (An+1), (C) ← (A0),

(A7) (C)

1

1

4

-

-

-

+

-

stc

(C) ← (1)

-

-

-

+

-

cmc

(C) ← (#C)

-

-

-

+

-

cma

(A) ← (#A)

-

-

-

-

-

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

Мнемоника

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

Дл.

МЦ

Т

Флажки

Z

S

P

C

AC

jmp addr

(PC) ← (byte 3) (byte 2)

3

3

10

-

-

-

-

-

call addr

((SP)-1) ← (PCH)

((SP)-2) ← (PCL)

(SP) ← (SP)-2

(PC) ← (byte 3)(byte 2)

3

5

17

-

-

-

-

-

ret

(PCL) ← ((SP))

PCH) ← ((SP)+1)

(SP) ← (SP)+2

1

3

10

-

-

-

-

-

j condition addr

Если условие condition истинно, (PC) ← (byte 3) (byte 2),

иначе - следующая команда

3

3

10

-

-

-

-

-

c condition addr

Если условие condition истинно,

((SP)-1) ← (PCH)

((SP)-2) ← (PCL)

(SP) ← (SP)-2

(PC) ← (byte 3)(byte 2),

иначе - следующая команда

3

5/3

17/11

-

-

-

-

-

Мнемоника

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

Дл.

МЦ

Т

Флажки

Z

S

P

C

AC

r condition

(PCL) ← ((SP))

PCH) ← ((SP)+1)

(SP) ← (SP)+2

1

3/1

11/5

-

-

-

-

-

pchl

(PCH) ← (H), (PCL) ← (L)

1

1

5

-

-

-

-

-

RST n

((SP)-1) ← (PCH)

((SP)-2) ← (PCL)

(SP) ← (SP)-2

(PC) ← 8*(NNN)

1

3

11

-

-

-

-

-

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

Мнемоника

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

Дл.

МЦ

Т

Флажки

Z

S

P

C

AC

in port

(A) ← (port)

2

3

10

-

-

-

-

-

out port

(port) ← (A)

2

3

10

-

-

-

-

-

push rp

((SP)-1) ← (rh)

((SP)-2) ← (rl)

(SP) ← (SP)-2

1

3

11

-

-

-

-

-

push PSW

((SP)-1) ← (A)

((SP)-2) ← (F)

(SP) ← (SP)-2

1

3

11

-

-

-

-

-

pop rp

(rl) ← ((SP))

(rh) ← ((SP)+1)

(SP) ← (SP)+2

1

3

10

-

-

-

-

-

pop PSW

(F) ← ((SP)),

(A) ← ((SP)+1)

(SP) ← (SP)+2

1

3

11

+

+

+

+

+

xthl

(L) ↔ ((SP))

(H) ↔ ((SP)+1)

1

5

18

-

-

-

-

-

sphl

(SP) ← (H)(L)

1

1

5

-

-

-

-

-

ei

Разрешение прерывания

1

1

4

-

-

-

-

-

di

Запрещение прерывания

1

1

4

-

-

-

-

-

hlt

Останов

1

1

7

-

-

-

-

-

nop

Бездействие

1

1

4

-

-

-

-

-