SILICON GATE MOS 8080.A

INSTRUCTION SET

Summary of Processor Instructions

 

 

D7

 

Instruction Code [1 J

 

Clock [2]

Mnemonic

Description

D6

Os

D4

D3

02

0,

Do

Cycles

MOV r1 .r2

Move register to register

0

1

0

0

0

S

S

S

5

MOVM,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

MVI r

Movi immediate register

0

0

0

0

0

1

1

0

7

MVIM

Move immediate memory

0

0

1

1

0

1

1

0

10

lNR r

Increment register

0

0

0

0

0

1

0

0

5

OCRr

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

ADD r

Add register to A

1

0'

0

0

0

S

S

S

4

ADCr

Add register to Awith 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-

SaB r

Subtract register from A

1

0

0

1

1

S

S

S

4

 

with borrow

 

 

 

 

 

S

S

S

,4

ANAr

And register with A

 

0

1

0

0

XRAr

Exclusive Or register with A

 

0

1

0

1

S

S

S

4

ORAr

.0 r register with A

 

0

1

1

0

S

S

S

4

CMPr

Compare register with A

 

0

1

1

1

S

S'

S

4

ADOM

Add memory to A

 

0

0

0

0

1

1

0

7

ADCM

Add memory to Awith 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

 

 

 

 

 

 

 

0

7

ANAM

And memory with A

 

0

1

0

0

 

 

XRAM

Exclusive 0 r memory with A

 

0

1

O.

1

 

 

0

7

ORAM

Or memory with A

 

0

1

1

0

 

 

0

7

CMPM

Compare memory with A

 

0

1

1

1

 

 

0

7

ADI

Add immediate to A

 

1

0

0

0

 

 

0

7

ACI

Add immediate to A with

 

1

0

0

1

 

 

0

7

 

carry

 

 

 

 

 

 

 

 

 

SUI

Subtract immediate from A

 

 

0

 

0

 

 

0

 

SBI

Subtract immediate from A

 

 

0

 

1

 

 

0

 

 

with borrow

 

 

 

 

 

 

 

 

 

ANI

And immediate with A

 

 

 

0

0

 

 

0

 

XRI

Exclusive Or immediate with

 

 

 

0

1

 

 

0

 

 

A

 

 

 

 

 

 

 

 

 

ORI

Or immediate with A

1

1

1

1

0

 

 

0

7

CPI

Compare immediate with A

1

1

1

1

1

 

 

0

7

RLC

Rotate A left

0

0,

0

0

0

 

 

1

4

RRC

Rotate A right

0

0

0

0

1

 

 

1

4

RAL

Rotate A left through carry

0

0

0

1

0

 

 

1

4

RAR

Rotate A right through

0

0

0

1

l'

 

 

1

4

 

carry

 

 

 

 

 

 

 

 

 

JMP

Jump unconditional

 

1

0

0

0

0

1

1

10

JC

Jump on carrY

 

1

0

1

1

0

1

0

10

JNC

Jump on no carry

 

1

0

1

0

0

1

0

10

JZ

Jump on zero

 

1

0

0

1

0

1

0

10

JNZ

Jump on no zero

 

1

0

0

0

0

1

0

10

JP

Jump on positive

 

1

1

1

0

0

1

0

10

JM

Jump on minus

 

1

1

1

1

0

1

0

10

JPE

Jump on parity even

 

1

1

0

1

0

1

0

10

JPO

Jump on parity odd

 

1

1

0

0

0

1

0

.10

CALL

Call unconditional

 

1

0

0

1

1

0

1

17

CC

Call on carry

 

1

0

1

1

1

0

0

11/17

CNC

Call on no carry

 

1

0

1

0

1

0

0

11/17

CZ

Call on zero

 

,1

0

0

1

1

0

0

11/17

CNZ

Call on no zero

 

1

0

0

0

1

0

0

11/17

CP

Call on positive

 

1

1

1

0

1

0

0

11/17

CM

Call on minus

 

1

1

1

1

1

0

0

11/17

CPE

Call on parity even

 

1

1

0

1

1

0

0

11/17

CPO

Call on parity odd

 

1

1

0

0

1

0

0

11/17

RET

Return

 

1

0

0

1

0

0

1

10

RC

Return on carry

 

1

0

1

1

0,

0

0

5/11

RNC

Return on no carry

 

1

0

1

0

0

0

0

5/11

 

 

 

 

Instruction Code (1)

 

 

Clock[2J

Mnemonic

Description

D7

06

Os

04

Da

~ 0,

Do

Cycles

RZ

Return on zero

1

1

0

0

,

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

LXIB

Load immediate register

0

0

0

0

0

0

0

1

10

 

Pair B& C

 

 

 

 

 

 

 

 

10

LXIO

Load immediate register

0

0

0

 

0

0

0

 

 

Pair D& E

 

 

 

 

 

0

0

 

10

LXIH

Load immediate register

0

0

 

0

0

 

 

Pair H & L

 

 

 

 

 

 

 

 

10

LXISP

Load immediate stack pointer

0

0

1

1

0

0

0

 

PUSH a

Push register Pair B& Con

1

1

0

0

0

1

0

 

11

PUSH 0

stack

 

 

 

 

 

 

0

 

11

Push register Pair 0 & E on

 

 

0

 

0

 

 

 

stack

 

 

 

 

 

 

 

 

 

PUSH H

Push register Pair H& Lon

 

 

 

0

0

 

0

 

11

PUSH PSW

stack

 

 

 

 

 

 

 

 

11

Push Aand Flags

 

 

 

 

0

 

0

 

 

on stack

 

 

 

 

 

 

 

 

 

POP B

Pop register pair B& C off

 

 

0

0

0

0

0

 

10

POPD

stack

 

 

 

 

 

 

O'

 

 

Pop register pair 0 & E off

 

 

0

 

0

0

 

10

POP H

stack

 

 

 

 

 

 

 

 

 

Po.p register pair H& L off

 

 

 

0

0

0

0

 

10

POP PSW

stack

 

 

 

 

 

 

 

 

 

Pop Aand Flags

 

 

 

 

0

0

0

 

10

 

off stack

 

 

 

 

 

 

 

 

 

STA

Store A dtrect

0

0

 

1

0

0

 

0

13

LOA

Load Adirect

0

0

 

1

1

0

 

0

13

XCHG

Exchange 0 & E, H& L

1

1

 

0

1

0

 

1

4

 

Registers

 

 

1

 

 

 

 

 

 

XTHL

Exchang~ top of stack, H& L

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& Lto program counter

1

1

1

0

1

0

0

1

5

DAD B

Add B& Cto 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

STAXB

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

LOAXB

Load A indirect

0

0

0

0

1

0

1

0

7

LoAXO

Load A indirect

0

0

0

1

1

0

1

0

7

INX B

Increment B& Cregisters

0

0

0

0

0

0

1

1

5

INX D

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

INXSP

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

OCXSP

Decrement stack pointer

0

O.

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

4

CMC

Complement carry

0

0

1

1

1

1

1

4

1

DAA

Decimal adjust A

0

0

1

0

0

1

1

,1

4

SHLD

Store H& Ldirect

0

0

1

(}

0

0

1

0

16

LHLD

Load H& Ldirect

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

N.OP

No-operation

0

0

0

0

0

0

0

0

4

NOTES:. 1. DDDorSSS-OOOB-001 C-010D-011'E-100H-101L-110Memory....:.111 A.

2. Two possible cycle times, (5/11) indicate instruction cycles dependent on condition flags.

5-19

Page 81
Image 81
Intel manual Silicon Gate MOS 8080.A, Summary of Processor Instructions

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.