Система команд включает 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. Булевые команды
| Мнемокод | МЦ | HEX-коды | Описание команды | |
| MOV C, bit | A9 | CY ¬ BSEG(bit) | ||
| MOV bit, C | BSEG(bit) ¬ CY | |||
| CLR C | C3 | CY ¬ 0 | ||
| CLR bit | C2 | BSEG(bit) ¬ 0 | ||
| SETB C | D3 | CY ¬ 1 | ||
| SETB bit | D2 | BSEG(bit) ¬ 1 | ||
| CPL C | B3 | CY ¬ CY\ | ||
| CPL bit | B2 | BSEG(bit) ¬ BSEG(bit)\ | ||
| ANL C, bit | CY ¬ CY & BSEG(bit) | |||
| ANL C, bit\ | B0 | CY ¬ CY & BSEG(bit)\ | ||
| ORL C, bit | CY ¬ CY Ú BSEG(bit) | |||
| ORL C, bit\ | A0 | CY ¬ CY Ú BSEG(bit)\ | ||
| JC rel | if CY = 1 then PC ¬ PC + rel | |||
| JNC rel | if CY = 0 then PC ¬ PC + rel | |||
| JB bit, rel | if BSEG(bit) = 1 then PC ¬ PC + rel | |||
| JNB bit, rel | if BSEG(bit) = 0 then PC ¬ PC + rel | |||
| JBC bit, rel | if BSEG(bit) = 1 then PC ¬ PC + rel и BSEG(bit) ¬ 0 |






