Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции МПСУ.doc
Скачиваний:
40
Добавлен:
06.12.2018
Размер:
7.86 Mб
Скачать

5. Группа команд сдвига

Содержание команды

Мнемокод

Код2

КОП

Б

Ц

Т

C

Z

S

P

C'

Операция

64

Сдвиг содержимого аккумулятора влево циклический

RLC

00000111

07

1

1

4

+

-

-

-

-

Am+1←Am;

A0←A7; C←A7

65

Сдвиг содержимого аккумулятора вправо циклический

RRC

00001111

0F

1

1

4

+

-

-

-

-

Am←Am+1;

A7←A0; C←A0

66

Сдвиг содержимого аккумулятора влево арифметический (с переносом)

RAL

00010111

17

1

1

4

+

-

-

-

-

Am+1←Am;

C←A7; A0←C

67

Сдвиг содержимого аккумулятора вправо арифме-тический (с переносом)

RAR

00011111

1F

1

1

4

+

-

-

-

-

Am←Am+1;

A7←C; C←A0

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

Содержание команды

Мнемокод

Код2

КОП

Б

Ц

Т

C

Z

S

P

C'

Операция

68

Безусловный переход на команду, адрес которой указан во 2-м и 3-м байтах команды

JMP ad16

11000011

<b2> <bЗ>

C3

3

3

10

-

-

-

-

-

РС←<b3><b2>

69

Условный переход на команду, адрес которой указан во 2-м и 3-м байтах команды, если флаг переноса не установлен: С=0

JNC ad16

11010010

<b2> <b3>

D2

3

3

10

-

-

-

-

-

Если C=0, то РС←<b3><b2>, иначе РС←РС+3

70

Условный переход на команду, адрес которой указан во 2-м и 3-м байтах команды, если флаг переноса установлен: С=1

JC ad16

11011010

<b2> <b3>

3

3

10

-

-

-

-

-

Если C=1, то РС←<b3><b2>, иначе РС←РС+3

71

Условный переход на команду, адрес которой указан во 2-м и 3-м байтах команды, если флаг нуля не установлен: Z=0

JNZ ad16

11000010

<b2> <b3>

C2

3

3

10

-

-

-

-

-

Если Z=0, то РС←<b3><b2>, иначе РС←РС+3

72

Условный переход на команду, адрес которой указан во 2-м и 3-м байтах команды, если флаг нуля установлен: Z=1

JZ ad16

11001010

<b2> <b3>

3

3

10

-

-

-

-

-

Если Z=1, то РС←<b3><b2>, иначе РС←РС+3

73

Условный переход на команду, адрес которой указан во 2-м и 3-м байтах команды, если флаг знака указывает на положительное число: S=0

JP ad16

11110010

<b2> <b3>

F2

3

3

10

-

-

-

-

-

Если S=0, то РС←<b3><b2>, иначе РС←РС+3

74

Условный переход на команду, адрес которой указан во 2-м и 3-м байтах команды, если флаг знака указывает на отрицательное число: S=1

JM ad16

11111010

<b2> <b3>

FA

3

3

10

-

-

-

-

-

Если S=1, то РС←<b3><b2>, иначе РС←РС+3

75

Условный переход на команду, адрес которой указан во 2-м и 3-м байтах команды, если результат содержит нечетное число единиц: Р=0

JPO ad16

11100010

<b2> <b3>

Е2

3

3

10

-

-

-

-

-

Если P=0, то РС←<b3><b2>, иначе РС←РС+3

76

Условный переход на команду, адрес которой указан во 2-м и 3-м байтах команды, если результат содержит четное число единиц: Р=1

JPE ad16

11101010

<b2> <b3>

ЕА

3

3

10

-

-

-

-

-

Если P=1, то РС←<b3><b2>, иначе РС←РС+3

77

Безусловный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды

CALL ad16

11001101

<b2> <b3>

CD

3

5

17

-

-

-

-

-

(SP-1)(SP-2)← (PC); SP←(SP-2); PC←<b3><b2>

78

Условный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды, если флаг переноса не установлен: С=0

CNC ad16

11010100

<b2> <b3>

B4

3

3

5

11

17

-

-

-

-

-

Если C=0, то (SP-1)(SP-2)← (PC); SP←(SP-2); PC←<b3> <b2>, иначе РС←РС+3

79

Условный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды, если флаг переноса установлен: С=1

CC ad16

11011100

<b2> <b3>

3

3

5

11

17

-

-

-

-

-

Если C=1, то (SP-1)(SP-2)← (PC); SP←SP-2; PC←<b3><b2>, иначе РС←РС+3

80

Условный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды, если флаг нуля не установлен: Z=0

CNZ ad16

11000100

<b2> <b3>

С4

3

3

5

11

17

-

-

-

-

-

Если Z=0, то (SP-1)(SP-2)← (PC); SP←SP-2; PC←<b3><b2>, иначе РС←РС+3

81

Условный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды, если флаг нуля установлен: Z=1

CZ ad16

11001100

<b2> <b3>

СС

3

3

5

11

17

-

-

-

-

-

Если Z=1, то (SP-1)(SP-2)← (PC); SP←SP-2; PC←<b3><b2>, иначе РС←РС+3

82

Условный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды, если флаг знака указывает на положительное число: S=0

CP ad16

11110100

<b2><b3>

F4

3

3

5

11

17

-

-

-

-

-

Если S =0, то (SP-1)(SP-2)← (PC); SP←SP-2; PC←<b3><b2>, иначе РС←РС+3

83

Условный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды, если флаг знака указывает на отрицательное число: S=1

CM ad16

11111100

<b2><b3>

FC

3

3

5

11

17

-

-

-

-

-

Если S =1, то (SP-1)(SP-2)← (PC); SP←SP-2; PC←<b3><b2>, иначе РС←РС+3

84

Условный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды, если результат содержит нечетное число единиц: Р=0

CPO ad16

11100100

<b2> <b3>

Е4

3

3

5

11

17

-

-

-

-

-

Если P=0, то (SP-1)(SP-2)← (PC); SP←SP-2; PC←<b3><b2>, иначе РС←РС+3

85

Условный переход к подпрограмме, стартовый адрес которой указан во 2-м и 3-м байтах команды, если результат содержит четное число единиц: Р=1

CPE ad16

11101100

<b2> <b3>

ЕС

3

3

5

11

17

-

-

-

-

-

Если P=1, то (SP-1)(SP-2)← (PC); SP←SP-2; PC←<b3><b2>, иначе РС←РС+3

86

Безусловный возврат из подпрограммы по адресу, указанному в стеке SP

RET

11001001

С9

1

3

11

-

-

-

-

-

PC←(SP+1)(SP); SP←SP+2

87

Условный возврат из подпрограммы по адресу, указанному в стеке SP, если флаг переноса не установлен: С=0

RNC

11010000

D0

1

1

3

11

17

-

-

-

-

-

Если C =0, то PC←(SP+1)(SP); SP←SP+2, иначе РС←РС+3

88

Условный возврат из подпрограммы по адресу, указанному в стеке SP, если флаг переноса установлен: С=1

RC

11011000

D8

1

1

3

11

17

-

-

-

-

-

Если C=1, то PC←(SP+1)(SP); SP←SP+2, иначе РС←РС+3

89

Условный возврат из подпрограммы по адресу, указанному в стеке SP, если флаг нуля не установлен: Z=0

RNZ

11000000

С0

1

1

3

11

17

-

-

-

-

-

Если Z=0, то PC←(SP+1)(SP); SP←SP+2, иначе РС←РС+3

90

Условный возврат из подпрограммы по адресу, указанному в стеке SP, если флаг нуля установлен: Z=1

RZ

11001000

C8

1

1

3

11

17

-

-

-

-

-

Если Z =1, то PC←(SP+1)(SP); SP←SP+2, иначе РС←РС+3

91

Условный возврат из подпрограммы по адресу, указанному в стеке SP, если флаг знака указывает на положительное число: S=0

RP

11110000

F0

1

1

3

11

17

-

-

-

-

-

Если S =0, то PC←(SP+1)(SP); SP←SP+2, иначе РС←РС+3

92

Условный возврат из подпрограммы по адресу, указанному в стеке SP, если флаг знака указывает на отрицательное число: S=1

RM

11111000

F8

1

1

3

11

17

-

-

-

-

-

Если S=1, то PC←(SP+1)(SP); SP←SP+2, иначе РС←РС+3

93

Условный возврат из подпрограммы по адресу, указанному в стеке SP, если результат содержит нечетное число единиц: Р=0

RPO

11100000

E0

1

1

3

11

17

-

-

-

-

-

Если P=0, то PC←(SP+1)(SP); SP←SP+2, иначе РС←РС+3

94

Условный возврат из подпрограммы по адресу, указанному в стеке SP, если результат содержит четное число единиц: Р=1

RPE

11101000

E8

1

1

3

11

17

-

-

-

-

-

Если P=1, то PC←(SP+1)(SP); SP←SP+2, иначе РС←РС+3

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