1.11. М н е м о н и к а к о м а н д м и к р о п р о ц е с с о р о в Intel 8080 и Z80QT19L010>p0 ┌──────────┬─────────────┬─────────────────────┬──────┬───┬───┬──────────────────────┬──────────────┐ │ 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 │ └──────────┴─────────────┴─────────────────────┴──────┴───┴───┴─────────────────────────────────────┘ \/fn \page p1p0QT18L010>┌──────────┬─────────────┬─────────────────────┬──────┬───┬───┬──────────────────────┬──────────────┐ │ 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 │ │ │ └──────────┴─────────────┴─────────────────────┴──────┴───┴───┴──────────────────────┴──────────────┘ \/fn \page