[<>] ~~TOC wide~~ ====== 1.11. Мнемоника команд микропроцессоров Intel 8080 и Z80 ====== FIXME |<100% 10% 13% 20% 5% 3% 3% 25% 30%>| ^ Мнемоника ^^ //Действие// ^ CZPSNH ^ Дл. ^ Вр. ^ //Комментарии// ^ Примечания ^ ^ INTEL 80 ^ Z80 ^:::^:::^:::^:::^:::^:::^ |ADC r|ADC A,r|A:=A+r+CY|%% **V*0* %%|1|4|r ≡ A,B,C,D,E,H,L|Add with Carry to Acc| |ADC M|ADC A,(HL)|A:=A+(HL)+CY| |1|7| |:::| |ACI,n|ADC A,n|A:=A+n+CY| |2|7|n - byte (0..FF)| | | — |ADC A,(ii+n)|A:=A+(ii+n)+CY| |3|19|ii=IX,IY|Add register + Carry to[HL]| | — |ADC HL,rr|HL:=HL+rr+CY|%% **V*0x %%|2|15|rr ≡ BC,DE,HL,SP|:::| | |||||||| |ADD r|ADD A,r| A:=A+r|%% **V*0* %%|1|4| | Add | |ADD M|ADD A,(HL)|A:=A+(HL)| | 1 |7|:::|:::| |ADI n|ADD A,n|A:=A+n| |2|7|:::|:::| | — |ADD A,(ii+n)| A:=A+(ii+n)| |3|19|:::|:::| |DAD rr|ADD HL,rr|HL:=HL+rr|%% *...0x %%|1|11|:::|:::| | — |ADD IX,ry|IX:=IX+px| |2|15|ry ≡ BC,DE,SP,IY|IY, IX — 16 bits| | — |ADD IY,rx|IY:=IY+py| |2|15|rx ≡ BC,DE,SP,IX|:::| | |||||||| |ANA r|AND r|A:=A and r|0*P*01|1|4| | Logical AND | |ANA m|AND (HL)|A:=A and (HL)| |1|7|:::|:::| |ANI n|AND n|A:=A and n| |2|7|:::|:::| | — |AND (ii+n)|A:=A and (ii+n)| |3|19|:::|:::| | |||||||| | — |BIT b,r|Z:=not rб|.*xx01|2|8|b — номер бита (0÷7)| Test BIT | | — |BIT b,(HL)|Z:=not (HL)б| |2|12|xб — bit b of|:::| | — |BIT b,(ii+n)|Z:=not (ii+n)б| |4|20|location x|:::| | |||||||| |CALL nn|CALL nn|PUSH PC;PC:=nn|......|3|17|nn - word (0..FFFF)|Call subroutin| | — |CALL cc,nn| Если cc, то CALL nn \\ иначе продолжить| |3|17|cc ≡ C,NC,Z,NZ,M,P,PE,PO|Call conditional| |CC nn|CALL C,nn| | | |10|:::|:::| |CM nn|CALL M,nn| | | | |:::|:::| |CNC nn|CALL NC,nn| | | | |:::|:::| |CNZ nn|CALL NZ,nn| | | | |:::|:::| |CP nn|CALL P,nn| | | | |:::|:::| |CPE nn|CALL PE,nn| | | | |:::|:::| |CPO nn|CALL PO,nn| | | | |:::|:::| |CZ nn|CALL Z,nn| | | | |:::|:::| | |||||||| |CMC|CCF|CY:=not CY|*...0x|1|4| CoMplement Carry Flag || | |||||||| |CPM r|CP r|A-r|%% **V*1* %%|1|4| | Compare | |CPM m|CP (HL)|A-(HL)|:::|1|7|:::|:::| |CPI n|CP n|A-n| |2|7|:::|:::| | — |CP (ii+n)|A-(ii+n)| |3|19|:::|:::| | |||||||| | — | CPD| A-(HL);dec HL;dec BC|%% .***1* %%|2|16|PV=0 если BC=0 иначе PV=1|Compare, decrem| | |||||||| | — |CPDR|Повторять CPD, пока Z=1 or BC=0|%% .***1* %%| 2 | 21| |Compare, decrement, repeat| |:::|:::|:::|:::|:::|16|:::|:::| | |||||||| | — |CPI|A-(HL);inc HL;dec BC|%% .***1* %%|2|16|PV=0 если BC=0 иначе PV=1|Compare, decrem| | |||||||| | — |CPIR|Повторять CPI, пока Z=1 or BC=0|%% .***1* %%|2|21| |Compare, decrement, repeat| |:::|:::|:::|:::|:::|16|:::|:::| | |||||||| |CMA|CPL|A:=A xor 255|....11|1|4| |Complement Acc| | |||||||| |DAA|DAA| |%% **P*.* %%|1|4| |Dec. Adj. Acc.| | |||||||| |DCR r|DEC r|r:=r-1|.*V*1*|1|4| | Decrement | |DCM M|DEC (HL)|(HL):=(HL)-1| |1|11|:::|:::| | — |DEC (ii+n) |(ii+n):=(ii+n)-1| |3|23|:::|:::| |DCX rr|DEC rr|rr:=rr-1|......|1|6|:::|:::| | — |DEC ii|ii:=ii-1| |2|10|:::|:::| | |||||||| |DI|DI|IFF:=0|......|1|4| Disable interrupts | | |||||||| | — |DJNZ e|dec B; если B≠0 JR e \\ если B=0 продолжать|......|2|13|e — относительный адрес| Decrement & jump if Not 0| |:::|:::|:::|:::|:::|8|:::|:::| | |||||||| |EI|EI|IFF:=1|......|1|4| Enable interrupts | | |||||||| ====== Оригинал ====== FIXME DELETEME ┌──────────┬─────────────┬─────────────────────┬──────┬───┬───┬──────────────────────┬──────────────┐ │ INTEL 80 │Мнемоника Z80│ Д е й с т в и е │CZPSNH│Дл.│Вр.│ К о м м е н т а р и и│ Примечания │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ ADC r │ ADC A,r │ A:=A+r+CY │**V*0*│ 1 │ 4│ r ≡ A,B,C,D,E,H,L │Add with Carry│ │ ADC M │ ADC A,(HL) │ A:=A+(HL)+CY │ │ 1 │ 7│ │ to Acc │ │ ACI,n │ ADC A,n │ A:=A+n+CY │ │ 2 │ 7│ n - byte (0..FF) │ │ │ - │ ADC A,(ii+n)│ A:=A+(ii+n)+CY │ │ 3 │ 19│ ii=IX,IY │Add register +│ │ - │ ADC HL,rr │ HL:=HL+rr+CY │**V*0x│ 2 │ 15│ rr ≡ BC,DE,HL,SP │Carry to[HL] │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ ADD r │ ADD A,r │ A:=A+r │**V*0*│ 1 │ 4│ │ │ │ ADD M │ ADD A,(HL) │ A:=A+(HL) │ │ 1 │ 7│ │ Add │ │ ADI n │ ADD A,n │ A:=A+n │ │ 2 │ 7│ │ │ │ - │ ADD A,(ii+n)│ A:=A+(ii+n) │ │ 3 │ 19│ │ │ │ DAD rr │ ADD HL,rr │ HL:=HL+rr │*...0x│ 1 │ 11│ │ │ │ - │ ADD IX,ry │ IX:=IX+px │ │ 2 │ 15│ ry ≡ BC,DE,SP,IY │ IY \ 16 │ │ - │ ADD IY,rx │ IY:=IY+py │ │ 2 │ 15│ rx ≡ BC,DE,SP,IX │ IX / bits │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ ANA r │ AND r │ A:=A and r │0*P*01│ 1 │ 4│ │ │ │ ANA m │ AND (HL) │ A:=A and (HL) │ │ 1 │ 7│ │ Logical AND │ │ ANI n │ AND n │ A:=A and n │ │ 2 │ 7│ │ │ │ - │ AND (ii+n) │ A:=A and (ii+n) │ │ 3 │ 19│ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ - │ BIT b,r │ Z:=not rб │.*xx01│ 2 │ 8│ b - номер бита (0÷7) │ │ │ - │ BIT b,(HL) │ Z:=not (HL)б │ │ 2 │ 12│xб - bit b of │ Test BIT │ │ - │ BIT b,(ii+n)│ Z:=not (ii+n)б │ │ 4 │ 20│ location x │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ CALL nn │ CALL nn │ PUSH PC;PC:=nn │......│ 3 │ 17│nn - word (0..FFFF) │Call subroutin│ │ - │ CALL cc,nn │ Если cc, то CALL nn │ │ 3 │ 17│cc ≡ C,NC,Z,NZ,M,P,PE,│Call │ │ CC nn │ CALL C,nn │ иначе продолжить │ │ │ 10│ PO │conditional │ │ CM nn │ CALL M,nn │ │ │ │ │ │ │ │ CNC nn │ CALL NC,nn │ │ │ │ │ │ │ │ CNZ nn │ CALL NZ,nn │ │ │ │ │ │ │ │ CP nn │ CALL P,nn │ │ │ │ │ │ │ │ CPE nn │ CALL PE,nn │ │ │ │ │ │ │ │ CPO nn │ CALL PO,nn │ │ │ │ │ │ │ │ CZ nn │ CALL Z,nn │ │ │ │ │ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┴──────────────┤ │ CMC │ CCF │ CY:=not CY │*...0x│ 1 │ 4│ CoMplement Carry Flag │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤ │ CPM r │ CP r │ A-r │**V*1*│ 1 │ 4│ │ │ │ CPM m │ CP (HL) │ A-(HL) │ │ 1 │ 7│ │ Compare │ │ CPI n │ CP n │ A-n │ │ 2 │ 7│ │ │ │ - │ CP (ii+n) │ A-(ii+n) │ │ 3 │ 19│ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ - │ CPD │ A-(HL);dec HL;dec BC│.***1*│ 2 │ 16│PV=0еслиBC=0иначе PV=1│Compare,decrem│ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ - │ CPDR │ Повторять CPD , │.***1*│ 2 │ 21│ │Compare,decre-│ │ │ │ пока Z=1 or BC=0 │ │ │ 16│ │ment,repeat │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ - │ CPI │ A-(HL);inc HL;dec BC│.***1*│ 2 │ 16│PV=0 еслиBC=0иначеPV=1│Compare,decrem│ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ - │ CPIR │ Повторять CPI , │.***1*│ 2 │ 21│ │Compare,decre-│ │ │ │ пока Z=1 or BC=0 │ │ │ 16│ │ment,repeat │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ CMA │ CPL │ A:=A xor 255 │....11│ 1 │ 4│ │Complement Acc│ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ DAA │ DAA │ │**P*.*│ 1 │ 4│ │Dec. Adj. Acc.│ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ DCR r │ DEC r │ r:=r-1 │.*V*1*│ 1 │ 4│ │ │ │ DCM M │ DEC (HL) │ (HL):=(HL)-1 │ │ 1 │ 11│ │ Decrement │ │ - │ DEC (ii+n) │ (ii+n):=(ii+n)-1 │ │ 3 │ 23│ │ │ │ DCX rr │ DEC rr │ rr:=rr-1 │......│ 1 │ 6│ │ │ │ - │ DEC ii │ ii:=ii-1 │ │ 2 │ 10│ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┴──────────────┤ │ DI │ DI │ IFF:=0 │......│ 1 │ 4│ Disable interrupts │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤ │ - │ DJNZ e │ dec B;если B≠0 JR e │......│ 2 │ 13│ e - относительный │ Decrement & │ │ │ │ если B=0 продолжать│ │ │ 8│ адрес │jump if Not 0 │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┴──────────────┤ │ EI │ EI │ IFF:=1 │......│ 1 │ 4│ Enable interrupts │ └──────────┴─────────────┴─────────────────────┴──────┴───┴───┴─────────────────────────────────────┘ ┌──────────┬─────────────┬─────────────────────┬──────┬───┬───┬──────────────────────┬──────────────┐ │ Intel 80 │Мнемоника Z80│ Д е й с т в и е │CZPSNH│Дл.│Вр.│ К о м м е н т а р и и│ Примечания │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ - │ EX AF,AF' │ AF ◀─▶ AF' │......│ 1 │ 4 │ │ │ │ XCHG │ EX DE,HL │ DE ◀─▶ HL │ │ 1 │ 4 │ │ EXchange │ │ XTHL │ EX (SP),HL │ (SP) ◀─▶ HL │ │ 1 │ 4 │ │ │ │ - │ EX (SP),ii │ (SP) ◀─▶ ii │ │ 2 │23 │ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┴──────────────┤ │ - │ EXX │ BC◀─▶BC';DE◀─▶DE'; │......│ 1 │ 4 │ Exchange Register pair & │ │ │ │ HL◀─▶HL' │ │ │ │ Arternatives │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤ │ HLT │ HALT │ Останов центр.проц. │......│ 1 │ 4 │ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ - │ IM 1 │ Режим прерываний 1 │......│ 2 │ 8 │ │ │ │ - │ IM 2 │ Режим прерываний 2 │ │ │ │ │ │ │ - │ IM 3 │ Режим прерываний 3 │ │ │ │ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ IN n │ IN A,(n) │ A:=port(n) │......│ 2 │11 │ │ │ │ - │ IN r,(C) │ r:=port(C) │.*P*0*│ 2 │12 │ │ │ │ - │ IN ?,(C) │ Только устанавливает│.*P*0*│ 2 │12 │ Не является командой │ INput │ │ │ │ флаги как IN r,(C) │ │ │ │ (код ED 70) │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ INR r │ INC r │ r:=r+1 │.*V*0*│ 1 │ 4 │ │ │ │ INR M │ INC (HL) │ (HL):=(HL)+1 │ │ 1 │11 │ │ │ │ - │ INC (ii+n) │ (ii+n):=(ii+n)+1 │ │ 3 │23 │ │ INCrement │ │ INX rr │ INC rr │ rr:=rr+1 │......│ 1 │ 6 │ │ │ │ - │ INC ii │ ii:=ii+1 │ │ 2 │10 │ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ - │ IND │ (HL):=port(C); │x*xx1x│ 2 │16 │Z=1 если B=0,иначе Z=0│ INput,Decre- │ │ │ │ dec HL;dec B │ │ │ │ │ ment │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ - │ INDR │ Повторять IND , │x1xx1x│ 2 │21 │ │ INput,Decre- │ │ │ │ пока B=0 │ │ │16 │ │ ment,Repeat │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ - │ INI │ (HL):=port(C); │x*xx1x│ 2 │16 │Z=1 if B=0,else Z=0 │ INput,Incre- │ │ │ │ inc HL;dec B │ │ │ │ │ ment │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ - │ INIR │ Повторять INI , │x1xx1x│ 2 │21 │ │ INput,Incre- │ │ │ │ пока B=0 │ │ │16 │ │ ment,Repeat │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ JNP nn │ JP nn │ PC:=nn │......│ 3 │10 │ │ │ │ JC nn │ JP C,nn │ │ │ │ │ │ │ │ JM nn │ JP M,nn │ │ │ │ │ │ │ │ JNC nn │ JP NC,nn │ │ │ │ │ │ │ │ JP nn │ JP P,nn │ │ │ │ │ │ │ │ JNZ nn │ JP NZ,nn │ │ │ │ │ │ J u m p │ │ JPE nn │ JP PE,nn │ │ │ │ │ │ │ │ JPO nn │ JP PO,nn │ │ │ │ │ │ │ │ JZ nn │ JP Z,nn │ │ │ │ │ │ │ │ - │ JP cc,nn │ Если cc, то JP nn │......│ 3 │10 │ │ │ │ PCHL │ JP (HL) │ PC:=HL │ │ 1 │ 4 │ │ │ │ - │ JP (ii) │ PC:=ii │ │ 2 │ 8 │ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ - │ JR e │ PC:=PC+e │......│ 2 │12 │ │ Relative jump│ │ - │ JR cond,e │ Если cond, то JR e │ │ 2 │12 │cond ≡ C,NC,Z,NZ │ │ │ │ │ иначе NOP │ │ │ 7 │ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ MOV r,r │ LD r,r │ r:=r │......│ 1 │ 4 │ │ │ │ MOV r,M │ LD r,(HL) │ r:=(HL) │ │ 1 │ 7 │ │ │ │ MVI r,n │ LD r,n │ r:=n │ │ 2 │ 7 │ │ │ │ - │ LD r,(ii+n) │ r:=(ii+n) │ │ 3 │19 │ │ │ │ MOV M,r │ LD (HL),r │ (HL):=r │ │ 1 │ 7 │ │ │ │ - │ LD (ii+n),r │ (ii+n):=r │ │ 3 │19 │ │ │ │ MVI M,n │ LD (HL),n │ (HL):=n │ │ 2 │10 │ │ │ │ - │ LD (ii+n),n │ (ii+n):=n │ │ 4 │19 │ │ │ │ LDAX B │ LD A,(BC) │ A:=(BC) │ │ 1 │ 7 │ │ L o a d │ │ LDAX D │ LD A,(DE) │ A:=(DE) │ │ 1 │ 7 │ │ │ │ LDA nn │ LD A,(nn) │ A:=(nn) │ │ 3 │13 │ │ │ │ STAX B │ LD (BC),A │ (BC):=A │ │ 1 │ 7 │ │ │ │ STAX D │ LD (DE),A │ (DE):=A │ │ 1 │ 7 │ │ │ │ STA nn │ LD (nn),A │ (nn):=A │ │ 3 │13 │ │ │ │ - │ LD A,I │ A:=I │.***00│ 2 │ 9 │PV=IFF │ │ │ - │ LD A,R │ A:=R │ │ 2 │ 9 │PV=IFF │ │ │ - │ LD I,A │ I:=A │......│ 2 │ 9 │ │ │ │ - │ LD R,A │ R:=A │ │ 2 │ 9 │ │ │ └──────────┴─────────────┴─────────────────────┴──────┴───┴───┴──────────────────────┴──────────────┘ ┌──────────┬─────────────┬─────────────────────┬──────┬───┬───┬──────────────────────┬──────────────┐ │ INTEL 80 │Мнемоника Z80│ Д е й с т в и е │CZPSNH│Дл.│Вр.│ К о м м е н т а р и и│ Примечания │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ LXIrr,nn│ LD rr,nn │ rr:=nn │ │ 3 │ 10│ │ │ │ --- │ LD ii,nn │ ii:=nn │ │ 4 │ 14│ │ │ │ LHLD nn │ LD HL,(nn) │ HL:=(nn) │ │ 3 │ 16│ │ │ │ --- │ LD rr,(nn) │ rr:=(nn) │ │ 4 │ 20│ │ │ │ --- │ LD ii,(nn) │ ii:=(nn) │ │ 4 │ 20│ │ │ │ SHLD nn │ LD (nn),HL │ (nn):=HL │ │ 3 │ 16│ │ │ │ --- │ LD (nn),rr │ (nn):=rr │ │ 4 │ 20│ │ │ │ --- │ LD (nn),ii │ (nn):=ii │ │ 4 │ 20│ │ │ │ SPHL │ LD SP,HL │ SP:=HL │ │ 1 │ 6│ │ │ │ --- │ LD SP,ii │ SP:=ii │ │ 1 │ 10│ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ --- │ LDD │ (DE):=(HL); │..*.00│ 2 │ 16│PV=0 if BC=0,else PV=1│load,decrement│ │ │ │ dec DE,HL,BC │ │ │ │ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ --- │ LDDR │ Повторять LDD │..0.00│ 2 │ 21│ │load,decrement│ │ │ │ до Z=1 or BC=0 │ │ │ 16│ │repead │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ --- │ LDI │ (DE):=(HL); │..*.00│ 2 │ 16│PV=0 if BC=0,else PV=1│load,increment│ │ │ │ inc DE,HL;dec BC │ │ │ │ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ --- │ LDIR │ Повторять LDI │..0.00│ 2 │ 21│ │load,increment│ │ │ │ до Z=1 or BC=0 │ │ │ 16│ │repead │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ --- │ NEG │ A:=0-A │**V*1*│ 2 │ 8│ │Negate Acc │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ NOP │ NOP │ Отсутствие операции │......│ 1 │ 4│ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ ORA r │ OR r │ A:=A or r │0*P*00│ 1 │ 4│ │ Logical OR │ │ ORA M │ OR (HL) │ A:=A or (HL) │ │ 1 │ 7│ │ │ │ ORI n │ OR n │ A:=A or n │ │ 2 │ 7│ │ │ │ --- │ OR (ii+n) │ A:=A or (ii+n) │ │ 3 │ 19│ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ --- │ OTDR │ Повторять OUTD │x1xx1x│ 2 │ 21│ │ Output,decre-│ │ │ │ до B=0 │ │ │ 16│ │ ment,repeat │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ --- │ OTIR │ Повторять OUTI │x1xx1x│ 2 │ 21│ │ Output,incre-│ │ │ │ до B=0 │ │ │ 16│ │ ment,repeat │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ OUT n │ OUT (n),A │ port(n):=A │......│ 2 │ 11│ │ Output │ │ --- │ OUT (C),r │ port(C):=r │ │ 2 │ 12│ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ --- │ OUTD │ port(C):=(HL); │x*xx1x│ 2 │ 16│Z=1 if B=0,else Z=0 │ Output,decre-│ │ │ │ dec HL;dec B │ │ │ │ │ ment │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ --- │ OUTI │ port(C):=(HL); │x*xx1x│ 2 │ 16│Z=1 if B=0,else Z=0 │out,increment │ │ │ │ inc HL;dec B │ │ │ │ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ POP gg │ POP qq │ qq:=(SP);SP:=SP+2 │......│ 1 │ 10│qq ≡ AF,BC,DE,HL │Pop from stack│ │ --- │ POP ii │ ii:=(SP);SP:=SP+2 │ │ 2 │ 14│ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ PUSH gg │ PUSH qq │ SP:=SP-2;(SP):=qq │......│ 1 │ 11│ │Push to stack │ │ --- │ PUSH ii │ SP:=SP-2;(SP):=ii │ │ 2 │ 15│ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ --- │ RES b,r │ rб:=0 │......│ 2 │ 8│ │ │ │ --- │ RES b,(HL) │ (HL)б:=0 │ │ 2 │ 15│ │ Reset Bit │ │ --- │ RES b,(ii+n)│ (ii+n)б:=0 │ │ 4 │ 23│ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ RET │ RET │ POP PC │......│ 1 │ 10│ │ Return from │ │ ├─────────────┤ │ │ │ │ │ subroutine │ │ │ RET cc │ Если cc то RET │ │ │ │ │ │ │ ├─────────────┤ иначе NOP │......│ 1 │ 11│ ├──────────────┤ │ RC │ RET c │ │ │ │ 5│ │ │ │ RM │ RET M │ │ │ │ │ │ Return │ │ RNC │ RET NC │ │ │ │ │ │ conditional │ │ RNZ │ RET NZ │ │ │ │ │ │ │ │ RP │ RET P │ │ │ │ │ │ │ │ RPE │ RET PE │ │ │ │ │ │ │ │ RPO │ RET PO │ │ │ │ │ │ │ │ RZ │ RET Z │ │ │ │ │ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┴──────────────┤ │ --- │ RETI │ Возврат из прерыван.│......│ 2 │ 14│ Return from interrupt │ └──────────┴─────────────┴─────────────────────┴──────┴───┴───┴─────────────────────────────────────┘ ┌──────────┬─────────────┬─────────────────────┬──────┬───┬───┬──────────────────────┬──────────────┐ │ INTEL 80 │Мнемоника Z80│ Д е й с т в и е │CZPSNH│Дл.│Вр.│ К о м м е н т а р и и│ Примечания │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┴──────────────┤ │ --- │ RETN │Возвр.из немаск.прер.│......│ 2 │ 14│ Return from Non-mascable │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤ │ --- │ RL r │ ┌───────▶──────┐ │**P*00│ 2 │ 8│ │ Rotate left │ │ --- │ RL (HL) │ │┌──┐ ┌───────┐│ │ │ 2 │ 15│ │ through Carry│ │ --- │ RL (ii+n) │ └┤CY├◀┤7 ◀── 0├┘ │ │ 4 │ 23│ │ │ ├──────────┼─────────────┤ └──┘ └───────┘ ├──────┼───┼───┼──────────────────────┴──────────────┤ │ RAL │ RLA │ │*...00│ 1 │ 4│ Rotate Acc. left throgh Carry │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤ │ --- │ RLC r │ ┌────▶────┐ │**P*00│ 2 │ 8│ │ Rotate left │ │ --- │ RLC (HL) │ ┌──┐ │┌───────┐│ │ │ 2 │ 15│ │ circular │ │ --- │ RLC (ii+n) │ │CY├◀┴┤7 ◀── 0├┘ │ │ 4 │ 23│ │ │ ├──────────┼─────────────┤ └──┘ └───────┘ ├──────┼───┼───┼──────────────────────┴──────────────┤ │ RLC │ RLCA │ │*...00│ 1 │ 4│ Rotate Acc. left circular │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤ │ --- │ RLD │ A ┌────▶───┐(HL)│.*P*00│ 2 │ 18│ │ Rotate Acc & │ │ │ │ ┌───┬─┴─┐┌───┬─┴─┐ │ │ │ │ │ Memore left │ │ │ │ │7 4│3 0││7 4│3 0│ │ │ │ │ │ decimal │ │ │ │ └───┴─┬─┘└┬┬─┴─┬─┘ │ │ │ │ │ │ │ │ │ └─◀─┘└─◀─┘ │ │ │ │ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ --- │ RR r │ ┌──────◀───────┐ │**P*00│ 2 │ 8│ │ Rotate right│ │ --- │ RR (HL) │ │┌───────┐ ┌──┐│ │ │ 2 │ 15│ │ through │ │ --- │ RR (ii+n) │ └┤7 ──▶ 0├▶┤CY├┘ │ │ 4 │ 23│ │ Carry │ ├──────────┼─────────────┤ └───────┘ └──┘ ├──────┼───┼───┼──────────────────────┴──────────────┤ │ RAR │ RRA │ │*...00│ 1 │ 4│ Rotate Acc. right through Carry │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤ │ --- │ RRC r │ ┌───◀─────┐ │**P*00│ 2 │ 8│ │ Rotate │ │ --- │ RRC (HL) │ │┌───────┐│ ┌──┐ │ │ 2 │ 15│ │ right │ │ --- │ RRC (ii+n) │ └┤7 ──▶ 0├┴▶┤CY│ │ │ 4 │ 23│ │ circular │ ├──────────┼─────────────┤ └───────┘ └──┘ ├──────┼───┼───┼──────────────────────┴──────────────┤ │ RRC │ RRCA │ │*...00│ 1 │ 4│ Rotate Acc & Memory right Decimal│ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤ │ --- │ RRD │ A ┌───◀────┐(HL)│.*P*00│ 2 │ 18│ │ Rotate Acc &│ │ │ │ ┌───┬─┴─┐┌───┬─┴─┐ │ │ │ │ │ memory │ │ │ │ │7 4│3 0││7 4│3 0│ │ │ │ │ │ Right │ │ │ │ └───┴─┬─┘└┬┬─┴─┬─┘ │ │ │ │ │ │ │ │ │ └─▶─┘└─▶─┘ │ │ │ │ │ Decimal │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ RST adr │ RST adr │ CALL adr │......│ 1 │ 11│adr - byte (000xxx00b)│ Restart │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ SBB r │ SBC A,r │ A:=A-r-CY │**V*1*│ 1 │ 4│ │ Subtract │ │ SBB M │ SBC A,(HL) │ A:=A-(HL)-CY │ │ 1 │ 7│ │ with │ │ SBI n │ SBC A,n │ A:=A-n-CY │ │ 2 │ 7│ │ Carry │ │ --- │ SBC A,(ii+n)│ A:=A-(ii+n)-CY │ │ 3 │ 19│ │ (borrow) │ │ --- │ SBC HL,rr │ HL:=HL-rr-CY │**V*1x│ 2 │ 15│ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ STC │ SCF │ CY:=1 │1...00│ 1 │ 4│ │Set Carry Flag│ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ --- │ SET b,r │ rб:=1 │......│ 2 │ 8│ │ │ │ --- │ SET b,(HL) │ (HL)б:=1 │ │ 2 │ 15│ │ Set bit │ │ --- │ SET b,(ii+n)│ (ii+n)б:=1 │ │ 4 │ 23│ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┴──────────────┤ │ --- │ SLA r │ ┌──┐ ┌───────┐ │**P*00│ 2 │ 8│ │ │ --- │ SLA (HL) │ │CY├◀┤7 ◀── 0├<0 │ │ 2 │ 15│ Shift left Arithmetic │ │ --- │ SLA (ii+n) │ └──┘ └───────┘ │ │ 4 │ 23│ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼─────────────────────────────────────┤ │ --- │ SRA r │ ┌───────┐ ┌──┐ │**P*00│ 2 │ 8│ │ │ --- │ SRA (HL) │ ┌▶┤7 ──▶ 0├▶┤CY│ │ │ 2 │ 15│ Shift right Arithmetic │ │ --- │ SRA (ii+n) │ └─┴───────┘ └──┘ │ │ 4 │ 23│ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤ │ --- │ SRL r │ ┌───────┐ ┌──┐ │**P*00│ 2 │ 8│ │ Shift right │ │ --- │ SRL (HL) │ 0▶┤7 ──▶ 0├▶┤CY│ │ │ 2 │ 15│ │ Logical │ │ --- │ SRL (ii+n) │ └───────┘ └──┘ │ │ 4 │ 23│ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ SUB r │ SUB r │ A:=A-r │**V*0*│ 1 │ 4│ │ │ │ SUB M │ SUB (HL) │ A:=A-(HL) │ │ 1 │ 7│ │ Subtract │ │ SVI n │ SUB n │ A:=A-n │ │ 2 │ 7│ │ │ │ --- │ SUB (ii+n) │ A:=A-(ii+n) │ │ 3 │ 19│ │ │ ├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤ │ XRA r │ XOR r │ A:=A xor r │0*P*00│ 1 │ 4│ │ │ │ XRA M │ XOR (HL) │ A:=A xor (HL) │ │ 1 │ 7│ │ Logical XOR │ │ XRI n │ XOR n │ A:=A xor n │ │ 2 │ 7│ │ │ │ --- │ XOR (ii+n) │ A:=A xor (ii+n) │ │ 3 │ 19│ │ │ └──────────┴─────────────┴─────────────────────┴──────┴───┴───┴──────────────────────┴──────────────┘ 8-) Мнемоника команд микропроцессоров Intel 8080 и Z80 приведены в книге [[microprocessor_kit_z80-book1:start|]], в разделе [[microprocessor_kit_z80-book1:12]] ---- [<>] {{tag>MSX msxbdpl}}