INSTRUCTION SET

Summary of Processor Instructions

Mnemonic

Description

 

 

Instruction Code 11 J

 

Clock(2)

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

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

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

tNR 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

AOOr

Add register to A

1

0

0

0

0

S

S

S

4

AOCr

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

 

 

 

 

 

 

 

 

 

ANAr

And register with A

 

0

 

 

 

S

 

S

 

XRA r

Exclusive Or register with A

 

0

 

 

 

S

 

S

 

ORA r

Or register with A

 

0

 

 

 

S

 

S

 

CMPr

Compare register with A

 

0

 

 

 

S

 

S

 

ADO M

Add memory to A

 

0

 

 

 

1

 

0

 

AOC M

Add memory to A with carry

 

0

 

 

 

1

 

0

 

SUB M

Subtract memory from A

 

0

 

 

 

1

 

0

 

SBB M

Subtract memory from A

 

0

 

 

 

1

 

0

 

 

with borrow

 

 

 

 

 

 

 

 

 

ANA M

And memory with A

 

 

 

 

 

 

 

 

 

XRA M

Exclusive Or memory with A

 

 

 

 

 

 

 

 

 

ORA M

Or memory with A

 

 

 

 

 

 

 

 

 

CMPM

Compare memory with A

 

 

 

 

 

 

 

 

 

AOI

Add immediate to A

 

 

 

 

 

 

 

 

 

ACI

Add immediate to A with

 

 

 

 

 

 

 

 

 

 

carry

 

 

 

 

 

 

 

 

 

SUI

Subtract immediate from A

 

 

 

 

 

 

 

 

 

SBI

Subtract immediate from A

 

 

 

 

 

 

 

 

 

 

with borrow

 

 

 

 

 

 

 

 

 

ANI

And immediate with A

 

 

 

 

 

 

 

 

 

XRI

Exclusive Or immediate with

 

 

 

 

 

 

 

 

 

 

A

 

 

 

 

 

 

 

 

 

ORI

Or immediate with A

1

1

1

 

0

 

 

 

7

CPt

Compare immediate with A

1

1

1

 

1

 

 

 

7

RLC

Rotate A left

0

0

0

 

0

 

 

 

4

RRC

Rotate A right

0

0

0

 

1

 

 

 

4

RAL

Rotate A left through carry

0

0

0

 

0

 

 

 

4

RAR

Rotate A right through

0

0

0

 

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

11/17

CPO

Call on parity odd

 

 

1

0

0

1

0

0

11/17

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

Mnemonic

Description

 

 

Instruction Code 11 J

 

Clock (2)

07

06

Os

04

03

02

0,

Do

Cycles

RZ

Return on zero

 

 

0

0

'1

0

0

0

5/11

RNZ

Return on no zero

 

 

0

0

0

0

C

0

5/11

RP

Return on positive

 

 

1

1

0

0

0

0

5/11

RM

Return on minus

 

 

1

1

1

0

0

0

5/11

RPE

Return on parity even

 

 

1

0

1

0

0

0

5/11

RPO

Return on parity odd

 

 

1 0 0 0 0 0

5/11

RST

Restart

 

 

A A A 1 1 1

11

IN

Input

 

 

0

1

1

0

1

1

10

OUT

Output

 

 

0

1

0

0

1

1

10

LXI B

Load Immediate register

 

 

0

0

0

0

0

1

10

 

Pair B & C

 

 

 

 

 

 

 

 

 

LXIO

Load immediate register

 

 

 

 

 

 

 

 

10

 

Pair 0 & E

 

 

 

 

 

 

 

 

 

LXI H

Load immediate register

 

 

 

 

 

 

 

 

10

 

Pair H & L

 

 

 

 

 

 

 

 

 

LXI SP

Load immediate stack pointer

 

 

 

 

 

 

 

 

10

PUSH B

Push register Pair B & C on

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

11

 

on stack

 

 

 

 

 

 

 

 

 

POP B

Pop register pair B & C off

 

 

 

 

 

 

 

 

10

 

stack

 

 

 

 

 

 

 

 

 

POP 0

Pop register pair 0 & E off

 

 

 

 

 

 

 

 

10

 

stack

 

 

 

 

 

 

 

 

 

POP H

Pop register pair H & L off

 

 

 

 

 

 

 

 

10

 

stack

 

 

 

 

 

 

 

 

 

POP PSW

Pop A and Flags

 

 

 

 

 

 

 

 

10

 

off stack

 

 

 

 

 

 

 

 

 

STA

Store A direct

 

 

 

 

 

0

 

 

13

LOA

Load A direct

 

 

 

 

 

0

 

 

13

XCHG

Exchange 0 &E. H& L

 

 

 

 

 

0

 

 

4

 

Registers

 

 

 

 

 

 

 

 

 

XTHL

Excnange 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 D & E to H & L

(l

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

SHLO

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 - 2. Two possible cycle times, (5/11)

010 0 - 011 E - 100 H - 101 L - 110 Memory - 111 A. indicate instruction cycles dependent on condition flags.

Page 258
Image 258
Intel 8080 manual Instruction SET

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.