Мы поможем в написании ваших работ!
ЗНАЕТЕ ЛИ ВЫ?
|
Система команд микропроцессора
(БИС КР580ВМ80)
Код.
| Мнемоника.
| Код.
| Мнемоника
| Код
| Мнемоника
| 1
| 2
| 3
| 4
| 5
| 6
| 00
| NOP
| 60
| MOV H, B
| C0
| RNZ
| 01
| LXI B, D16
| 61
| MOV H, C
| C1
| POPB
| 02
| STAX B
| 62
| MOV H, D
| C2
| JNZ Adr
| 03
| INX B
| 63
| MOV H, E
| C3
| JMP Adr
| 04
| INR B
| 64
| MOV H, H
| C4
| CNZ Adr
| 05
| DCR B
| 65
| MOV H, L
| C5
| PYSH B
| 06
| MVI B, D8
| 66
| MOV H, M
| C6
| ADI, D8
| 07
| RLC
| 67
| MOV H, A
| C7
| RST 0
| 08
| ¾
| 68
| MOV L, B
| C8
| RZ
| 09
| DAD B
| 69
| MOV L, C
| C9
| RET
| 0A
| LDAX B
| 6A
| MOV L, D
| CA
| JZ Adr
| 0B
| DCX B
| 6B
| MOV L, E
| CB
| ¾
| 0C
| INR C
| 6C
| MOV L, H
| CC
| CZ Adr
| 0D
| DCR C
| 6D
| MOV L, L
| CD
| CALL Adr
| 0E
| MVI C, D8
| 6E
| MOV L, M
| CE
| ACI D8
| 0F
| RRC
| 6F
| MOV L, A
| CF
| RST 1
| 10
| ¾
| 70
| MOV M, B
| D0
| RNC
| 11
| LXI D, D16
| 71
| MOV M, C
| D1
| POP D
| 12
| STAX D
| 72
| MOV M, D
| D2
| JNC Adr
| Код.
| Мнемоника.
| Код.
| Мнемоника
| Код
| Мнемоника
| 1
| 2
| 3
| 4
| 5
| 6
| 13
| INX D
| 73
| MOV M, E
| D3
| OUT D8
| 14
| INR D
| 74
| MOV M, H
| D4
| CNC Adr
| 15
| DCR D
| 75
| MOV M, L
| D5
| PUSH D
| 16
| MVI D, D8
| 76
| HLT
| D6
| SUI D8
| 17
| RAL
| 77
| MOV M, A
| D7
| RST 2
| 18
| ¾
| 78
| MOV A, B
| D8
| RC
| 19
| DAD D
| 79
| MOV A, C
| D9
| ¾
| 1A
| LDAX D
| 7A
| MOV A, D
| DA
| JS Adr
| 1B
| DCX D
| 7B
| MOV A, E
| DB
| IN, D8
| 1C
| INR E
| 7C
| MOV A, H
| DC
| CC Adr
| 1D
| DCR E
| 7D
| MOV A, L
| DD
| ¾
| 1E
| MVI E
| 7E
| MOV A, M
| DE
| SBI, D8
| 1F
| RAR
| 7F
| MOV A, A
| DF
| RST 3
| 20
| ¾
| 80
| ADD B
| E0
| PRO
| 21
| LXI H, D16
| 81
| ADD C
| E1
| POP H
| 22
| SHLD Adr
| 82
| ADD D
| E2
| JPO Adr
| 23
| INX H
| 83
| ADD, E
| E3
| XTHL
| 24
| INR H
| 84
| ADD H
| E4
| CPO Adr
| 25
| DCR H
| 85
| ADD L
| E5
| PUSH H
| 26
| MVI H, D8
| 86
| ADD M
| E6
| ANI, D8
| 27
| DDA
| 87
| ADD A
| E7
| RST 4
| 28
| ¾
| 88
| ADC B
| E8
| RPE
| 29
| DAD H
| 89
| ADC C
| E9
| PCHL
| 2A
| LHLD Adr
| 8A
| ADC D
| EA
| JPE Adr
| 2B
| DCX H
| 8B
| ADC E
| EB
| XCHG
| 2C
| INR L
| 8C
| ADC H
| EC
| CPE Adr
| 2D
| DCR L
| 8D
| ADC L
| ED
| ¾
| 2E
| MVI L, D8
| 8E
| ADC M
| EE
| XRI, D8
| 2F
| CMA
| 8F
| ADC A
| EF
| RST 5
| 30
| ¾
| 90
| SUB B
| F0
| RP
| 31
| LXI SP, D16
| 91
| SUB C
| F1
| POP PSW
| 32
| STA Adr
| 92
| SUB D
| F2
| JP Adr
| 33
| INX SP
| 93
| SUB E
| F3
| DI
| 34
| INR M
| 94
| SUB H
| F4
| CP Adr
| 35
| DCR M
| 95
| SUB L
| F5
| PUSH PSW
| 36
| MVI M, D8
| 96
| SUB M
| F6
| ORI, D8
| Код.
| Мнемоника.
| Код.
| Мнемоника
| Код
| Мнемоника
| 1
| 2
| 3
| 4
| 5
| 6
| 37
| STC
| 97
| SUB A
| F7
| RST 6
| 38
| ¾
| 98
| SBB B
| F8
| RM
| 39
| DAD, SP
| 99
| SBB C
| F9
| SPHL
| 3A
| LDA Adr
| 9A
| SBB D
| FA
| JM Adr
| 3B
| DCX SP
| 9B
| SBB E
| FB
| EI
| 3C
| INR A
| 9C
| SBB H
| FC
| CM Adr
| 3D
| DCR A
| 9D
| SBB L
| FD
| ¾
| 3E
| MVI A, D8
| 9E
| SBB M
| FE
| CPI, D8
| 3F
| CMC
| 9F
| SBB A
| FF
| RST 7
| 40
| MOV B, B
| A0
| ANA B
|
|
| 41
| MOV B, C
| A1
| ANA C
|
|
| 42
| MOV B, D
| A2
| ANA D
|
|
| 43
| MOV B, E
| A3
| ANA E
|
|
| 44
| MOV B, H
| A4
| ANA H
|
|
| 45
| MOV B, L
| A5
| ANA L
|
|
| 46
| MOV B, M
| A6
| ANA M
|
|
| 47
| MOV B, A
| A7
| ANA A
|
|
| 48
| MOV C, B
| A8
| XRA B
|
|
| 49
| MOV C, C
| A9
| XRA C
|
|
| 4A
| MOV C, D
| AA
| XRA D
|
|
| 4B
| MOV C, E
| AB
| XRA E
|
|
| 4C
| MOV C, H
| AC
| XRA H
|
|
| 4D
| MOV C, L
| AD
| XRA L
|
|
| 4E
| MOV C, M
| AE
| XRA M
|
|
| 4F
| MOV C, A
| AF
| XRA A
|
|
| 50
| MOV D, B
| B0
| ORA B
|
|
| 51
| MOV D, C
| B1
| ORA C
|
|
| 52
| MOV D, D
| B2
| ORA D
|
|
| 53
| MOV D, E
| B3
| ORA E
|
|
| 54
| MOV D, H
| B4
| ORA H
|
|
| 55
| MOV D, L
| B5
| ORA L
|
|
| 56
| MOV D, M
| B6
| ORA M
|
|
| 57
| MOV D, A
| B7
| ORA A
|
|
| 58
| MOV E, B
| B8
| CMP B
|
|
| 59
| MOV E, C
| B9
| CMP C
|
|
| 5A
| MOV E, D
| BA
| CMP D
|
|
| Код.
| Мнемоника.
| Код.
| Мнемоника
| Код
| Мнемоника
| 1
| 2
| 3
| 4
| 5
| 6
| 5B
| MOV E, E
| BB
| CMP E
|
|
| 5C
| MOV E, H
| BC
| CMP H
|
|
| 5D
| MOV E, L
| BD
| CMP L
|
|
| 5E
| MOV E, M
| BE
| CMP M
|
|
| 5F
| MOV E, A
| BF
| CMP A
|
|
|
Обозначения: D8 – однобайтная константа; D16 – двухбайтная кон- станта; Adr – двухбайтный адрес.
ПРИЛОЖЕНИЕ В
(справочное)
Структура команд микропроцессора ( БИС КР580ВМ80)
Мнемоника
|
Описание команды
|
Код команды
D7 D6 D5 D4 D3 D2 D1 D0
| Длина ко- манды,
байт.
| Число тактов
|
Флаги условий S Z AC P CY
| 1
| 2
| 3
| 4
| 5
| 6
| MOV R1, R2
| Передача из регистра R2 в ре-
гистр R1
| 01DDDSSS
| 1
| 5
| -
| -
| -
| -
| -
| MOV M, R
| Передача из регистра в память
| 01110SSS
| 1
| 7
| -
| -
| -
| -
| -
| MOV R, M
| Передача из памяти в регистр
| 01DDD110
| 1
| 7
| -
| -
| -
| -
| -
| MVI R
| Передача байта в регистр
| 00DDD110
| 2
| 7
| -
| -
| -
| -
| -
| MVI M
| Передача байта в память
| 00110110
| 2
| 10
| -
| -
| -
| -
| -
| LXI RP
| Загрузка парных регистров B-
C, D-E, H-L, SP.
| 00RR0001
| 3
| 10
| -
| -
| -
| -
| -
| LDAX RP
| Загрузка аккумулятора по ад- ресу указанному парой реги-
стров B-C или D-E.
| 00RR1010
| 1
| 7
| -
| -
| -
| -
| -
| STAX RP
| Занесение содержимого акку- мулятора по адресу, указан- ному парой регистров B-C или
D-E.
| 00RR0010
| 1
| 7
| -
| -
| -
| -
| -
|
Мнемоника
|
Описание команды
|
Код команды
D7 D6 D5 D4 D3 D2 D1 D0
| Длина ко- манды,
байт.
| Число тактов
|
Флаги условий S Z AC P CY
| 1
| 2
| 3
| 4
| 5
| 6
| LDA
| Загрузка аккумулятора по ад-
ресу указанному в команде
| 00111010
| 3
| 13
| -
| -
| -
| -
| -
| STA
| Занесение содержимого акку-
мулятора по адресу, указан- ному в команде
| 00110010
| 3
| 13
| -
| -
| -
| -
| -
| LHLD
| Загрузка регистров L, H из двух
соседних ячеек, начиная с ад- реса, указанного в команде.
| 00101010
| 3
| 16
| -
| -
| -
| -
| -
| SHLD
| Занесение содержимого реги- стров L, H в две соседние ячейки, начиная с адреса, ука-
занного в команде.
| 00100010
| 3
| 16
| -
| -
| -
| -
| -
| XCHG
| Обмен данными между парами
регистров H-L, D-E
| 11101011
| 1
| 4
| -
| -
| -
| -
| -
| XTHL
| Обмен данными между SP и H-
L
| 11100011
| 1
| 18
| -
| -
| -
| -
| -
| SPHL
| Занесение содержимого реги-
стра H-L в SP
| 11111001
| 1
| 5
| -
| -
| -
| -
| -
| PUSH RP
| Ввод содержимого регистров
В-С, D-E, или H-L в стек.
| 11RR0101
| 1
| 11
| -
| -
| -
| -
| -
|
Мнемоника
|
Описание команды
|
Код команды
D7 D6 D5 D4 D3 D2 D1 D0
| Длина ко- манды,
байт.
| Число тактов
|
Флаги условий S Z AC P CY
| 1
| 2
| 3
| 4
| 5
| 6
| PUSH PSW
| Ввод PSW в стек.
| 11110101
| 1
| 11
| -
| -
| -
| -
| -
| POP RP
| Выдача данных из стека в реги-
стры В-С, D-E, H-L
| 11RR0001
| 1
| 10
| -
| -
| -
| -
| -
| POP PSW
| Выдача данных из стека в акку-
мулятор и регистр признаков.
| 11110001
| 1
| 10
| +
| +
| +
| +
| +
| ADD R
| Сложение содержимого реги-
стра и аккумулятора.
| 10000SSS
| 1
| 4
| +
| +
| +
| +
| +
| ADC R
| Тоже, но с учетом переноса СУ.
| 10000SSS
| 1
| 4
| +
| +
| +
| +
| +
| ADD M
| Сложение содержимого ячейки
памяти и аккумулятора.
| 10000110
| 1
| 7
| +
| +
| +
| +
| +
| ADC M
| Тоже, но с учетом переноса СУ.
| 10001110
| 1
| 7
| +
| +
| +
| +
| +
| ADI
| Сложение байта с содержимым
аккумулятора
| 11000110
| 2
| 7
| +
| +
| +
| +
| +
| ACI
| Сложение байта с содержимым
аккумулятора с учетом СУ.
| 11001110
| 2
| 7
| +
| +
| +
| +
| +
| DAD RP
| Сложение содержимого пар ре- гистров B-C, D-E, H-L, SP с со-
держимым пары H-L.
| 00RR1010
| 1
| 10
| -
| -
| -
| -
| -
| SUB R
| Вычитание содержимого реги-
| 10010SSS
| 1
| 4
| +
| +
| +
| +
| +
|
Мнемоника
|
Описание команды
|
Код команды
D7 D6 D5 D4 D3 D2 D1 D0
| Длина ко- манды,
байт.
| Число тактов
|
Флаги условий S Z AC P CY
| 1
| 2
| 3
| 4
| 5
| 6
|
| стра из содержимого аккумуля-
тора
|
|
|
|
| SBB R
| То же, но с заемом.
| 10011SSS
| 1
| 4
| +
| +
| +
| +
| +
| SUB M
| Вычитание содержимого ячейки памяти из содержимого
аккумулятора.
| 10010110
| 1
| 7
| +
| +
| +
| +
| +
| SBB M
| То же, но с заемом.
| 10011110
| 1
| 7
| +
| +
| +
| +
| +
| SUI
| Вычитание байта из содержи-
мого аккумулятора.
| 11010110
| 2
| 7
| +
| +
| +
| +
| +
| SBI
| То же, но с учетом заема.
| 11011110
| 2
| 7
| +
| +
| +
| +
| +
| INR R
| Увеличение содержимого реги-
стра на 1
| 00DDD100
| 1
| 5
| +
| +
| +
| +
| -
| INR M
| Увеличение содержимого
ячейки памяти на 1
| 00110100
| 1
| 10
| +
| +
| +
| +
| -
| DCR R
| Уменьшение содержимого ре-
гистра на 1
| 00DDD101
| 1
| 5
| +
| +
| +
| +
| -
| DCR M
| Уменьшение содержимого
ячейки памяти на 1
| 00110101
| 1
| 10
| +
| +
| +
| +
| -
| INX RP
| Увеличение содержимого пар-
ных регистров B-C, D-E, H-L,
| 00RR0011
| 1
| 5
| -
| -
| -
| -
| -
|
Мнемоника
|
Описание команды
|
Код команды
D7 D6 D5 D4 D3 D2 D1 D0
| Длина ко- манды,
байт.
| Число тактов
|
Флаги условий S Z AC P CY
| 1
| 2
| 3
| 4
| 5
| 6
|
| SP на 1
|
|
|
|
| DCX RP
| Уменьшение содержимого пар- ных регистров B-C, D-E, H-L,
SP на 1
| 00RR1011
| 1
| 5
| -
| -
| -
| -
| -
| ANA R
| Поразрядное логическое умно-
жение содержимого регистра и аккумулятора
| 10100SSS
| 1
| 4
| +
| +
| 0
| +
| 0
| ANA M
| Поразрядное логическое умно-
жение содержимого ячейки па- мяти и аккумулятора
| 10100110
| 1
| 7
| +
| +
| 0
| +
| 0
| ANI
| Поразрядное логическое умно-
жение содержимого аккумуля- тора и байта.
| 11100110
| 2
| 7
| +
| +
| 0
| +
| 0
| XRA R
| Поразрядное исключающее
ИЛИ над содержимым регистра или аккумулятора
| 10101SSS
| 1
| 4
| +
| +
| 0
| +
| 0
| XRA M
| Поразрядное исключающее
ИЛИ над содержимым ячейки памяти или аккумулятора
| 10101110
| 1
| 7
| +
| +
| 0
| +
| 0
| XRI
| Поразрядное исключающее
| 11101110
| 2
| 7
| +
| +
| 0
| +
| 0
|
Мнемоника
|
Описание команды
|
Код команды
D7 D6 D5 D4 D3 D2 D1 D0
| Длина ко- манды,
байт.
| Число тактов
|
Флаги условий S Z AC P CY
| 1
| 2
| 3
| 4
| 5
| 6
|
| ИЛИ над содержимым аккуму-
лятора и байта.
|
|
|
|
| ORA R
| Поразрядное логическое сложе-
ние содержимого регистра и ак- кумулятора
| 10110SSS
| 1
| 4
| +
| +
| 0
| +
| 0
| ORA M
| Поразрядное логическое сложе-
ние содержимого ячейки па- мяти и аккумулятора
| 10110110
| 1
| 7
| +
| +
| 0
| +
| 0
| ORI
| Поразрядное логическое сложе- ние содержимого аккумулятора
и байта.
| 11110110
| 2
| 7
| +
| +
| 0
| +
| 0
| CMP R
| Сравнение содержимого реги-
стра и аккумулятора
| 10111SSS
| 1
| 4
| +
| +
| +
| +
| +
| CMP M
| Сравнение содержимого ячейки
памяти и аккумулятора
| 10111110
| 1
| 7
| +
| +
| +
| +
| +
| CPI
| Сравнение байта с содержимым аккумулятора.
| 11111110
| 2
| 7
| +
| +
| +
| +
| +
| RLC
| Циклический сдвиг содержи-
мого аккумулятора влево.
| 00000111
| 1
| 4
| -
| -
| -
| -
| +
|
Мнемоника
|
Описание команды
|
Код команды
D7 D6 D5 D4 D3 D2 D1 D0
| Длина ко- манды,
байт.
| Число тактов
|
Флаги условий S Z AC P CY
| 1
| 2
| 3
| 4
| 5
| 6
| RRC
| То же, но вправо.
| 00001111
| 1
| 4
| -
| -
| -
| -
| +
| RAL
| Циклический сдвиг содержи- мого аккумулятора влево через
перенос.
| 00010111
| 1
| 4
| -
| -
| -
| -
| +
| RAR
| То же, но вправо.
| 00011111
| 1
| 4
| -
| -
| -
| -
| +
| CMA
| Инвертирование аккумулятора
| 00101111
| 1
| 4
| -
| -
| -
| -
| -
| STC
| Установка флага переноса СУ в
единицу.
| 00110111
| 1
| 4
| -
| -
| -
| -
| 1
| CMC
| Инвертирование флага пере-
носа
| 00111111
| 1
| 4
| -
| -
| -
| -
| C
| DAA
| Двоично-десятичная коррекция
содержимого аккумулятора.
| 00100111
| 1
| 4
| +
| +
| +
| +
| +
| JMP
| Безусловный переход.
| 11000011
| 3
| 10
| -
| -
| -
| -
| -
| JC
| Переход при наличии переноса.
| 11011010
| 3
| 10
| -
| -
| -
| -
| -
| JNC
| Переход при отсутствии пере-
носа.
| 11010010
| 3
| 10
| -
| -
| -
| -
| -
| JZ
| Переход при 0.
| 11001010
| 3
| 10
| -
| -
| -
| -
| -
| JNZ
| ”
| ” отсутствии нуля
| 11000010
| 3
| 10
| -
| -
| -
| -
| -
| JP
| ” ” плюсе
| 11110010
| 3
| 10
| -
| -
| -
| -
| -
| JM
| ” ” минусе
| 11111010
| 3
| 10
| -
| -
| -
| -
| -
| | | | | | | | | | | |
Мнемоника
|
Описание команды
|
Код команды
D7 D6 D5 D4 D3 D2 D1 D0
| Длина ко- манды,
байт.
| Число тактов
|
Флаги условий S Z AC P CY
| 1
| 2
| 3
| 4
| 5
| 6
| JPE
|
| ”
| ” четности
| 11101010
| 3
| 10
| -
| -
| -
| -
| -
| JPO
| ”
|
| ” нечетности
| 11100010
| 3
| 10
| -
| -
| -
| -
| -
| PCHL
| Занесение в счетчик команд со-
держимого регистра H-L.
| 11101001
| 1
| 5
| -
| -
| -
| -
| -
| CALL
| Вызов подпрограммы.
| 11001101
| 3
| 17
| -
| -
| -
| -
| -
| CC
| То же, но при переносе.
| 11011100
| 3
| 11/17
| -
| -
| -
| -
| -
| CNC
| То же, но при отсутствии пере- носа.
| 11001100
| 3
| 11/17
| -
| -
| -
| -
| -
| CZ
| Вызов подпрограммы при 0.
| 11001100
| 3
| 11/17
| -
| -
| -
| -
| -
| CNZ
| То же, но при отсутствии 0.
| 11000100
| 3
| 11/17
| -
| -
| -
| -
| -
| CP
| Вызов подпрограммы при
плюсе.
| 11110100
| 3
| 11/17
| -
| -
| -
| -
| -
| CM
| То же, но при минусе.
| 11111100
| 3
| 11/17
| -
| -
| -
| -
| -
| CPE
| Вызов подпрограммы при чет-
ности
| 11101100
| 3
| 11/17
| -
| -
| -
| -
| -
| CPO
| То же, но при нечетности.
| 11100100
| 3
| 11/17
| -
| -
| -
| -
| -
| RET
| Возврат
| 11001001
| 1
| 10
| -
| -
| -
| -
| -
| RC
| ” ” при переносе
| 11011000
| 1
| 5/11
| -
| -
| -
| -
| -
|
Мнемоника
|
Описание команды
|
Код команды
D7 D6 D5 D4 D3 D2 D1 D0
| Длина ко- манды,
байт.
| Число тактов
|
Флаги условий S Z AC P CY
| 1
| 2
| 3
| 4
| 5
| 6
| RNC
| ” ” при отсутствии переноса
| 11010000
| 1
| 5/11
| -
| -
| -
| -
| -
| RZ
| ” ” при нуле
| 11001000
| 1
| 5/11
| -
| -
| -
| -
| -
| RNZ
| ” ” при отсутствии нуля
| 11000000
| 1
| 5/11
| -
| -
| -
| -
| -
| RP
| ” ” при плюсе
| 11110000
| 1
| 5/11
| -
| -
| -
| -
| -
| RM
| ” ” при минусе
| 11111000
| 1
| 5/11
| -
| -
| -
| -
| -
| RPE
| ” ” при четности
| 11101000
| 1
| 5/11
| -
| -
| -
| -
| -
| RPO
| ” ” при нечетности
| 11100000
| 1
| 5/11
| -
| -
| -
| -
| -
| RST
| Повторный запуск
| 11NNN111
| 1
| 11
| -
| -
| -
| -
| -
| IN
| Ввод
| 11011011
| 2
| 10
| -
| -
| -
| -
| -
| OUT
| Вывод
| 11010011
| 2
| 10
| -
| -
| -
| -
| -
| EI
| Разрешить прерывание
| 11111011
| 1
| 4
| -
| -
| -
| -
| -
| DI
| Запретить прерывание
| 11110011
| 1
| 4
| -
| -
| -
| -
| -
| NOP
| Отсутствие операции
| 00000000
| 1
| 4
| -
| -
| -
| -
| -
| HLT
| Останов
| 01110110
| 1
| 7
| -
| -
| -
| -
| -
|
Примечание: 1. DDD, SSS - 3-х разрядные поля в формате команды, адресующие один из регистров общего назначения или в качестве места назначения (D), или в качестве источника операнда (S); 2. RR – 2-разрядное поля в формате команды адресующее один из парных регистров; 3. PSW – слово-состояние программы, первый байт которого равен содержимому А, второй содержимому RS; 4. NNN – двоичное представление номера команды RST; 5. + - установка или сброс флага
условия; 6. - - отсутствие влияния на флаг; 7. В знаменателе дроби указано число тактов при выполнении рассматривае- мого в команде условия, в числителе – при невыполнении.
|