p1p0QT18L010>┌──────────┬─────────────┬─────────────────────┬──────┬───┬───┬──────────────────────┬──────────────┐ │ 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 │ └──────────┴─────────────┴─────────────────────┴──────┴───┴───┴─────────────────────────────────────┘ \/fn \page p1p0QT18L010>┌──────────┬─────────────┬─────────────────────┬──────┬───┬───┬──────────────────────┬──────────────┐ │ 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│ │ │ └──────────┴─────────────┴─────────────────────┴──────┴───┴───┴──────────────────────┴──────────────┘