Zilog Z80/Система команд: различия между версиями
Panther (обсуждение | вклад) (Заготовка) |
Panther (обсуждение | вклад) (команды без префиксов) |
||
Строка 1: | Строка 1: | ||
{{Emuverse}} | {{Emuverse}} | ||
== Команды без префикса == | |||
{| class=fixed | |||
! colspan=2 | Код | |||
! Данные | |||
! Команда | |||
! Действие | |||
! Флаги | |||
! Такты | |||
! Байты | |||
! Примечание | |||
|- | |||
! 2 | |||
! 16 | |||
! | |||
! | |||
! | |||
! SZ5H3VNC | |||
! | |||
! | |||
! | |||
|- | |||
! colspan=9 | Без префикса | |||
|- | |||
! colspan=9 | Группа 00 | |||
|- | |||
| nowrap | 00 000 000 | |||
| 00 | |||
| | |||
| NOP | |||
| | |||
| -------- | |||
| 4 | |||
| 1 | |||
| | |||
|- | |||
| 00 001 000 | |||
| 08 | |||
| | |||
| EX AF, AF' | |||
| AF <-> AF' | |||
| ******** | |||
| 4 | |||
| 1 | |||
| | |||
|- | |||
| 00 010 000 | |||
| 10 | |||
| d | |||
| DJNZ d | |||
| B <- B-1<br>Если B<>0 то PC <- PC+d | |||
| -------- | |||
| 13/8 | |||
| 2 | |||
| PC равен адресу следующей за DJNZ команды | |||
|- | |||
| 00 011 000 | |||
| 18 | |||
| d | |||
| JR d | |||
| PC <- PC+d | |||
| -------- | |||
| 12 | |||
| 2 | |||
| PC равен адресу следующей команды | |||
|- | |||
| 00 1СС 000 | |||
| | |||
| d | |||
| JR СС, d | |||
| Если СС то PC <- PC+d | |||
| -------- | |||
| 12/7 | |||
| 2 | |||
| PC равен адресу следующей команды | |||
|- | |||
| 00 RP0 001 | |||
| | |||
| nn | |||
| LD RP, nn | |||
| RP <- nn | |||
| -------- | |||
| 10 | |||
| 3 | |||
| | |||
|- | |||
| 00 RP1 001 | |||
| | |||
| | |||
| ADD HL, RP | |||
| HL <- HL + RP | |||
| --***-0C | |||
| 11 | |||
| 1 | |||
| F5,H,F3 берутся по результатам сложения старших байтов | |||
|- | |||
| 00 0R0 010 | |||
| | |||
| | |||
| LD [R], A | |||
| [R] <- A | |||
| -------- | |||
| 7 | |||
| 1 | |||
| | |||
|- | |||
| 00 0R1 010 | |||
| | |||
| | |||
| LD A, [R] | |||
| A <- [R] | |||
| -------- | |||
| 7 | |||
| 1 | |||
| | |||
|- | |||
| 00 100 010 | |||
| 22 | |||
| nn | |||
| LD [nn], HL | |||
| [nn] <- HL | |||
| -------- | |||
| 16 | |||
| 3 | |||
| | |||
|- | |||
| 00 101 010 | |||
| 2A | |||
| nn | |||
| LD HL, [nn] | |||
| HL <- [nn] | |||
| -------- | |||
| 16 | |||
| 3 | |||
| | |||
|- | |||
| 00 110 010 | |||
| 32 | |||
| nn | |||
| LD [nn], A | |||
| [nn] <- A | |||
| -------- | |||
| 13 | |||
| 3 | |||
| | |||
|- | |||
| 00 111 010 | |||
| 3A | |||
| nn | |||
| LD A, [nn] | |||
| A <- [nn] | |||
| -------- | |||
| 13 | |||
| 3 | |||
| | |||
|- | |||
| 00 RP0 011 | |||
| | |||
| | |||
| INC RP | |||
| RP <- RP+1 | |||
| -------- | |||
| 6 | |||
| 1 | |||
| | |||
|- | |||
| 00 RP1 011 | |||
| | |||
| | |||
| DEC RP | |||
| RP <- RP-1 | |||
| -------- | |||
| 6 | |||
| 1 | |||
| | |||
|- | |||
| 00 SSS 100 | |||
| | |||
| | |||
| INC SSS | |||
| SSS <- SSS+1 | |||
| SZ5H3V0- | |||
| 4 | |||
| 1 | |||
| V=1, если SSS=7F до операции | |||
|- | |||
| 00 SSS 101 | |||
| | |||
| | |||
| DEC SSS | |||
| SSS <- SSS-1 | |||
| SZ5H3V1- | |||
| 4 | |||
| 1 | |||
| V=1, если SSS=80 до операции | |||
|- | |||
| 00 DDD 110 | |||
| | |||
| d | |||
| LD DDD, d | |||
| DDD <- d | |||
| -------- | |||
| 7 | |||
| 2 | |||
| | |||
|- | |||
| 00 000 111 | |||
| 07 | |||
| | |||
| RLCA | |||
| Цикл. сдвиг A влево, CY<-A7 | |||
| --503-0C | |||
| 4 | |||
| 1 | |||
| | |||
|- | |||
| 00 001 111 | |||
| 0F | |||
| | |||
| RRCA | |||
| nowrap | Цикл. сдвиг A вправо, CY<-A0 | |||
| --503-0C | |||
| 4 | |||
| 1 | |||
| | |||
|- | |||
| 00 010 111 | |||
| 17 | |||
| | |||
| RLA | |||
| Цикл. сдвиг A+CY влево | |||
| --503-0C | |||
| 4 | |||
| 1 | |||
| | |||
|- | |||
| 00 011 111 | |||
| 1F | |||
| | |||
| RRA | |||
| Цикл. сдвиг A+CY вправо | |||
| --503-0C | |||
| 4 | |||
| 1 | |||
| | |||
|- | |||
| 00 100 111 | |||
| 27 | |||
| | |||
| DAA | |||
| Десятичная коррекция | |||
| SZ5*3P-* | |||
| 4 | |||
| 1 | |||
| См. [[/DAA]] | |||
|- | |||
| 00 101 111 | |||
| 2F | |||
| | |||
| CPL | |||
| A <- NOT A | |||
| --*1*-1- | |||
| 4 | |||
| 1 | |||
| F3 и F5 из A | |||
|- | |||
| 00 110 111 | |||
| 37 | |||
| | |||
| SCF | |||
| CY = 1 | |||
| --*0*-01 | |||
| 4 | |||
| 1 | |||
| F3 и F5 из A | |||
|- | |||
| 00 111 111 | |||
| 3F | |||
| | |||
| CCF | |||
| CY <- NOT CY | |||
| --***-0C | |||
| 4 | |||
| 1 | |||
| H <- старый C, F3 и F5 из A | |||
|- | |||
! colspan=9 | Группа 01 | |||
|- | |||
| 01 110 110 | |||
| 76 | |||
| | |||
| HALT | |||
| | |||
| -------- | |||
| 4 | |||
| 1 | |||
| Повторяет циклы NOP до прерывания или сброса | |||
|- | |||
| 01 DDD 110 | |||
| | |||
| | |||
| LD DDD, [HL] | |||
| DDD <- [HL] | |||
| -------- | |||
| 7/15* | |||
| 1 | |||
| | |||
|- | |||
| 01 110 SSS | |||
| | |||
| | |||
| LD [HL], SSS | |||
| [HL] <- SSS | |||
| -------- | |||
| 7/15* | |||
| 1 | |||
| | |||
|- | |||
| 01 DDD SSS | |||
| | |||
| | |||
| LD DDD, SSS | |||
| DDD <- SSS | |||
| -------- | |||
| 4 | |||
| 1 | |||
| DDD и SSS не равны 110 | |||
|- | |||
! colspan=9 | Группа 10 | |||
|- | |||
| 10 000 SSS | |||
| | |||
| | |||
| ADD A, SSS | |||
| A <- A+SSS | |||
| SZ5H3V0C | |||
| 4/7/15* | |||
| 1 | |||
| | |||
|- | |||
| 10 001 SSS | |||
| | |||
| | |||
| ADC A, SSS | |||
| A <- A+SSS+CY | |||
| SZ5H3V0C | |||
| 4/7/15* | |||
| 1 | |||
| | |||
|- | |||
| 10 010 SSS | |||
| | |||
| | |||
| SUB A, SSS | |||
| A <- A-SSS | |||
| SZ5H3V1C | |||
| 4/7/15* | |||
| 1 | |||
| | |||
|- | |||
| 10 011 SSS | |||
| | |||
| | |||
| SBC A, SSS | |||
| A <- A-SSS-CY | |||
| SZ5H3V1C | |||
| 4/7/15* | |||
| 1 | |||
| | |||
|- | |||
| 10 100 SSS | |||
| | |||
| | |||
| AND A, SSS | |||
| A <- A AND SSS | |||
| SZ513P00 | |||
| 4/7/15* | |||
| 1 | |||
| | |||
|- | |||
| 10 101 SSS | |||
| | |||
| | |||
| XOR A, SSS | |||
| A <- A XOR SSS | |||
| SZ503P00 | |||
| 4/7/15* | |||
| 1 | |||
| | |||
|- | |||
| 10 110 SSS | |||
| | |||
| | |||
| OR A, SSS | |||
| A <- A OR SSS | |||
| SZ503P00 | |||
| 4/7/15* | |||
| 1 | |||
| | |||
|- | |||
| 10 111 SSS | |||
| | |||
| | |||
| CP SSS | |||
| A-SSS | |||
| SZ*H*V1C | |||
| 4/7/15* | |||
| 1 | |||
| F5 и F3 - копия SSS | |||
|- | |||
! colspan=9 | Группа 11 | |||
|- | |||
| 11 CCC 000 | |||
| | |||
| | |||
| RET CCC | |||
| Если CCC то<br> PCL <- [SP]<br> PCH <- [SP+1]<br> SP <- SP+2 | |||
| -------- | |||
| 11/5 | |||
| 1 | |||
| | |||
|- | |||
| 11 RP0 001 | |||
| | |||
| | |||
| POP RP | |||
| RPH <- [SP]<br>RPL <- [SP+1]<br>SP <- SP+2 | |||
| --------<br>******** | |||
| 10 | |||
| 1 | |||
| Если RP=3, то подразумевается PSW, а не SP | |||
|- | |||
| 11 001 001 | |||
| C9 | |||
| | |||
| RET | |||
| PCL <- [SP]<br>PCH <- [SP+1]<br>SP <- SP+2 | |||
| -------- | |||
| 10 | |||
| 1 | |||
| | |||
|- | |||
| 11 011 001 | |||
| D9 | |||
| | |||
| EXX | |||
| BC,DE,HL <-> BC',DE',HL' | |||
| -------- | |||
| 4 | |||
| 1 | |||
| | |||
|- | |||
| 11 101 001 | |||
| E9 | |||
| | |||
| JP [HL] | |||
| PC <- HL | |||
| -------- | |||
| 4 | |||
| 1 | |||
| С префиксами становится JP [IX], <br>а не JP [IX+d] | |||
|- | |||
| 11 111 001 | |||
| F9 | |||
| | |||
| LD SP,HL | |||
| SP <- HL | |||
| -------- | |||
| 6 | |||
| 1 | |||
| | |||
|- | |||
| 11 CCC 010 | |||
| | |||
| nn | |||
| JP CCC, [nn] | |||
| Если CCC то PC <- nn | |||
| -------- | |||
| 10 | |||
| 3 | |||
| | |||
|- | |||
| 11 000 011 | |||
| C3 | |||
| nn | |||
| JP nn | |||
| PC <- nn | |||
| -------- | |||
| 10 | |||
| 3 | |||
| | |||
|- | |||
| 11 001 011 | |||
| CB | |||
| | |||
| | |||
| Префикс | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
| 11 010 011 | |||
| D3 | |||
| d | |||
| OUT (d),A | |||
| [Ad] <- A | |||
| -------- | |||
| 11 | |||
| 2 | |||
| Номер порта в реальности 16-разрядный | |||
|- | |||
| 11 011 011 | |||
| DB | |||
| d | |||
| IN A, (d) | |||
| A <- [Ad] | |||
| -------- | |||
| 11 | |||
| 2 | |||
| Номер порта в реальности 16-разрядный | |||
|- | |||
| 11 100 011 | |||
| E3 | |||
| | |||
| EX (SP),HL | |||
| [SP] <-> HL | |||
| -------- | |||
| 19 | |||
| 1 | |||
| | |||
|- | |||
| 11 101 011 | |||
| EB | |||
| | |||
| EX DE,HL | |||
| DE <-> HL | |||
| -------- | |||
| 4 | |||
| 1 | |||
| Префиксы игнорируются | |||
|- | |||
| 11 110 011 | |||
| F3 | |||
| | |||
| DI | |||
| IFF1 <- 0 IFF2 <- 0 | |||
| -------- | |||
| 4 | |||
| 1 | |||
| Запрет прерывания | |||
|- | |||
| 11 111 011 | |||
| FB | |||
| | |||
| EI | |||
| IFF1 <- 1 IFF2 <- 1 | |||
| -------- | |||
| 4 | |||
| 1 | |||
| Разрешение прерывания. До завершения следующей команды проверка на INT блокируется (как после NONI) | |||
|- | |||
| 11 ССС 100 | |||
| | |||
| nn | |||
| nowrap | CALL ССС, [nn] | |||
| Если ССС то<br> SP <- SP-2<br> [SP] <- (PC+3)L<br> [SP+1] <- (PC+3)H<br> PC <- nn | |||
| -------- | |||
| 17/10 | |||
| 3 | |||
| | |||
|- | |||
| 11 RP0 101 | |||
| | |||
| | |||
| PUSH RP | |||
| SP <- SP-2<br>[SP] <- RPL<br>[SP+1] <- RPH | |||
| -------- | |||
| 11 | |||
| 1 | |||
| Если RP=3, то подразумевается PSW, а не SP | |||
|- | |||
| 11 001 101 | |||
| CD | |||
| nn | |||
| CALL [nn] | |||
| SP <- SP-2<br>[SP] <- PCL<br>[SP+1] <- PCH<br>PC <- nn | |||
| -------- | |||
| 17 | |||
| 3 | |||
| | |||
|- | |||
| 11 011 101 | |||
| DD | |||
| | |||
| | |||
| Префикс | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
| 11 101 101 | |||
| ED | |||
| | |||
| | |||
| Префикс | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
| 11 111 101 | |||
| FD | |||
| | |||
| | |||
| Префикс | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
| 11 000 110 | |||
| C6 | |||
| d | |||
| ADD A, d | |||
| A <- A+d+CY | |||
| SZ5H3V0C | |||
| 7 | |||
| 2 | |||
| | |||
|- | |||
| 11 001 110 | |||
| CE | |||
| d | |||
| ADC A, d | |||
| A <- A+d+CY | |||
| SZ5H3V0C | |||
| 7 | |||
| 2 | |||
| | |||
|- | |||
| 11 010 110 | |||
| D6 | |||
| d | |||
| SUB A, d | |||
| A <- A-d | |||
| SZ5H3V1C | |||
| 7 | |||
| 2 | |||
| | |||
|- | |||
| 11 011 110 | |||
| DE | |||
| d | |||
| SBC A, d | |||
| A <- A-d-CY | |||
| SZ5H3V1C | |||
| 7 | |||
| 2 | |||
| | |||
|- | |||
| 11 100 110 | |||
| E6 | |||
| d | |||
| AND A, d | |||
| A <- A AND d | |||
| SZ513P00 | |||
| 7 | |||
| 2 | |||
| | |||
|- | |||
| 11 101 110 | |||
| EE | |||
| d | |||
| XOR A, d | |||
| A <- A XOR d | |||
| SZ503P00 | |||
| 7 | |||
| 2 | |||
| | |||
|- | |||
| 11 110 110 | |||
| F6 | |||
| d | |||
| OR A, d | |||
| A <- A OR d | |||
| SZ503P00 | |||
| 7 | |||
| 2 | |||
| | |||
|- | |||
| 11 111 110 | |||
| FE | |||
| d | |||
| CP A, d | |||
| A-d | |||
| SZ*H*V1C | |||
| 7 | |||
| 2 | |||
| F5 и F3 - копия d | |||
|- | |||
| 11 NNN 111 | |||
| | |||
| | |||
| RST NNN | |||
| [SP-1] <- PCH<br>[SP-2] <- PCL<br>SP <- SP-2<br>PCH <- 0<br>PCL <- NNN*8 | |||
| -------- | |||
| 11 | |||
| 1 | |||
| | |||
|} | |||
Матрица команд, на которые влияют префиксы DD и FD<ref>[http://homepage.ntlworld.com/cyborgsystems/CS_Main/Z80/z80.c Z80.c module Copyright (c) 2006, BlueChip of Cyborg Systems]</ref> | Матрица команд, на которые влияют префиксы DD и FD<ref>[http://homepage.ntlworld.com/cyborgsystems/CS_Main/Z80/z80.c Z80.c module Copyright (c) 2006, BlueChip of Cyborg Systems]</ref> |
Версия от 18:36, 14 февраля 2008
Этот документ создан для Emuverse и распространяется на условиях лицензии CC-BY-SA-3.0. |
Команды без префикса
Код | Данные | Команда | Действие | Флаги | Такты | Байты | Примечание | |
---|---|---|---|---|---|---|---|---|
2 | 16 | SZ5H3VNC | ||||||
Без префикса | ||||||||
Группа 00 | ||||||||
00 000 000 | 00 | NOP | -------- | 4 | 1 | |||
00 001 000 | 08 | EX AF, AF' | AF <-> AF' | ******** | 4 | 1 | ||
00 010 000 | 10 | d | DJNZ d | B <- B-1 Если B<>0 то PC <- PC+d |
-------- | 13/8 | 2 | PC равен адресу следующей за DJNZ команды |
00 011 000 | 18 | d | JR d | PC <- PC+d | -------- | 12 | 2 | PC равен адресу следующей команды |
00 1СС 000 | d | JR СС, d | Если СС то PC <- PC+d | -------- | 12/7 | 2 | PC равен адресу следующей команды | |
00 RP0 001 | nn | LD RP, nn | RP <- nn | -------- | 10 | 3 | ||
00 RP1 001 | ADD HL, RP | HL <- HL + RP | --***-0C | 11 | 1 | F5,H,F3 берутся по результатам сложения старших байтов | ||
00 0R0 010 | LD [R], A | [R] <- A | -------- | 7 | 1 | |||
00 0R1 010 | LD A, [R] | A <- [R] | -------- | 7 | 1 | |||
00 100 010 | 22 | nn | LD [nn], HL | [nn] <- HL | -------- | 16 | 3 | |
00 101 010 | 2A | nn | LD HL, [nn] | HL <- [nn] | -------- | 16 | 3 | |
00 110 010 | 32 | nn | LD [nn], A | [nn] <- A | -------- | 13 | 3 | |
00 111 010 | 3A | nn | LD A, [nn] | A <- [nn] | -------- | 13 | 3 | |
00 RP0 011 | INC RP | RP <- RP+1 | -------- | 6 | 1 | |||
00 RP1 011 | DEC RP | RP <- RP-1 | -------- | 6 | 1 | |||
00 SSS 100 | INC SSS | SSS <- SSS+1 | SZ5H3V0- | 4 | 1 | V=1, если SSS=7F до операции | ||
00 SSS 101 | DEC SSS | SSS <- SSS-1 | SZ5H3V1- | 4 | 1 | V=1, если SSS=80 до операции | ||
00 DDD 110 | d | LD DDD, d | DDD <- d | -------- | 7 | 2 | ||
00 000 111 | 07 | RLCA | Цикл. сдвиг A влево, CY<-A7 | --503-0C | 4 | 1 | ||
00 001 111 | 0F | RRCA | Цикл. сдвиг A вправо, CY<-A0 | --503-0C | 4 | 1 | ||
00 010 111 | 17 | RLA | Цикл. сдвиг A+CY влево | --503-0C | 4 | 1 | ||
00 011 111 | 1F | RRA | Цикл. сдвиг A+CY вправо | --503-0C | 4 | 1 | ||
00 100 111 | 27 | DAA | Десятичная коррекция | SZ5*3P-* | 4 | 1 | См. /DAA | |
00 101 111 | 2F | CPL | A <- NOT A | --*1*-1- | 4 | 1 | F3 и F5 из A | |
00 110 111 | 37 | SCF | CY = 1 | --*0*-01 | 4 | 1 | F3 и F5 из A | |
00 111 111 | 3F | CCF | CY <- NOT CY | --***-0C | 4 | 1 | H <- старый C, F3 и F5 из A | |
Группа 01 | ||||||||
01 110 110 | 76 | HALT | -------- | 4 | 1 | Повторяет циклы NOP до прерывания или сброса | ||
01 DDD 110 | LD DDD, [HL] | DDD <- [HL] | -------- | 7/15* | 1 | |||
01 110 SSS | LD [HL], SSS | [HL] <- SSS | -------- | 7/15* | 1 | |||
01 DDD SSS | LD DDD, SSS | DDD <- SSS | -------- | 4 | 1 | DDD и SSS не равны 110 | ||
Группа 10 | ||||||||
10 000 SSS | ADD A, SSS | A <- A+SSS | SZ5H3V0C | 4/7/15* | 1 | |||
10 001 SSS | ADC A, SSS | A <- A+SSS+CY | SZ5H3V0C | 4/7/15* | 1 | |||
10 010 SSS | SUB A, SSS | A <- A-SSS | SZ5H3V1C | 4/7/15* | 1 | |||
10 011 SSS | SBC A, SSS | A <- A-SSS-CY | SZ5H3V1C | 4/7/15* | 1 | |||
10 100 SSS | AND A, SSS | A <- A AND SSS | SZ513P00 | 4/7/15* | 1 | |||
10 101 SSS | XOR A, SSS | A <- A XOR SSS | SZ503P00 | 4/7/15* | 1 | |||
10 110 SSS | OR A, SSS | A <- A OR SSS | SZ503P00 | 4/7/15* | 1 | |||
10 111 SSS | CP SSS | A-SSS | SZ*H*V1C | 4/7/15* | 1 | F5 и F3 - копия SSS | ||
Группа 11 | ||||||||
11 CCC 000 | RET CCC | Если CCC то PCL <- [SP] PCH <- [SP+1] SP <- SP+2 |
-------- | 11/5 | 1 | |||
11 RP0 001 | POP RP | RPH <- [SP] RPL <- [SP+1] SP <- SP+2 |
-------- ******** |
10 | 1 | Если RP=3, то подразумевается PSW, а не SP | ||
11 001 001 | C9 | RET | PCL <- [SP] PCH <- [SP+1] SP <- SP+2 |
-------- | 10 | 1 | ||
11 011 001 | D9 | EXX | BC,DE,HL <-> BC',DE',HL' | -------- | 4 | 1 | ||
11 101 001 | E9 | JP [HL] | PC <- HL | -------- | 4 | 1 | С префиксами становится JP [IX], а не JP [IX+d] | |
11 111 001 | F9 | LD SP,HL | SP <- HL | -------- | 6 | 1 | ||
11 CCC 010 | nn | JP CCC, [nn] | Если CCC то PC <- nn | -------- | 10 | 3 | ||
11 000 011 | C3 | nn | JP nn | PC <- nn | -------- | 10 | 3 | |
11 001 011 | CB | Префикс | ||||||
11 010 011 | D3 | d | OUT (d),A | [Ad] <- A | -------- | 11 | 2 | Номер порта в реальности 16-разрядный |
11 011 011 | DB | d | IN A, (d) | A <- [Ad] | -------- | 11 | 2 | Номер порта в реальности 16-разрядный |
11 100 011 | E3 | EX (SP),HL | [SP] <-> HL | -------- | 19 | 1 | ||
11 101 011 | EB | EX DE,HL | DE <-> HL | -------- | 4 | 1 | Префиксы игнорируются | |
11 110 011 | F3 | DI | IFF1 <- 0 IFF2 <- 0 | -------- | 4 | 1 | Запрет прерывания | |
11 111 011 | FB | EI | IFF1 <- 1 IFF2 <- 1 | -------- | 4 | 1 | Разрешение прерывания. До завершения следующей команды проверка на INT блокируется (как после NONI) | |
11 ССС 100 | nn | CALL ССС, [nn] | Если ССС то SP <- SP-2 [SP] <- (PC+3)L [SP+1] <- (PC+3)H PC <- nn |
-------- | 17/10 | 3 | ||
11 RP0 101 | PUSH RP | SP <- SP-2 [SP] <- RPL [SP+1] <- RPH |
-------- | 11 | 1 | Если RP=3, то подразумевается PSW, а не SP | ||
11 001 101 | CD | nn | CALL [nn] | SP <- SP-2 [SP] <- PCL [SP+1] <- PCH PC <- nn |
-------- | 17 | 3 | |
11 011 101 | DD | Префикс | ||||||
11 101 101 | ED | Префикс | ||||||
11 111 101 | FD | Префикс | ||||||
11 000 110 | C6 | d | ADD A, d | A <- A+d+CY | SZ5H3V0C | 7 | 2 | |
11 001 110 | CE | d | ADC A, d | A <- A+d+CY | SZ5H3V0C | 7 | 2 | |
11 010 110 | D6 | d | SUB A, d | A <- A-d | SZ5H3V1C | 7 | 2 | |
11 011 110 | DE | d | SBC A, d | A <- A-d-CY | SZ5H3V1C | 7 | 2 | |
11 100 110 | E6 | d | AND A, d | A <- A AND d | SZ513P00 | 7 | 2 | |
11 101 110 | EE | d | XOR A, d | A <- A XOR d | SZ503P00 | 7 | 2 | |
11 110 110 | F6 | d | OR A, d | A <- A OR d | SZ503P00 | 7 | 2 | |
11 111 110 | FE | d | CP A, d | A-d | SZ*H*V1C | 7 | 2 | F5 и F3 - копия d |
11 NNN 111 | RST NNN | [SP-1] <- PCH [SP-2] <- PCL SP <- SP-2 PCH <- 0 PCL <- NNN*8 |
-------- | 11 | 1 |
Матрица команд, на которые влияют префиксы DD и FD[1]
+-------------------------------------------------+ | 60 70 | | 21 61 71 E1 | | 22 62 72 | | 23 63 73 E3 | | 24 34 44 54 64 74 84 94 A4 B4 | | 25 35 45 55 65 75 85 95 A5 B5 E5 | | 26 36 46 56 66 86 96 A6 B6 | | 67 77 | | 68 | | 09 19 29 39 69 E9 F9 | | 2A 6A | | 2B 6B CB | | 2C 4C 5C 6C 7C 8C 9C AC BC | | 2D 4D 5D 6D 7D 8D 9D AD BD | | 2E 4E 5E 6E 7E 8E 9E AE BE | | 6F | +-------------------------------------------------+
Примечания
Ссылки
- Декодирование кодов команд (англ.)
- Таблица команд со временем исполнения (англ.)
- Алфавитный список команд с пояснениями (англ.)
- Действие команд на флаги (англ.)