КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
ПРИЛОЖЕНИЯ. Система команд микропроцессора КР580ВМ80А Мнемокод Содержание команды Назначение команды Двоичный код Число Признаки
ПРИЛОЖЕНИЕ А
Таблица П.А
Система команд микропроцессора КР580ВМ80А
Мнемокод
| Содержание
команды
| Назначение
команды
| Двоичный код
| Число
| Признаки
| байтов
| циклов
| тактов
| MOV d,S
| (d)(S)
| Пересылка между регистрами
| 01DDDSSS
|
|
|
|
| MOV M,S
| M(HL)(S)
| Пересылка между регистром и байтом памяти
| 01110SSS
|
|
|
|
| MOV d,M
| (d)M(HL)
| 01DDD110
|
|
|
|
| HLT
|
| Останов
|
|
|
|
|
| MVI d,data8
| (d)data8
| Переслать непосредственные данные в регистр
| 00DDD110
|
|
|
|
| MVI M,data8
| M(HL)data8
| Переслать непосредственные данные в байт памяти
|
|
|
|
|
| INR d
| (d)(d)+1
| Инкремент содержимого регистра
| 00DDD100
|
|
|
| Z,S,P,AC
| DCR d
| (d)(d)–1
| Декремент содержимого регистра
| 00DDD101
|
|
|
| Z,S,P,AC
| INR M
| M(HL)
M(HL)+1
| Инкремент содержимого байта памяти
|
|
|
|
| Z,S,P,AC
| DCR М
| M(HL)
M(HL)–1
| Декремент содержимого байта памяти
|
|
|
|
| Z,S,P,AC
| ADD S
| (A)(A)+(S)
| Сложение содержимого аккумулятора и регистра
| 10000SSS
|
|
|
| Z,S,P,
C,AC
| ADC S
| (A)
(A)+(S)+C
| 10001SSS
|
|
|
| Z,S,P,C,AC
| SUB S
| (A)(A)–(S)
| Вычитание из содержимого
аккумулятора содержимого регистра
| 10010SSS
|
|
|
| Z,S,P,C,AC
| SBB S
| (A)
(A)–(S)–C
| 10011SSS
|
|
|
| Z,S,P,C,AC
|
Продолжение табл. П.А
Мнемокод
| Содержание
команды
| Назначение
команды
| Двоичный код
| Число
| Признаки
| байтов
| циклов
| тактов
| ANA S
| (A)
(A)AND(S)
| Логическое «И» содержимого аккумулятора и содержимого регистра
| 10100SSS
|
|
|
| Z,S,P
| XRA S
| (A)
(A)XOR(S)
| Логическое «исключающее ИЛИ» содержимого аккумулятора и содержимого регистра
| 10101SSS
|
|
|
| Z,S,P
| ORA S
| (A)
(A)OR(S)
| Логическое «ИЛИ» содержимого аккумулятора и содержимого регистра
| 10110SSS
|
|
|
| Z,S,P
| CMP S
| If (A) >(S) then Z=0,C=0
If (A)=(S) then Z=1,С=0
If(A)<(S) then Z=0,C=1
| Сравнить содержимое регистра с содержимым аккумулятора
| 10111SSS
|
|
|
| Z,S,P,C,AC
| ADD M
| (A)
(A)+ M(HL)
| Сложение содержимого аккумулятора и байта памяти
|
|
|
|
| Z,S,P,C,AC
| ADC M
| (A)(A)+ M(HL)+C
|
|
|
|
| Z,S,P,C,AC
| SUB M
| (A)(A)– M(HL)
| Вычитание из содержимого аккумулятора содержимого байта памяти
|
|
|
|
| Z,S,P,C,AC
| SBB M
| (A)(A)– M(HL)–C
|
|
|
|
| Z,S,P,C,AC
| ANA M
| (A)
(A)AND M(HL)
| Логическое «И» содержимого аккумулятора и содержимого ячейки памяти
|
|
|
|
| Z,S,P
|
Продолжение табл. П.А
Мнемокод
| Содержание
команды
| Назначение
команды
| Двоичный код
| Число
| Признаки
| | байтов
| циклов
| тактов
| | XRA M
| (A)
(A)XOR M(HL)
| Логическое «исключающее ИЛИ» содержимого аккумулятора и содержимого ячейки памяти
|
|
|
|
| Z,S,P
| | ORA M
| (A)
(A)OR M(HL)
| Логическое «ИЛИ» содержимого аккумулятора и содержимого ячейки памяти
|
|
|
|
| Z,S,P
| | CMP M
| If (A)>M(HL) then Z=0,С=0
If (A)=M(HL) then Z=1,С=0
If (A)<M(HL) then Z=0,C=1
| Сравнить содержимое байта памяти с содержимым аккумулятора
|
|
|
|
| Z,S,P,C,AC
| | ADI data8
| (A)(A)+data8
| Сложить содержимое аккумулятор с непосредственными данными
|
|
|
|
| Z,S,P,C,AC
| | ACI data8
| (A)(A)+data8+C
|
|
|
|
| Z,S,P,C,AC
| | SUI data8
| (A)(A)–data8
| Вычесть из содержимого аккумулятора непосредственные данные
|
|
|
|
| Z,S,P,C,AC
| | SBI data8
| (A)(A)–data8–C
|
|
|
|
| Z,S,P
| | ANI data8
| (A)(A)AND data8
| Логическое «И» содержимого аккумулятора и непосредственных данных
|
|
|
|
| Z,S,P
| | XRI data8
| (A)(A)XOR
data8
| Логическое «исключающее ИЛИ» содержимого аккумулятора и непосредственных данных
|
|
|
|
| Z,S,P
| |
|
|
|
| Продолжение табл. П.А
| | Мнемокод
| Содержание
команды
| Назначение
команды
| Двоичный код
| Число
| Признаки
| | байтов
| циклов
| тактов
| | ORI data8
| (A)(A)OR
data8
| Логическое «ИЛИ» содержимого аккумулятора и непосредственных данных
|
|
|
|
| Z,S,P
| | CPI data8
| If (A)>data8 then Z=0,С=0
If (A)=data8 then Z=1,С=0
If (A)< data8 then Z=0,С=1
| Сравнить непосредственные данные с содержимым аккумулятора
|
|
|
|
|
| | RLC
|
| Сдвинуть содержимое аккумулятора влево
|
|
|
|
| С
| | RRС
|
| Сдвинуть содержимое аккумулятора вправо
|
|
|
|
| С
| | RAL
|
| Сдвинуть содержимое аккумулятора влево с переносом
|
|
|
|
| С
| | RAR
|
| Сдвинуть содержимое аккумулятора вправо с переносом
|
|
|
|
| С
| | JMP addr
| (PC)(addr)
| Безусловный переход
|
|
|
|
|
| | JC addr
| JMP if C=1
| Переход при выполнении условия
|
|
|
|
|
| | JNC addr
| JMP if C=0
|
|
|
|
|
| | JZ addr
| JMP if Z=1
|
|
|
|
|
| | JNZ addr
| JMP if Z=0
|
|
|
|
|
| | JM addr
| JMP if S=1
|
|
|
|
|
| | JP addr
| JMP if S=0
|
|
|
|
|
| | JPE addr
| JMP if P=1
|
|
|
|
|
| | JPO addr
| JMP if P=0
|
|
|
|
|
| | CALL addr
| stack(PC) (PC)addr
| Безусловный вызов подпрограммы
|
|
|
|
|
| |
|
|
|
| Продолжение табл. П.А
| | Мнемокод
| Содержание
команды
| Назначение
команды
| Двоичный код
| Число
| Признаки
| | | байтов
| циклов
| тактов
| | СС addr
| CALL if C=1
| Вызов подпрограммы при выполнении условия
|
|
| 3/5
| 11/ 17*
|
| | CNC addr
| CALL if C=0
|
|
| 3/5
| 11/ 17
|
| | CZ addr
| CALL if Z=1
|
|
| 3/5
| 11/ 17
|
| | CNZ addr
| CALL if Z=0
|
|
| 3/5
| 11/ 17
|
| | CM addr
| CALL if S=1
|
|
| 3/5
| 11/ 17
|
| | CP addr
| CALL if S=0
|
|
| 3/5
| 11/ 17
|
| | CPE addr
| CALL if P=1
|
|
| 3/5
| 11/ 17
|
| | CPO addr
| CALL if P=0
|
|
| 3/5
| 11/ 17
|
| | RET
| (PC)stack
| Безусловный возврат из подпрограммы
|
|
|
|
|
| | RС
| RET if C=1
| Возврат из подпрограммы при выполнении условия
|
|
| 1/3
| 5/11
|
| | RNC
| RET if C=0
|
|
| 1/3
| 5/11
|
| | RZ
| RET if Z=1
|
|
| 1/3
| 5/11
|
| | RNZ
| RET if Z=0
|
|
| 1/3
| 5/11
|
| | RM
| RET if S=1
|
|
| 1/3
| 5/11
|
| | RP
| RET if S=0
|
|
| 1/3
| 5/11
|
| | RPE
| RET if P=1
|
|
| 1/3
| 5/11
|
| | RPO
| RET if P=0
|
|
| 1/3
| 5/11
|
| | RST N
| stack(PC) (PC)N*8
| Переход к подпрограмме обработки прерывания
|
|
|
|
|
| | IN port
| (A)port
| Ввод из ВУ
|
|
|
|
|
| | OUT port
| port(A)
| Вывод во ВУ
|
|
|
|
|
| | LXI
B, data16
| (BC)data16
| Загрузить регистровую пару непосредственными данными
|
|
|
|
|
| | LXI
D, data16
| (DE)data16
|
|
|
|
|
| |
|
|
|
|
|
|
|
| |
|
|
|
| Продолжение табл. П.А
| | Мнемокод
| Содержание
команды
| Назначение
команды
| Двоичный код
| Число
| Признаки
| | байтов
| циклов
| Тактов
| | LXI
H, data16
| (HL)data16
| Загрузить регистровую пару непосредственными данными
|
|
|
|
|
| | LXI
SP, data16
| (SP)data16
|
|
|
|
|
| | PUSH B
| stack(BC)
| Запомнить содержимое регистров в стеке
|
|
|
|
|
| | PUSH H
| stack(HL)
|
|
|
|
|
| | PUSH D
| stack(DE)
|
|
|
|
|
| | PUSH PSW
| stack(A,F)
|
|
|
|
|
| | POP B
| (BC)stack
| Извлечь содержимое регистров из стека
|
|
|
|
|
| | POP D
| (DE)stack
|
|
|
|
|
| | POP H
| (HL)stack
|
|
|
|
|
| | POP PSW
| (A,F)stack
|
|
|
|
|
| | STA
addr
| M(addr)(A)
| Запомнить содержимое аккумулятора в памяти
|
|
|
|
|
| | LDA addr
| (A)M(addr)
| Загрузить содержимое ячейки памяти в аккумулятор
|
|
|
|
|
| | XCHG
| (HL)ßà(DE)
| Обмен содержимого регистровых пар
|
|
|
|
|
| | XTHL
| (HL)ßàstack
| Обмен стека и регистровой пары (HL)
|
|
|
|
|
| | SPHL
| (SP)(HL)
| Загрузить (SP) из регистровой пары HL
|
|
|
|
|
| | PCHL
| (PC)(HL)
| Загрузить счетчик команд
|
|
|
|
|
| | DAD B
| (HL)(HL)+ (BC)
| Двойное сложение
|
|
|
|
| С
| | DAD D
| (HL)(HL)+ (DE)
|
|
|
|
| C
| | DAD H
| (HL)(HL)+ (HL)
|
|
|
|
| C
| | DAD SP
| (HL)(HL)+ (SP)
|
|
|
|
| C
| |
|
|
|
| Продолжение табл. П.А
| | Мнемокод
| Содержание
команды
| Назначение
команды
| Двоичный код
| Число
| Признаки
| | байтов
| циклов
| Тактов
| | STAX B
| M(BC)(A)
| Запомнить содержимое аккумулятора в ячейке памяти
|
|
|
|
|
| | STAX D
| M(DE)(A)
|
|
|
|
|
| | LDAX B
| (A)M(BC)
| Загрузить содержимое аккумулятора из ячейки памяти
|
|
|
|
|
| | LDAX D
| (A)M(DE)
|
|
|
|
|
| | INX B
| (BC)(BC)+1
| Инкрементировать содержимое регистровой пары
|
|
|
|
|
| | INX D
| (DE)(DE)+1
|
|
|
|
|
| | INX H
| (HL)(HL)+1
|
|
|
|
|
| | INX SP
| (SP)(SP)+1
|
|
|
|
|
| | DCX B
| (BC)(BC)–1
| Декрементировать содержимое регистровой пары
|
|
|
|
|
| | DCX D
| (DE)(DE)–1
|
|
|
|
|
| | DCX H
| (HL)(HL)–1
|
|
|
|
|
| | DCX SP
| (SP)(SP)–1
|
|
|
|
|
| | CMA
| (A)( )
| Инвертировать содержимое аккумулятора
|
|
|
|
|
| | STC
| C1
| Установить бит переноса С
|
|
|
|
| С=1
| | CMC
| C
| Инвертировать бит переноса С
|
|
|
|
| С=
| | DAA
|
| Десятичная настройка аккумулятора
|
|
|
|
|
| | SHLD addr
| M(addr)(L) M(addr+1) (H)
| Запомнить содержимое регистровой пары (HL) в ячейки памяти
|
|
|
|
|
| | LHLD addr
| (L)M(addr) (H) M(addr+1)
| Загрузить содержимое ячеек памяти в регистровую пару (HL)
|
|
|
|
|
| | EI
|
| Разрешение прерывания
|
|
|
|
|
| | DI
|
| Запрещение прерывания
|
|
|
|
|
| | NOP
|
| Нет операции
|
|
|
|
|
| |
Пояснения к таблице:
* – число тактов, указано для 2- х вариантов выполнения команд (передача управления не происходит или происходит);
d – регистр, приемник информации с адресом DDD;
S – регистр, источник информации с адресом SSS;
Регистры имеют следующие адреса: В–000; С–001; D–010; E–011; H–100; L–101; A–111;
(…) – содержимое;
M( …) – содержимое ячейки памяти по указанному адресу;
data8 – 8-ми разрядный операнд;
data16 и addr – 16-ти разрядный операнд;
(SP) – указатель стека; (РС) – счетчик команд;
АС – признак вспомогательного переноса; С – признак переноса;
Z – признак нулевого результата; S – признак знака результата;
Р – признак четности.
ПРИЛОЖЕНИЕ В
Таблица машинных кодов команд процессора КР580ВМ80А
|
|
|
|
|
|
|
|
|
|
| A
| В
| С
| D
| E
| F
|
| NOP
| LXI В,16
| STAX В
| INX
В
| INR
В
| DCR В
| MVI B,d08
| RLC
| —
| DAD В
| LDAX
В
| DCX В
| INR
С
| DCR
С
| MVI
C,d8
| RRC
|
| —
| LXI D,d16
| STAX D
| INX D
| INR
D
| DCR D
| MVI D,d08
| RAL
| —
| DAD D
| LDAX
D
| DCX D
| INR
E
| DCR
E
| MVI
E,d8
| RAR
|
| —
| LXI Н,d16
| SHLD ADR
| INX H
| INR
H
| DCR H
| MVI H,d08
| DAA
| —
| DAD H
| LHLD ADR
| DCX H
| INR
L
| DCR
L
| MVI
L,d8
| CMA
|
| —
| LXI SP,d16
| STA ADR
| INX SP
| INR M
| DCR
M
| MVI M,d08
| STC
| —
| DAD SP
| LDA ADR
| DCX SP
| INR
A
| DCR
A
| MVI
A,d8
| CMC
|
| MOV В,В
| MOV
B, C
| MOV B,D
| MOV B,E
| MOV B,H
| MOV B,L
| MOV B,M
| MOV B,A
| MOV C,B
| MOV
C,C
| MOV C,D
| MOV C,E
| MOV C,H
| MOV
C,L
| MOV C,M
| MOV C,A
|
| MOV D,.B
| MOV D,.C
| MOV D,D
| MOV D,E
| MOV D,H
| MOV D,L
| MOV
D,M
| MOV D,A
| MOV E,B
| MOV E,C
| MOV E,D
| MOV E,E
| MOV E,H
| MOV E,L
| MOV E.M
| MOV E.A
|
| MOV Н,B
| MOV
H,C
| MOV H,D
| MOV H,E
| MOV H,H
| MOV H,L
| MOV H,M
| MOV H,A
| MOV L,B
| MOV L,C
| MOV L,D
| MOV L,E
| MOV L,H
| MOV L,L
| MOV L,M
| MOV L,A
|
| MOV М,В
| MOV
M,C
| MOV M,D
| MOV M,E
| MOV M,H
| MOV M,L
| MOV M,M
| MOV M,A
| MOV A,B
| MOV A,C
| MOV A,D
| MOV A,E
| MOV A,H
| MOV A,L
| MOV A,M
| MOV
A,A
|
| ADD В
| ADD С
| ADD D
| ADD
E
| ADD H
| ADD L
| ADD M
| ADD A
| ADC В
| ADC С
| ADC D
| ADC E
| ADC H
| ADC
L
| ADC M
| ADC A
|
| SUB В
| SUB С
| SUB D
| SUB
E
| SUB H
| SUB L
| SUB M
| SUB A
| SBB В
| SBB С
| SBB D
| SBB
E
| SBB H
| SBB
L
| SBB M
| SBB A
| А
| ANA В
| ANA С
| ANA D
| ANA
E
| ANA H
| ANA
L
| ANA M
| ANA A
| XRA В
| XRA С
| XRA D
| XRA E
| XRA H
| XRA
L
| XRA M
| XRA A
| В
| ORA В
| ORA С
| ORA D
| ORA
E
| ORA H
| ORA
L
| ORA M
| ORA A
| CMP
В
| CMP С
| CMP D
| CMP E
| CMP H
| CMP
L
| CMP M
| CMP A
| С
| RNZ
| POP В
| JNZ ADR
| JMP ADR
| CNZ ADR
| PUSH
В
| ADI
d8
| RST
| RZ
| RET
| JZ ADR
| —
| CZ
ADR
| CALL ADR
| ACI
d8
| RST
| D
| RNC
| POP D
| JNC ADR
| OUT
d8
| CNC ADR
| PUSH D
| SUI d8
| RST
| RC
| —
| JC ADR
| IN
d8
| CC
ADR
| —
| SBI
dd8
| RST
| Е
| RPO
| POP Н
| JPO ADR
| XTHL
| CPO ADR
| PUSH H
| ANI d8
| RST
| RPE
| PCHL
| JPE ADR
| XCHG
| CPE
ADR
| —
| XRI d8
| RST
| F
| RP
| POP PSW
| JP ADR
| DI
| CP ADR
| PUSH PSW
| ORI d8
| RST
| RM
| SPHL
| JM ADR
| El
| CMP ADR
| —
| CPI
d8
| RST
|
d8 – 8-ми разрядный операнд; d16 или ADR – 16-ти разрядный операнд.
Приложение С
Министерство образования и науки Российской Федерации
Магнитогорский государственный технический университет
им. Г.И. Носова
Кафедра электроники и микроэлектроники
КУРСОВАЯ РАБОТА
по дисциплине "Машинные языки программирования"
Вариант №10
Выполнил студент гр. АП
Ф.И.О.
Проверил к.т.н., доцент
Швидченко Д.В.
Магнитогорск, 2015 г.
|