GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


archive:programming:8080.op

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. 

/home/gen.uk/domains/wiki.gen.uk/public_html/data/pages/archive/programming/8080.op.txt · Last modified: 1999/08/01 17:20 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki