Мы поможем в написании ваших работ!
ЗНАЕТЕ ЛИ ВЫ?
|
Система команд микропроцессора
(БИС КР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. В знаменателе дроби указано число тактов при выполнении рассматривае- мого в команде условия, в числителе – при невыполнении.
|