130 lines
5.1 KiB
Plaintext
130 lines
5.1 KiB
Plaintext
|
||
Summary of 8080 Instructions
|
||
------- -- ---- ------------
|
||
|
||
Abbreviations used in this Summary:
|
||
|
||
R Any of the 8-Bit registers A,B,C,D,E,H,L.
|
||
data Any 8-bit or 16-bit value.
|
||
PC Program Counter.
|
||
SP Stack Pointer.
|
||
RM Register A,B,C,D,E,H,L or memory M pointed by HL.
|
||
BD Either register pair BC or DE (B=BC, D=DE).
|
||
BP Any byte pair symbol (B=BC, D=DE, H=HL, PSW=AF).
|
||
RP Any register pair (B=BC, D=DE, H=HL, SP=SP).
|
||
Addr A 16-Byte address.
|
||
|
||
8-Bit Transfers
|
||
|
||
MOV RM1,RM2 Moves data from one register to another.
|
||
MVI RM,data Puts 8 bits into register, or memory.
|
||
LDA Addr Puts 8 bits at location Addr into A Register.
|
||
STA Addr Stores 8 bits at location Addr.
|
||
LDAX BD Loads A register with 8 bits from location in BC or DE.
|
||
STAX BD Stores A register at location in BC or DE.
|
||
|
||
16-Bit Transfers
|
||
|
||
LHLD Addr Loads HL register with 16 bits found at Addr and Addr+1.
|
||
SHLD Addr Stores HL register contents at Addr and Addr+1.
|
||
LXI RP,data Loads 16 bits into B,D,H, or SP.
|
||
PUSH BP Puts 16 bits of BP onto stack. SP=SP-2.
|
||
POP BP Takes top of stack, puts it in BP. SP=SP+2.
|
||
XTHL Exchanges HL with top of stack.
|
||
SPHL Puts contents of HL into SP (stack pointer).
|
||
PCHL Puts contents of HL into PC (program counter) [=JMP (HL].
|
||
XCHG Exchanges HL and DE.
|
||
|
||
8-Bit Arithmetic
|
||
|
||
ADD RM Adds contents of register R to A register.
|
||
SUB RM Subtracts contents of register R from A register.
|
||
INR RM Increments register R by one. R=R+1.
|
||
DCR RM Decrements register R by one. R=R-1.
|
||
CMP RM Compares contents of R with A register.
|
||
ANA RM Logically ANDs contents of R with A register.
|
||
ORA RM Logically ORs contents of R with A register.
|
||
XRA RM Exclusive-OR contents of R with A register.
|
||
|
||
ADI data Adds 8 bit data to contents of A register.
|
||
SUI data Subtracts 8 bit data from contents of A register.
|
||
CPI data Compares 8 bit data with contents of A register.
|
||
ANI data Logically ORs 8 bit data with contents of A register.
|
||
ORI data Logically ORs 8 bit data with contents of A register.
|
||
XRI data Exclusive-OR 8 bit data with A register.
|
||
|
||
DAA Convert A register to packed Binary Coded Decimal.
|
||
ADC RM Add with carry.
|
||
ACI data Add with carry immediate.
|
||
SBB RM Subtract with borrow.
|
||
SBI data Subtract with borrow immediate.
|
||
|
||
16-Bit Arithmetic
|
||
|
||
DAD RP Adds contents of register RP to contents of HL register.
|
||
INX RP Increments register RP.
|
||
DCX RP Decrements register RP.
|
||
|
||
Jumps, Calls, and Returns
|
||
|
||
JMP Addr Unconditional Jump to location Addr.
|
||
CALL Addr Unconditional Subroutine call to location Addr.
|
||
RET Unconditional return from subroutine.
|
||
|
||
Conditional variations
|
||
|
||
Flag condition Jump Call Return
|
||
-------------- ------ ------ ------
|
||
Nonzero JNZ CNZ RNZ
|
||
Zero JZ CZ RZ
|
||
No Carry JNC CNC RNC
|
||
Carry JC CC RC
|
||
Parity Odd JPO CPO RPO
|
||
Parity Even JPE CPE RPE
|
||
Plus JP CP RP
|
||
Minus JM CM RM
|
||
|
||
Rotations
|
||
|
||
RAL Rotate Accumulator Left: Bit0=C C=Bit7.
|
||
RAR Rotate Accumulator Right: Bit7=C C=Bit0.
|
||
RLC Rotate Accumulator Left thru Carry: Bit0=Bit7 C=Bit7.
|
||
RRC Rotate Accumulator Right thru Carry: Bit7=Bit0 C=Bit0.
|
||
|
||
Other Instructions
|
||
|
||
IN Port Data from Port placed in A register.
|
||
OUT Port Data from A register placed in Port.
|
||
|
||
CMC Complement Carry Flag.
|
||
STC Set Carry Flag = 1.
|
||
CMA Complement A register.
|
||
|
||
HLT Halt CPU and wait for interrupt.
|
||
NOP No operation.
|
||
|
||
DI Disable Interrupts.
|
||
EI Enable Interrupts.
|
||
|
||
RST 0 Call 0000H.
|
||
RST 1 Call 0008H.
|
||
RST 2 Call 0010H.
|
||
RST 3 Call 0018H.
|
||
RST 4 Call 0020H.
|
||
RST 5 Call 0028H.
|
||
RST 6 Call 0030H.
|
||
RST 7 Call 0038H.
|
||
|
||
Assembler Directives
|
||
|
||
ORG Addr Begin Assembly at Addr.
|
||
END Causes Assembly to End.
|
||
EQU Addr Define symbolic label. A label name must precede EQU.
|
||
(For example, BDOS EQU 05H.)
|
||
SET Exp Set numeric constant.
|
||
IF Exp Conditional Assembly, if Exp<>0.
|
||
ENDIF End of Conditional Assembly.
|
||
DB List Define Bytes. May be Hex, ASCII, etc.
|
||
DW List Define Words. May be Hex, ASCII, etc.
|
||
DS Exp Define Storage of length Exp.
|
||
|