![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Система команд включает 111 команд - однобайтовых (49), двухбайтовых (45) и трехбайтовых (17). Все команды выполняются за 1 или 2 МЦ (12 тактов CLK), за исключением команд умножения и деления MUL и DIV, для выполнения которых требуется 4 МЦ. Большинство двухбайтовых команд - одноцикловые, а все трехбайтовые двухцикловые. За один МЦ в..ВЕ52 можно вводить до двух байтов программного кода.
В микро-ЭВМ предусмотрена прямая (direct), косвенная (через R0, R1 или DPTR) и непосредственная (# data) адресация элементов DSEG и RSEG, прямая адресация элемента BSEG, косвенная (через R0, R1 или DPTR) адресация XSEG.
Все множество команд разбито на 5 групп: пересылки (28), логические (25), арифметические (24), передачи управления (17) и битового процессора (17).
В Табл. 11.4 – Табл. 11.7 приведены мнемокоды команд, длина команды в МЦ,
HEX-коды и описание команды. В таблицах использованы следующие обозначения:
A,B | - аккумулятор, дополнительный аккумулятор; |
Rn | - регистр общего назначения (n = 0..7); |
@Ri | - косвенный адрес через Ri (i = 0,1); |
direct | - прямой адрес DSEG (8 бит); |
#data | - непосредственный операнд длиной 8 бит; |
#data16 | - непосредственный операнд длиной 16 бит; |
addr11 | - адрес перехода длиной 11 бит; |
addr16 | - адрес перехода длиной 16 бит; |
rel | - смещение на странице CSEG длиной 8 бит; |
bit | - прямой адрес BSEG (номер бита). |
В командах возможны следующие варианты формирования признаков
[1] - P
[2] - CY, P
[3] - CY, AC, OV, P
[4] - OV, P, CY 0
[5] - CY
В Табл. 11.4 – Табл. 11.7 в описании команд указаны соответствующие обозначения. Отсутствие обозначения говорит о том, что данная команда не меняет значений признаков. Символ в фигурных скобках означает, что он относится ко всем командам блока.
Табл. 11.4. Команды пересылки
Мнемокод | МЦ | HEX-коды | Описание команды | |
MOV A, Rn | E8.. EF | A Rn | ||
MOV A, direct | E5 | A (direct) | ||
MOV A, @Ri | E6.. E7 | A (Ri) | ||
MOV A, #data | A data | |||
MOV Rn, A | F8.. FF | Rn A | ||
MOV Rn, direct | A8.. AF | Rn (direct) | ||
MOV Rn, #data | 78.. 7F | Rn data | ||
MOV direct, A | F5 | (direct) A | ||
MOV direct, Rn | 88.. 8F | (direct) Rn | ||
MOV direct, direct | (direct) (direct) | |||
MOV direct, @Ri | 86.. 87 | (direct) (Ri) | ||
MOV direct, #data | (direct) data | |||
MOV @Ri, A | F6.. F7 | (Ri) A | ||
MOV @Ri, direct | A6.. A7 | (Ri) (direct) | ||
MOV @Ri, #data | 76.. 77 | (Ri) data | ||
MOV DPTR, #data16 | DPTR data16 | |||
MOVC A,@A+DPTR | A CSEG(A+DPTR) | |||
MOVC A,@A+PC | A CSEG(A+PC) | |||
MOVX A, @Ri | E2.. E3 | A XSEG(P2.Ri) | ||
MOVX A, @DPTR | E0 | A XSEG(DPTR) | ||
MOVX @Ri, A | F2.. F3 | XSEG (P2.Ri) A | ||
MOVX @DPTR, A | F0 | XSEG (DPTR) A | ||
PUSH direct | C0 | +(SP) (direct) | ||
POP direct | D0 | (direct) (SP)- | ||
XCH A, Rn | C8.. CF | A «Rn | ||
XCH A, direct | C5 | A «(direct) | ||
XCH A, @Ri | C6.. C7 | A «(Ri) | ||
XCHD A, @Ri | D6.. D7 | A[3:0] «(Ri[3:0]) |
Табл. 11.5. Логические и арифметические команды
Мнемокод | МЦ | HEX-коды | Описание команды | |
ANL A, Rn | 58.. 5F | A A & Rn | ||
ANL A, direct | A A & (direct) | |||
ANL A, @Ri | 56.. 57 | A A & (Ri) | ||
ANL A, #data | A A & data | |||
ANL direct, A | (direct) (direct) & A | |||
ANL direct, #data | (direct) (direct) & data | |||
ORL A, Rn | 48.. 4F | A A Ú Rn | ||
ORL A, direct | A A Ú (direct) | |||
ORL A, @Ri | 46.. 47 | A A Ú (Ri) | ||
ORL A, #data | A A Ú data | |||
ORL direct, A | (direct) (direct) Ú A | |||
ORL direct, #data | (direct) (direct) Ú data | |||
XRL A, Rn | 68.. 6F | A A Å Rn | ||
XRL A, direct | A A Å (direct) | |||
XRL A, @Ri | 66.. 67 | A A Å (Ri) | ||
XRL A, #data | A A Å data | |||
XRL direct, A | (direct) (direct) Å A | |||
XRL direct, #data | (direct) (direct) Å data | |||
CLR A | E4 | A 0000 0000 (Очистка акк.) | ||
CLP A | F4 | A A\ (Инверсия аккумулятора) | ||
RL A | Сдвиг левый циклический | |||
RLC A | Сдвиг левый с переносом | |||
RR A | Сдвиг правый циклический | |||
RRC A | Сдвиг правый с переносом | |||
SWAP A | C4 | A[7:4] «A[3:0] | ||
ADD A, Rn | 28.. 2F | A A + Rn | ||
ADD A, direct | A A + (direct) | |||
ADD A, @Ri | 26.. 27 | A A + (Ri) | ||
ADD A, #data | A A + data | |||
ADDC A, Rn | 38.. 3F | A A + Rn + CY | ||
ADDC A, direct | A A + (direct) + CY | |||
ADDC A, @Ri | 36.. 37 | A A + (Ri) + CY | ||
ADDC A, #data | A A + data + CY | |||
SUBB A, Rn | 98.. 9F | A A - Rn - CY | ||
SUBB A, direct | A A - (direct) - CY | |||
SUBB A, @Ri | 96.. 97 | A A - (Ri) - CY | ||
SUBB A, #data | A A - data - CY | |||
INC A | A A + 1 | |||
INC Rn | 08.. 0F | Rn Rn + 1 | ||
INC direct | (direct) (direct) + 1 | |||
INC @Ri | 06.. 07 | (Ri) (Ri) + 1 | ||
INC DPTR | A3 | DPTR DPTR + 1 | ||
DEC A | A A - 1 | |||
DEC Rn | 18.. 1F | Rn Rn - 1 | ||
DEC direct | (direct) (direct) - 1 | |||
DEC @Ri | 16.. 17 | (Ri) (Ri) - 1 | ||
MUL AB | A4 | B.A A × B | ||
DIV AB | A.B A: B | |||
DA A | Десятичная коррекция сложения |
Табл. 11.6. Команды передачи управления
Мнемокод | МЦ | HEX-коды | Описание команды | |
ACALL addr11 | aaa10001 | +(SP) PC; PC[10:0] adrr11 | ||
LCALL addr16 | +(SP) PC; PC adrr16 | |||
RET | PC (SP)- | |||
RETI | PC (SP)-; конец прерывания | |||
AJMP addr11 | aaa00001 | PC[10:0] adrr11 | ||
LJMP addr16 | PC adrr16 | |||
JMP @A + DPTR | PC DPTR +A | |||
SJMP rel | PC PC + rel | |||
JZ rel | if A = 0 then PC PC + rel | |||
JNZ rel | if A ¹ 0 then PC PC + rel | |||
CJNE A, direct, rel | B5 | if A ¹ (direct) then PC PC + rel | ||
CJNE A, #data, rel | B4 | if A ¹ data then PC PC + rel | ||
CJNE Rn, #data, rel | B8.. BF | if Rn ¹ data then PC PC + rel | ||
CJNE @Ri,#data, rel | B6.. B7 | if (Ri) ¹ data then PC PC + rel | ||
CJNZ Rn,rel | D8.. DF | Rn Rn - 1 if Rn ¹ 0 then PC PC + rel | ||
CJNE direct, rel | D5 | (direct) (direct) - 1 if (direct) ¹ 0 then PC PC + rel | ||
NOP |
Табл. 11.7. Булевые команды
Дата публикования: 2015-01-24; Прочитано: 159 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!