МП устройства СУ / Система команд
.docСистема команд микропроцессора i8080
Группа команд |
Условное обозначение |
Описание команды |
Машинный код |
КТ
|
Воздействие на признаки: S Z AC P CF |
Пересылки данных |
1 MOV r1, r2 2 MVI r, data 3 LXI rp,data16 4 SPHL 5 XCHG
6 XTHL |
(r1) ← (r2) (r) ← (B2) (rp) ← (B3)(B2) (SP) ← (HL) (H) ↔ (D) (L) ↔ (E) (L) ↔ [SP], (H) ↔ [SP+1] |
01DDDSSS 00DDD110 00RR0001 11111001 11101011
11100011 |
5/7 7/10 10 5 4
18 |
- - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - |
Арифме- тические действия |
7 ADD A,r 8 ADC A,r 9 ADI A,data 10 ACI A,data 11 SUB A,r 12 SBB A,r 13 SUI A,data 14 SBI A,data 15 DAA 16 DAD HL,rp |
(A) ← (A) +(r) (A) ← (A) + (r) + (CF) (A) ← (A) + (B2) (A) ← (A) + (B2) + (CF) (A) ← (A) – (r) (A) ← (A) – (r) – (CF) (A) ← (A) – (B2) (A) ← (A) – (B2) – (CF) Десятичная корр. (HL) ← (HL)+(rp) |
10000SSS 10001SSS 11000110 11001110 10010SSS 10011SSS 11010110 11011110 00100111 00RR1001 |
4/7 4/7 7 7 4/7 4/7 7 7 4 10 |
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + |
Логические действия
|
17 AND A,r 18 ANI A,data 19 XOR A,r 20 XRI A,data 21 OR A,r 22 ORI A,data 23 CMP A,r 24 CPI A,data 25 CMA 26 STC 27 CMC |
(A) ← (A) ^ (r) (A) ← (A) ^ (B2) (A) ← (A) (r) (A) ← (A) (B2) (A) ← (A) v (r) (A) ← (A) v (B2) (A) - (r) (A) - (B2) (A) ← () (CF) ←1 (CF) ← () |
10100SSS 11100110 10101SSS 11101110 10110SSS 11110110 10111SSS 11111110 00101111 00110111 00111111 |
4/7 7 4/7 7 4/7 7 4/7 7 4 4 4 |
+ + 0 + 0 + + 0 + 0 + + 0 + 0 + + 0 + 0 + + 0 + 0 + + 0 + 0 + + + + + + + + + + - - - - - - - - - 1 - - - - + |
сдвиги |
28 RAL A
29 RAR A
30 RLC A
31 RRC A |
(ai+1) ← (ai ) ; (a0 ) ← (a7 ) ; (CF ) ← (a7 ) ; (ai ) ← (ai+1) ; (a7 ) ← (a0 ) ; (CF) ← (a0 ) ; (ai+1) ← (ai ) ; (a0 ) ← (CF ) ; (CF ) ← (a7 ) ; (ai ) ← (ai+1) ; (a7 ) ← (CF) ; (CF ) ← (a0 ) ;
|
00000111
00001111
00010111
00011111 |
4
4
4
4 |
- - - - +
- - - - +
- - - - +
- - - - +
|
Команды передачи управления (переходы, вызовы под-программ и возвраты из под под-программ) |
32 PCHL 33 JMP addr 34 CALL addr
35 RET
36 J–CON addr 37 C–CON addr
38 R – CON
39 RST n |
Безусловные (PC) ← (HL) (PC) ← (B3) (B2) [SP -1] [SP -2] ← (PC) (SP) ← (SP) – 2; (PC) ← (B3) (B2). (PC) ← [SP] [SP+1]; (SP) ← (SP) +2. Условные (PC) ← (B3) (B2) [SP -1] [SP -2] ← (PC) (SP) ← (SP) – 2; (PC) ← (B3) (B2). (PC) ← [SP] [SP+1]; (SP) ← (SP) +2. [SP -1] [SP -2] ← (PC) (SP) ← (SP) -2; (PC)← 0000000000NNN000 |
11101001 11000011 11001101
11001001
11CCC010 11CCC100
11CCC000
11NNN111 |
5 10 17
10
10 11/17
5/11
11 |
- - - - - - - - - - - - - - -
- - - - -
- - - - - - - - - -
- - - - -
- - - - -
|
Инкремент и декремент |
40 INR r 41 DCR r 42 INX rp 43 DCX rp |
(r) ← (r) +1 (r) ← (r) -1 (rp) ← (rp) +1 (rp) ← (rp) - 1 |
00DDD100 00DDD101 00RR0011 00RR1011 |
5/10 5/10 5 5 |
+ + + + - + + + + - - - - - - - - - - - |
Ввод и вывод |
44 IN A,port 45 OUT port,A |
(A) ← [B2] [B2] ← (A) |
11011011 11010011 |
10 10 |
- - - - - - - - - - |
Обращение в память |
46 STS addr,A 47 LDS A,addr 48 STD addr,HL
49 LDD HL,addr
50 STX rp+,A 51 LDX A,rp+ |
[B3B2] ← (A) (A) ← [B3B2] [B3B2] ← (L); [B3B2+1] ← (H) . (L) ← [B3B2]; (H) ← [B3B2+1]. [rp] ← (A) (A) ← [rp] |
00110010 00111010 00100010
00101010
00RR0010 00RR1010 |
13 13 16
16
7 7 |
- - - - - - - - - - - - - - -
- - - - -
- - - - - - - - - - |
Обращение к стеку |
52 PUSH rp ++
53 POP rp ++ |
[SP -1] [SP - 2] ← (rp) (SP) ← (SP) – 2. (rp) ← [SP] [SP + 1]; (SP) ← (SP) + 2 |
11RR0101
11RR0001 |
11
10 |
- - - - -
- - - - -
|
Управле-ние
|
54 EI 55 DI 56 NOP 57 HLT
|
Разрешить прерывание Запретить прерывание (PC) ← (PC) +1 Останов |
11111011 11110011 00000000 01110110 |
4 4 4 4 |
- - - - - - - - - - - - - - - - - - - - |
* Команда POP PSW влияет на все признаки,
rp регистровые пары BC, DE, HL или указатель стека SP,
rp + регистровые пары BC или DE,
rp ++ регистровые пары BC, DE, HL или PSW
КОДЫ РЕГИСТРОВ МИКРОПРОЦЕССОРА i8080
Регистр |
B |
C |
D |
E |
H |
L |
M |
A |
Код регистра DDD,SSS. |
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 |
КОДЫ РЕГИСТРОВЫХ ПАР МИКРОПРОЦЕССОРА i8080
Регистровая пара |
BC |
DE |
HL |
SP PSW |
Код регистровой пары RR |
00 |
01 |
10 |
11 |
МНЕМОНИКА И КОДЫ УСЛОВИЙ.
Условие |
Код ССС |
NZ – ненулевой результат ( Z = 0 ) Z – нулевой результат ( Z = 1 ) NC – отсутствие переноса ( CF = 0 ) C – наличие переноса (CF = 1 ) PO – нечётное число единиц ( P = 0 ) PE – чётное число ( P = 1 ) P – неотрицательный результат ( S = 0 ) M – отрицательный результат ( S = 1 ) |
000 001 010 011 100 101 110 111 |