- •Внутренняя архитектура и
- •Цель и содержание работы
- •Архитектура микроконтроллера
- •2.2.2 Регистры общего назначения.
- •2.2.3 Регистры специального назначения.
- •3. Адресация команд.
- •3.1 Относительная адресация.
- •3.2 Прямая адресация
- •3.3 Косвенная табличная адресация
- •3.4 Регистровая адресация
- •4. Адресация операндов.
- •4.1 Неявная адресация.
- •4.2 Регистровая адресация
- •4.3 Прямая адресация
- •4.4 Короткая прямая адресация
- •4.5 Адресация регистров специального назначения (sfr)
- •4.6 Косвенная регистровая адресация
- •4.7 Базовая адресация
- •4.8 Относительная индексная адресация
- •4.9 Стековая адресация
- •5 Система команд.
- •5.1 Операции
- •5.2 Соглашения при описании команды
- •5.3 Перечень команд процессора сгруппированный по видам адресации
- •5.4 Описание инструкций.
- •6. Контрольные вопросы
5.3 Перечень команд процессора сгруппированный по видам адресации
Перечень команд, сгруппированный по видам адресации приведён в таблице 8.
(1) 8-разрядные команды
MOV, XCH, ADD, ADDC, SUB, SUBC, AND, OR, XOR, CMP, MULU, DIVUW, INC, DEC, ROR, ROL, RORC,ROLC, ROR4, ROL4, PUSH, POP, DBNZ
Таблица 8 – перечень команд по видам адресации. 8-разрядные команды.
|
2-ой операнд |
#byte |
A
|
r
|
sfr
|
saddr
|
!addr16
|
PSW
|
[DE]
|
[HL]
|
[HL+byte] [HL + B] [HL + C]
|
$addr16
|
1 |
нет |
|
1-ый операнд | |||||||||||||
|
A |
ADD ADDC SUB SUBC AND OR XOR CMP |
|
MOV XCH ADD ADDC SUB SUBC AND OR XOR CMP |
MOV XCH
|
MOV XCH ADD ADDC SUB SUBC AND OR XOR CMP |
MOV XCH ADD ADDC SUB SUBC AND OR XOR CMP |
MOV
|
MOV XCH
|
MOV XCH ADD ADDC SUB SUBC AND OR XOR CMP |
MOV XCH ADD ADDC SUB SUBC AND OR XOR CMP |
|
ROR ROL RORC ROLC
|
|
|
r |
MOV |
MOV ADD ADDC SUB SUBC AND OR XOR CMP |
|
|
|
|
|
|
|
|
|
|
INC DEC
|
|
B, C |
|
|
|
|
|
|
|
|
|
|
DBNZ |
|
|
|
sfr |
MOV |
MOV |
|
|
|
|
|
|
|
|
|
|
|
|
saddr |
MOV ADD ADDC SUB SUBC AND OR XOR CMP |
MOV
|
|
|
|
|
|
|
|
|
DBNZ
|
|
INC DEC
|
|
!addr16 |
|
MOV |
|
|
|
|
|
|
|
|
|
|
|
|
PSW |
MOV |
MOV |
|
|
|
|
|
|
|
|
|
|
PUSH POP |
|
[DE] |
|
MOV |
|
|
|
|
|
|
|
|
|
|
|
|
[HL] |
|
MOV |
|
|
|
|
|
|
|
|
|
|
ROR4 ROL4 |
|
[HL+byte] [HL + B] [HL + C] |
|
MOV
|
|
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
MULU |
|
С |
|
|
|
|
|
|
|
|
|
|
|
|
DIVUW |
(2) 16-разрядные команды
MOVW, XCHW, ADDW, SUBW, CMPW, PUSH, POP, INCW, DECW
Таблица 8 – перечень команд по видам адресации (продолжение). 16-разрядные команды.
|
2-ой операнд |
#word
|
AX
|
rp*
|
sfrp
|
saddrp
|
!addr16
|
SP
|
нет |
|
1-й операнд | ||||||||
|
AX |
ADDW SUBW CMPW |
|
MOVW XCHW |
MOVW |
MOVW |
MOVW |
MOVW |
|
|
rp |
MOVW |
MOVW* |
|
|
|
|
|
INCW DECW PUSH POP |
|
sfrp |
MOVW |
MOVW |
|
|
|
|
|
|
|
saddrp |
MOVW |
MOVW |
|
|
|
|
|
|
|
!addr16 |
|
MOVW |
|
|
|
|
|
|
|
SP |
MOVW |
MOVW |
|
|
|
|
|
|
* - только для регистровых пар rp=BC, DE, HL
(3) операции с битами
MOV1, AND1, OR1, XOR1, SET1, CLR1, NOT1, BT, BF, BTCLR
Таблица 8 – перечень команд по видам адресации (продолжение). Оперции с битами.
|
2-ой операнд |
A.bit
|
sfr.bit
|
saddr.bit
|
PSW.bit
|
[HL].bit
|
CY
|
$addr16
|
нет |
|
1-й операнд | ||||||||
|
A.bit |
|
|
|
|
|
MOV1 |
BT BF BTCLR |
SET1 CLR1 |
|
sfr.bit |
|
|
|
|
|
MOV1 |
BT BF BTCLR |
SET1 CLR1 |
|
saddr.bit |
|
|
|
|
|
MOV1 |
BT BF BTCLR |
SET1 CLR1 |
|
PSW.bit |
|
|
|
|
|
MOV1 |
BT BF BTCLR |
SET1 CLR1 |
|
[HL].bit |
|
|
|
|
|
MOV1 |
BT BF BTCLR |
SET1 CLR1 |
|
CY |
MOV1 AND1 OR1 XOR1 |
MOV1 AND1 OR1 XOR1 |
MOV1 AND1 OR1 XOR1 |
MOV1 AND1 OR1 XOR1 |
MOV1 AND1 OR1 XOR1 |
|
|
SET1 CLR1 NOT1 |
(4) Команды перехода/вызова подпрограмм
CALL, CALLF, CALLT, BR, BC, BNC, BZ, BNZ, BT, BF, BTCLR, DBNZ
Таблица 8 – перечень команд по видам адресации (продолжение). Команды перехода/вызова подпрограмм.
|
2-ой Операнд |
AX
|
!addr16
|
!addr11
|
[addr5]
|
$addr16
|
|
1-й Операнд | |||||
|
Основная команда |
BR
|
CALL BR |
CALLF
|
CALLT
|
BR BC BNC BZ BNZ |
|
Составная команда |
|
|
|
|
BT BF BTCLR DBNZ |
(5) Остальные команды
ADJBA, ADJBS, BRK, RET, RETI, RETB, SEL, NOP, EI, DI, HALT, STOP
