SILICON GATE MOS M8080A

INSTRUCTION SET

Summary of Processor Instructions

Mnemonic

 

 

 

Instruction Code (1)

 

 

Clock (21

Description

07

06

Os

04

03

02

0,

Do

Cycles

MOV r1 ,r2

Move register to register

0

1

0

0

0

S

S

S

5

MOV M,r

Move register to memory

0

1

1

1

0

S

S

S

7

MOVr,M

Move memory to register

0

1

0

0

0

1

1

0

7

HlT

Halt

0

1

1

1

0

1

1

0

7

MVIr

Move immediate register

0

0

0

0

0

1

1

0

7

MVIM

Move immediate memory

0

0

1

1

0

1

1

0

10

INR r

Increment register

0

0

0

0

0

1

0

0

5

OCR r

Decrement register

0

0

0

0

0

1

0

1

5

INR M

Increment memory

0

0

1

1

0

1

0

0

10

OCR M

Decrement memory

0

0

1

1

0

1

0

1

10

ADO r

Add register to A

1

0

0

0

0

S

S

S

4

ADC r

Add register to A with carry

1

0

0

0

1

S

S

S

4

SUB r

Subtract register from A

1

0

0

1

0

S

S

S

4

SBB r

Subtract register from A

1

0

0

1

1

S

S

S

4

 

with borrow

 

 

 

 

 

 

 

 

 

ANA r

And register with A

 

0

1

0

0

S

S

S

4

XRA r

Exclusive Or register with A

 

0

1

0

1

S

S

S

4

ORA r

Or register with A

 

0

1

1

0

S

S

S

4

CMPr

Compare register with A

 

0

1

1

1

S

S

S

4

ADD M

Add memory to A

 

0

0

0

0

1

1

0

7

AOC M

Add memory to A with carry

 

0

0

0

1

1

1

0

7

SUB M

Subtract memory from A

 

0

0

1

0

1

1

0

7

SBB M

Subtract memory from A

 

0

0

1

1

1

1

0

7

 

with borrow

 

 

 

 

 

 

 

 

 

ANAM

And memory with A

 

0

1

0

 

 

 

0

 

XRA M

Exclusive ar memory with A

 

0

1

0

 

 

 

0

 

ORA M

Or memory with A

 

0

1

1

 

 

 

0

 

CMPM

Compare memory with A

 

0

1

1

 

 

 

0

 

ADI

Add immediate to A

 

1

0

0

 

 

 

0

 

ACI

Add immediate to A with

 

1

0

0

 

 

 

0

 

 

carry

 

 

 

 

 

 

 

 

 

SUI

Subtract immediate from A

 

 

 

 

 

 

 

 

 

SBI

Subtract immediate from A

 

 

 

 

 

 

 

 

 

 

with borrow

 

 

 

 

 

 

 

 

 

ANI

And immediate with A

 

 

 

0

 

 

 

0

 

XRI

Exclusive Or immediate with

 

 

 

0

 

 

 

0

 

 

A

 

 

 

 

 

 

 

 

 

ORI

Or immediate with A

1

1

1

1

0

 

 

 

7

CPI

Compare immediate with A

1

1

1

1

1

 

 

 

7

RLC

Rotate A left

0

0

0

0

0

 

 

 

4

RRC

Rotate A right

0

0

0

0

1

 

 

 

4

RAL

Rotate A left through carry

0

0

0

1

0

 

 

 

4

RAR

Rotate A right through

0

0

0

1

1

 

 

 

4

 

carry

 

 

 

 

 

 

 

 

 

JMP

Jump unconditional

 

 

0

0

0

0

1

1

10

JC

Jump on carry

 

 

0

1

1

0

1

0

10

JNC

Jump on no carry

 

 

0

1

0

0

1

0

10

JZ

Jump on zero

 

 

0

0

1

0

1

0

10

JNZ

Jump on no zero

 

 

0

0

0

0

1

0

10

JP

Jump on positive

 

 

1

1

0

0

1

0

10

JM

Jump on minus

 

 

1

1

1

0

1

0

10

JPE

Jump on parity even

 

 

1

0

1

0

1

0

10

JPO

Jump on parity odd

 

 

1

0

0

0

1

0

10

CALL

Call unconditional

 

 

0

0

1

1

0

1

17

CC

Call on carry

 

 

0

1

1

1

0

0

11/17

CNC

Call on no carry

 

 

0

1

0

1

0

0

11/17

CZ

Call on zero

 

 

0

0

1

1

0

0

11/17

CNZ

Call on no zero

 

 

0

0

0

1

0

0

11/17

CP

Call on positive

 

 

1

1

0

1

0

0

11/17

CM

Call on minus

 

 

1

1

1

1

0

0

11/17

CPE

Call on parity even

 

 

1

0

1

1

0

0

llf17

CPO

Call on parity odd

 

 

1

0

0

1

0

0

l1f17

RET

Return

 

 

0

0

1

0

0

1

10

RC

Return on carry

 

 

0

1

1

0

0

0

5/11

RNC

Return on no carry

 

 

0

1

0

0

0

0

5/11

 

 

 

 

Instruction Code [n

 

 

Clock (2)

Mnemonic

Description

07

06

Os

04

03

02

01

00

Cycles

RZ

Return on zero

1

1

0

0

1

0

0

0

5/11

RNZ

Return on no zero

1

1

0

0

0

0

C

0

5/11

RP

Return on positive

1

1

1

1

0

0

0

0

5/11

RM

Return on minus

1

1

1

1

1

0

0

0

5/11

RPE

Return on parity even

1

1

1

0

1

0

0

0

5/11

RPO

Return on parity odd

1

1

1

0

0

0

0

0

5/11

RST

Restart

1

1

A

A

A

1

1

1

11

IN

Input

1

1

0

1

1

0

1

1

10

OUT

Output

1

1

0

1

0

0

1

1

10

LXI B

Load Immediate register

0

0

0

0

0

0

0

1

10

 

Pair B & C

 

 

 

 

 

 

 

 

 

LXI 0

Load immediate register

 

 

 

 

 

0

 

 

10

 

Pair 0 & E

 

 

 

 

 

 

 

 

 

LXI H

Load immediate register

 

 

 

 

 

 

 

 

10

 

Pair H & L

 

 

 

 

 

 

 

 

 

LXISP

Load immediate stack pointer

 

 

 

 

0

 

0

 

10

PUSH B

Push register Pair B & C on

 

 

 

 

0

 

0

 

11

 

stack

 

 

 

 

 

 

 

 

 

PUSH 0

Push register Pair 0 & E on

 

 

 

 

 

 

 

 

11

 

stack

 

 

 

 

 

 

 

 

 

PUSH H

Push register Pair H & L on

 

 

 

 

 

 

 

 

11

 

stack

 

 

 

 

 

 

 

 

 

PUSH PSW

Push A and Flags

 

 

 

 

0

 

0

 

11

 

on stack

 

 

 

 

 

 

 

 

 

POP B

Pop register pair B & C off

 

 

 

 

0

 

 

 

10

 

stack

 

 

 

 

 

 

 

 

 

POP 0

Pop register pair 0 & E off

 

 

 

 

 

 

 

 

10

POP H

stack

 

 

 

 

 

 

 

 

 

Pop register pair H & L off

 

 

 

 

 

 

 

 

10

 

stack

 

 

 

 

 

 

 

 

 

POP PSW

Pop A and Flags

 

 

 

 

 

 

 

 

10

 

off stack

 

 

 

 

 

 

 

 

 

STA

Store A direct

 

0

 

 

 

0

 

0

13

LOA

Load A direct

 

0

 

 

 

0

 

0

13

XCHG

Exchange 0 & E, H& L

 

1

 

 

 

0

 

1

4

 

Registers

 

 

 

 

 

 

 

 

 

XTHL

Exchange top of stack, H& L

1

1

1

0

0

0

1

1

18

SPHL

H& L to stack pointer

1

1

1

1

1

0

0

1

5

PCHL

H& L to program counter

1

1

1

0

1

0

0

1

5

DAD B

Add B & C to H & L

0

0

0

0

1

0

0

1

10

DAD 0

Add 0 & E to H & L

0

0

0

1

1

0

0

1

10

DAD H

Add H & L to H & L

0

0

1

0

1

0

0

1

10

DAD SP

Add stack pointer to H & l

0

0

1

1

1

0

0

1

10

STAX B

Store A indirect

0

0

0

0

0

0

1

0

7

STAX 0

Store A indirect

0

0

0

1

0

0

1

0

7

LOAX B

Load A indirect

0

0

0

0

1

0

1

0

7

LOAX 0

Load A indirect

0

0

0

1

1

0

1

0

7

INX B

Increment B & C registers

0

0

0

0

0

0

1

1

5

INX 0

Increment 0 & E registers

0

0

0

1

0

0

1

1

5

INX H

Increment H & L registers

0

0

1

0

0

0

1

1

5

INX SP

Increment stack pointer

0

0

1

1

0

0

1

1

5

OCX B

Decrement B & C

0

0

0

0

1

0

1

1

5

OCX 0

Decrement 0 & E

0

0

0

1

1

0

1

1

5

OCX H

Decrement H & L

0

0

1

0

1

0

1

1

5

OCX SP

Decrement stack pointer

0

0

1

1

1

0

1

1

5

CMA

Complement A

0

0

1

0

1

1

1

1

4

STC

Set carry

0

0

1

1

0

1

1

1

4

CMC

Complement carry

0

0

1

1

1

1

1

1

4

OAA

Decimal adjust A

0

0

1

0

0

1

1

1

4

SHLD

Store H & l direct

0

0

1

0

0

0

1

0

16

LHlO

Load H & L direct

0

0

1

0

1

0

1

0

16

EI

Enable Interrupts

1

1

1

1

1

0

1

1

4

01

Disable interrupt

1

1

1

1

0

0

1

1

4

NOP

No-operation

0

0

0

0

0

0

0

0

4

NOTES: 1. DOD or SSS - 000 B - 001 C - 010 0 - 011 E - 100 H - 101 L - 110 Memory - 111 A. 2. Two possible cycle times, (5/11) indicate instruction cycles dependent on condition flags.

Page 93
Image 93
Intel 8080 manual Summary of Processor Instructions, Llf17

8080 specifications

The Intel 8085 and 8080 microprocessors were groundbreaking innovations in the world of computing, paving the way for future microprocessor development and personal computing.

The Intel 8080, introduced in 1974, was an 8-bit microprocessor that played a fundamental role in the early days of personal computing. With a 16-bit address bus, it had the capability to address 64 KB of memory. Running at clock speeds of 2 MHz, the 8080 was notable for its instruction set, which included 78 instructions and 246 opcodes. It supported a range of addressing modes including direct, indirect, and register addressing. The 8080 was compatible with a variety of peripherals and played a crucial role in the development of many early computers.

The microprocessor's architecture was based on a simple and efficient design, making it accessible for hobbyists and engineers alike. It included an 8-bit accumulator, which allowed for data manipulation and storage during processing. Additionally, the 8080 featured registers like the program counter and stack pointer, which facilitated program flow control and data management. Its ability to handle interrupts also made it suitable for multitasking applications.

The Intel 8085, introduced in 1976, was an enhancement of the 8080 microprocessor. It maintained a similar architecture but included several key improvements. Notably, the 8085 had a built-in clock oscillator, simplifying system design by eliminating the need for external clock circuitry. It also featured a 5-bit control signal for status line management, which allowed for more flexible interfacing with peripheral devices. The 8085 was capable of running at speeds of up to 3 MHz and had an extended instruction set with 74 instructions.

One of the standout features of the 8085 was its support for 5 extra instructions for stack manipulation and I/O operations, which optimized the programming process. Additionally, it supported serial communication, making it suitable for interfacing with external devices. Its 16-bit address bus retained the 64 KB memory addressing capability of its predecessor.

Both the 8080 and 8085 microprocessors laid the groundwork for more advanced microprocessors in the years that followed. They demonstrated the potential of integrated circuits in computing and influenced the design and architecture of subsequent Intel microprocessors. Their legacy endures in the way they revolutionized computing, making technology accessible to a broader audience, and their influence is still felt in the design and architecture of modern microprocessors today.