Mini Z80 Assembly Manual
| Mnemônico |
SZHPNC |
Tipo |
Descrição |
Notas |
| ADC A,s |
***V0* |
Aritmética |
Add with Carry |
A=A+s+CY |
| ADC HL,ss |
**?V0* |
Aritmética |
Add with Carry |
HL=HL+ss+CY |
| ADD A,s |
***V0* |
Aritmética |
Add |
A=A+s |
| ADD HL,ss |
--?-0* |
Aritmética |
Add |
HL=HL+ss |
| ADD IX,pp |
--?-0* |
Aritmética |
Add |
IX=IX+pp |
| ADD IY,rr |
--?-0* |
Aritmética |
Add |
IY=IY+rr |
| AND s |
***P00 |
Lógica |
Logical AND |
A=A&s |
| BIT b,m |
?*1?0- |
Lógica |
Test Bit |
m&{2^b} |
| CALL cc,nn |
------ |
Desvio |
Conditional Call |
If cc CALL |
| CALL nn |
------ |
Desvio |
Unconditional Call |
-[SP]=PC,PC=nn |
| CCF |
--?-0* |
Lógica |
Complement Carry Flag |
CY=~CY |
| CP s |
***V1* |
Lógica |
Compare |
A-s |
| CPD |
****1- |
Lógica |
Compare and Decrement |
A-[HL],HL=HL-1,BC=BC-1 |
| CPDR |
****1- |
Lógica |
Compare, Dec., Repeat |
CPD till A=[HL]or BC=0 |
| CPI |
****1- |
Lógica |
Compare and Increment |
A-[HL],HL=HL+1,BC=BC-1 |
| CPIR |
****1- |
Lógica |
Compare, Inc., Repeat |
CPI till A=[HL]or BC=0 |
| CPL |
--1-1- |
Lógica |
Complement |
A=~A |
| DAA |
***P-* |
Aritmética |
Decimal Adjust Acc. |
A=BCD format |
| DEC s |
***V1- |
Aritmética |
Decrement |
s=s-1 |
| DEC xx |
------ |
Aritmética |
Decrement |
xx=xx-1 |
| DEC ss |
------ |
Aritmética |
Decrement |
ss=ss-1 |
| DI |
------ |
Pilha e outros |
Disable Interrupts |
|
| DJNZ e |
------ |
Desvio |
Dec., Jump Non-Zero |
B=B-1 till B=0 |
| EI |
------ |
Pilha e outros |
Enable Interrupts |
|
| EX [SP],HL |
------ |
Transferência de dados |
Exchange |
[SP]<->HL |
| EX [SP],xx |
------ |
Transferência de dados |
Exchange |
[SP]<->xx |
| EX AF,AF' |
------ |
Transferência de dados |
Exchange |
AF<->AF' |
| EX DE,HL |
------ |
Transferência de dados |
Exchange |
DE<->HL |
| EXX |
------ |
Transferência de dados |
Exchange |
qq<->qq' (except AF) |
| HALT |
------ |
Pilha e outros |
Halt |
|
| IM n |
------ |
Pilha e outros |
Interrupt Mode |
(n=0,1,2) |
| IN A,[n] |
------ |
Pilha e outros |
Input |
A=[n] |
| IN r,[C] |
***P0- |
Pilha e outros |
Input |
r=[C] |
| INC r |
***V0- |
Aritmética |
Increment |
r=r+1 |
| INC [HL] |
***V0- |
Aritmética |
Increment |
[HL]=[HL]+1 |
| INC xx |
------ |
Aritmética |
Increment |
xx=xx+1 |
| INC [xx+d] |
***V0- |
Aritmética |
Increment |
[xx+d]=[xx+d]+1 |
| INC ss |
------ |
Aritmética |
Increment |
ss=ss+1 |
| IND |
?*??1- |
Aritmética |
Input and Decrement |
[HL]=[C],HL=HL-1,B=B-1 |
| INDR |
?1??1- |
Aritmética |
Input, Dec., Repeat |
IND till B=0 |
| INI |
?*??1- |
Aritmética |
Input and Increment |
[HL]=[C],HL=HL+1,B=B-1 |
| INIR |
?1??1- |
Aritmética |
Input, Inc., Repeat |
INI till B=0 |
| JP [HL] |
------ |
Desvio |
Unconditional Jump |
PC=[HL] |
| JP [xx] |
------ |
Desvio |
Unconditional Jump |
PC=[xx] |
| JP nn |
------ |
Desvio |
Unconditional Jump |
PC=nn |
| JP cc,nn |
------ |
Desvio |
Conditional Jump |
If cc JP |
| JR e |
------ |
Desvio |
Unconditional Jump |
PC=PC+e |
| JR cc,e |
------ |
Desvio |
Conditional Jump |
If cc JR(cc=C,NC,NZ,Z) |
| LD dst,src |
------ |
Transferência de dados |
Load |
dst=src |
| LD A,i |
**0*0- |
Transferência de dados |
Load |
A=i(i=I,R) |
| LDD |
--0*0- |
Transferência de dados |
Load and Decrement |
[DE]=[HL],HL=HL-1,# |
| LDDR |
--000- |
Transferência de dados |
Load, Dec., Repeat |
LDD till BC=0 |
| LDI |
--0*0- |
Transferência de dados |
Load and Increment |
[DE]=[HL],HL=HL+1,# |
| LDIR |
--000- |
Transferência de dados |
Load, Inc., Repeat |
LDI till BC=0 |
| NEG |
***V1* |
Lógica |
Negate |
A=-A |
| NOP |
------ |
Pilha e outros |
No Operation |
|
| OR s |
***P00 |
Lógica |
Logical inclusive OR |
A=Avs |
| OTDR |
?1??1- |
Pilha e outros |
Output, Dec., Repeat |
OUTD till B=0 |
| OTIR |
?1??1- |
Pilha e outros |
Output, Inc., Repeat |
OUTI till B=0 |
| OUT [C],r |
------ |
Pilha e outros |
Output |
[C]=r |
| OUT [n],A |
------ |
Pilha e outros |
Output |
[n]=A |
| OUTD |
?*??1- |
Pilha e outros |
Output and Decrement |
[C]=[HL],HL=HL-1,B=B-1 |
| OUTI |
?*??1- |
Pilha e outros |
Output and Increment |
[C]=[HL],HL=HL+1,B=B-1 |
| POP xx |
------ |
Pilha e outros |
Pop |
xx=[SP]+ |
| POP qq |
------ |
Pilha e outros |
Pop |
qq=[SP]+ |
| PUSH xx |
------ |
Pilha e outros |
Push |
-[SP]=xx |
| PUSH qq |
------ |
Pilha e outros |
Push |
-[SP]=qq |
| RES b,m |
------ |
Lógica |
Reset bit |
m=m&{~2^b} |
| RET |
------ |
Desvio |
Return |
PC=[SP]+ |
| RET cc |
------ |
Desvio |
Conditional Return |
If cc RET |
| RETI |
------ |
Desvio |
Return from Interrupt |
PC=[SP]+ |
| RETN |
------ |
Desvio |
Return from NMI |
PC=[SP]+ |
| RL m |
**0P0* |
Lógica |
Rotate Left |
m={CY,m}<- |
| RLA |
--0-0* |
Lógica |
Rotate Left Acc. |
A={CY,A}<- |
| RLC m |
**0P0* |
Lógica |
Rotate Left Circular |
m=m<- |
| RLCA |
--0-0* |
Lógica |
Rotate Left Circular |
A=A<- |
|
| RLD |
**0P0- |
Lógica |
Rotate Left 4 bits |
{A,[HL]}={A,[HL]}<- ## |
| RR m |
**0P0* |
Lógica |
Rotate Right |
m=->{CY,m} |
| RRA |
--0-0* |
Lógica |
Rotate Right Acc. |
A=->{CY,A} |
| RRC m |
**0P0* |
Lógica |
Rotate Right Circular |
m=->m |
| RRCA |
--0-0* |
Lógica |
Rotate Right Circular |
A=->A |
| RRD |
**0P0- |
Lógica |
Rotate Right 4 bits |
{A,[HL]}=->{A,[HL]} ## |
| RST p |
------ |
Desvio |
Restart |
(p=0H,8H,10H,...,38H) |
| SBC A,s |
***V1* |
Aritmética |
Subtract with Carry |
A=A-s-CY |
| SBC HL,ss |
**?V1* |
Aritmética |
Subtract with Carry |
HL=HL-ss-CY |
| SCF |
--0-01 |
Lógica |
Set Carry Flag |
CY=1 |
| SET b,m |
------ |
Lógica |
Set bit |
m=mv{2^b} |
| SLA m |
**0P0* |
Lógica |
Shift Left Arithmetic |
m=m*2 |
| SRA m |
**0P0* |
Lógica |
Shift Right Arith. |
m=m/2 |
| SRL m |
**0P0* |
Lógica |
Shift Right Logical |
m=->{0,m,CY} |
| SUB s |
***V1* |
Aritmética |
Subtract |
A=A-s |
| XOR s |
***P00 |
Lógica |
Logical Exclusive OR |
A=Axs |
Instructions