Intel Laptop 8080 Users Manual

98-153B_Intel_8080_Microcomputer_Systems_Users_Manual_197509 manual pdf -FilePursuit

8080%20System%20Manual%20(1975)

8080 to the manual d2e3daeb-1452-43d6-a874-95119ca907bb

98-153B_Intel_8080_Microcomputer_Systems_Users_Manual_197509 98-153B_Intel_8080_Microcomputer_Systems_Users_Manual_197509

8080%20Microcomputer%20Systems%20Manual

2015-02-02

: Intel Intel-Intel-Laptop-8080-Users-Manual-432657 intel-intel-laptop-8080-users-manual-432657 intel pdf

Open the PDF directly: View PDF PDF.
Page Count: 262

DownloadIntel Intel-Intel-Laptop-8080-Users-Manual-  Intel-intel-laptop-8080-users-manual
Open PDF In BrowserView PDF
In December 1973 Intel shipped the first 8-bit, N-channel microprocessor,
the 8080. Since then it has become the most widely used microprocessor in
the industry. Applications of the 8080 span from large, intelligent systems
terminals to decompression computers for deep sea divers.
This 8080 Microcomputer Systems User's Manual presents all of the
8080 system components. Over twenty-five devices are described in detail.
These new devices further enhance the 8080 system:
8080A - 8-Bit Central Processor Unit
Functionally and Electrically Compatible with the 8080.
TTL Drive Capability.
Enhanced Timing.

8224

- Clock Generator for 8080A.
Single 16 Pin (DIP) Package.
Auxiliary Timing Functions.
Power-On Reset.

8228

- System Controller for 8080A.
Single 28 Pin (DIP) Package.
Single Interrupt Vector (RST 7) .
. Multi-Byte Interrupt Instruction Capability (e.g. CALL).
Direct Data and Control Bus Connect to all 8080 System. I/O
and Memory Components.

8251

- Programmable Communication Interface.
ASYNC or SYNC (including IBM bi·SYNC).
Single 28 Pin Package.
Single +5 Volt Power Supply.

8255

- Programmable Peripheral Interface.
Three 8-Bit Ports.
Bit Set/Reset Capability.
Interrupt Generation.
Single 40 Pin Package.
Single +5 Volt Power Supply.

In addition, new memory components include: 8708, 8K Erasable PROM;
8316A, High Density Mask ROM; and 5101, Low Power CMOS RAM.

intel® Microcomputers. First from the beginning.

CONTENTS

INTRODUCTION
General
.
Advantages of Designing with Microcomputers . .
Microcomputer Design Aids
Application Example . . . . . . . . . . . . . . . . . . .
Application Table .. . . . . . . . . . . . . . . . . . . .

ii
iii
iii
iv

CHAPTER 1THE FUNCTIONS OF A COMPUTER
A Typical Computer System
The Architecture of a CPU
Computer Operations. . . . . . . . . . . . . . . . . . .

1-1
1-1
1-3

CHAPTER 2THE 8080 CENTRAL PROCESSING UNIT
General . . . . . . . . . . . . . . . . . . . . . .
Architectu.re of the 8080 CPU . . . . . . .
The Processor Cycle . . . . . . . . . . . . . .
Interrupt Sequences. . . . . . . . . . . . . .
Hold Sequences. . . . . . . . . . . . . . . . .
Halt Sequences . . . . . . . . . . . . . . . . .
Start-u p of the 8080 CPU . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

..
..
..
..
..
..
..

2-1
2-2
2-3
2-11
2-12
2-13
2-13

CHAPTER 3INTERFACING THE 8080
General . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Basic System Operation
CPU Module Design . . . . . . . . . . . . . . . . . . ..
Interfacing the 8080 to Memory and
I/O Devices

3-1
3-1
3-2

CHAPTER 4INSTRUCTION SET
General . . . . . . . . . . . . . . . . . . . . .
Data Transfer Group
Arithmetic Group . . . . . . . . . . . . . .
Branch Group. . . . . . . . . . . . . . . . .
Stack, I/O and Machine Control Group
Summary Table. . . . . . . . . . . . . . . .

. . . . . ..
. .
. .
..
. .

.
.
.
.

.
.
.
.

.
.
.
.

..
..
..
..

CHAPTER 58080 MICROCOMPUTER SYSTEM COMPONENTS
CPU Group
8224 Clock Generator
Functional Description and
System Applications
Data Sheet . . . . . . . . . . . . . . . . . . . . . . ..
8228 System Controller
Functional Description and
System Applications. . . . . . . . . . . . . . . . ..
Data Sheet. . . . . . . . . . . . . . . . . . . . . . ..
S080A Central Processor
Data Sheet . . . . . . . . . . . . . . . . . . . . . . ..
8080A-1 Central Processor (1.3,us)
Data Sheet. . . . . . . . . . . . . . . . . . . . . . ..
8080A-2 Central Processor (1.5,us)
Data Sheet. . . . . . . . . . . . . . . . . . . . . . ..
M80SOA Central Processor (-55° to +125°C)
Data Sheet . . . . . . . . . . . . . . . . . . . . . . ..

4-1
4-4
4-6
4-11
4-13
4-15

5-1
5-4

5-7
5-11
5-13
5-20
5-24
5-29

3-6

Intel Corporation assumes no responsibility for the use of any circuitry other than circuitry embodied in an Intel product. No other circuit patent licenses are implied.

ROMs
8702A Erasable PROM (256 x 8)
Data Sheet . . . . . . . . . . . . . . . . . .
8708/8704 Erasable PROM (1 K x 8)
Data Sheet . . . . . . . . . . . . . . . . . .
8302 Mask ROM (256 x 8)
Data Sheet . . . . . . . . . . . . . . . . . .
8308 Mask ROM (1 K x 8)
Data Sheet . . . . . . . . . . . . . . . . . .
8316A Mask ROM (2K x 8)
Data Sheet . . . . . . . . . . . . . . . . . .
RAMs
8101-2 Static RAM (256 x 4)
Data Sheet. . . . . . . . . . . . . . . . . .
8111-2 Static RAM (256 x 4)
Data Sheet . . . . . . . . . . . . . . . .. .
8102-2 Static RAM (1K x 1)
Data Sheet
8102A-4 Static RAM (1 K x 1)
Data Sheet . . . . . . . . . . . . . . . . . .
81078-4 Dynamic RAM (4K x 1)
Data Sheet. . . . . . . . . . . . . . . . . .
5101 Static CMOS RAM (256 x 4)
Data Sheet . . . . . . . . . . . . . . . . . .
8210 Dynamic RAM Driver
Data Sheet . . . . . . . . . . . . . . . . . .
8222 Dynamic RAM Refresh Controller
New Product Announcement . . . . . .

. . . . ..

5-37

. . . . ..

5-45

. . . . ..

5-51

. . . . ..

5-59

. . . . ..

5-61

. . . . ..

5-67

. . . . ..

5-71

0

5-75

. . . . ..

5-79

. . . . ..

5-83

. . . . ..

5-91

. . . . ..

5-95

. . . . ..

5-99

I/O
8212 8-Bit I/O Port
5-101
Functional Description
System Applications of the 8212
5-103
Data Sheet . . . . . . . . . . . . . . . . . . . . . . . . 5-109

8255 Programmable Peripheral Interface
Basic Functional Description . . . . . . . . . .
~ .
Detailed Operationa-I Description
. .
System Appl ications of the 8255
Data Sheet . . . . . . . . . . . . . . . . . . . . . .
8251 Programmable Communication Interface
Basic Functional Description . . . . . . . . . .
Detailed Operational Description
System Applications of the 8251
Data Sheet . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

5-113
5-116

5-127
5-1 30

. . 5-135
5-139
5-143
. . 5-144

Peri pherals
8205 One of 8 Decoder
Functional Description
System Applications of the 8205
Data Sheet
8214 Priority Interrupt Control Unit
Interrupts jn Microcomputer Systems
Functional Description . . . . . . . . . . . . . . . .
System Appl ications of the 8214 .. . . . . . . .
Data Sheet
8216/8226 4-Bit Bi-Directional Bus Driver
Functional Description
System Applications of the 8216/8226
Data Sheet . . . . . . . . . . . . . . . . . . . . . . . .

5-147
5-149
5-151
5-153
5-155
5-1 57
5-160
5-163
5-165
5-166

Coming Soon
8253 Programmable Interval Timer . . . . . . . . . . 5-169
5-171
8257 Programmable DMA Controller
8259 Programmable Interrupt Controller
5-173

CHAPTER 6PACKAGING INFORMATION. . . . • . . . . . . . . . . 6-1

Since their inception, digital computers have continuously become more efficient, expanding into new applications with each major technological improvement. The
advent of minicomputers enabled the inclusion of digital
computers as a permanent part of various process control
systems. Unfortunately, the size and cost of minicomputers
in "dedicated" applications has limited their use. Another
approach has been the use of custom built systems made up
of "random logic" (i .e., logic gates, flip-flops, counters, etc.).
However, the huge expense and development time involved
in the design and debugging of these systems has restricted
their use to large volume applications where the development costs could be spread over a large number of machines.
Today, Intel offers the systems designer a new alternative ... the microcomputer. Utilizing the technologies and
experience gained in becoming the world's largest supplier
of LSI memory components, Intel has made the power of
the digital computer available at the integrated circuit level.
Using the n-channel silicon gate MOS process, Intel engineers have implemented the fast (2/ls. cycle) and powerful
(72 basic instructions) 8080 microprocessor on a single LSI
chip. When this processor is combined with memory and
I/O circuits, the computer is complete. Intel offers a variety
of random-access memory (RAM), read-only memory (ROM)
and shift register circu~ts, that combine with the 8080 processor to form the MCS-80 microcomputer system, a system
that can directly address and retrieve as many as 65,536
bytes stored in the memory devices.
The 8080 processor is packaged in a 40-pin dual in-line
package (DIP) that allows for remarkably easy interfacing.
The 8080 has a 16-bit address bus, a 8-bit bidirectional data
bus and fully decoded, TTL-compatible control outputs. In
addition to supporting up to 64K bytes of mixed RAM and
ROM memory, the 8080 can address up to 256 input ports
and 256 output ports; thus allowing for virtually unlimited
system expansion. The 8080 instruction set includes conditional branching, decimal as well as binary arithmetic,

logical, register-to-register, stack control and memory reference instructions. In fact, the 8080 instruction set is powerful enough to rival the performance of many of the much
higher priced minicomputers, yet the 8080 is upward software compatible with Intel's earlier 8008 microprocessor
(Le., programs written for the 8008 can be assembled and
executed on the 8080).
In addition to an extensive instruction set oriented to
problem solving, the 8080 has another significant featureSPEED. In contrast to random logic designs which tend to
work in parallel, the microcomputer works by sequentially
executing its program. As a result of this sequential execution, the number of tasks a microcomputer can undertake
in a given period of time is directly proportional to the
execution speed of the microcomputer. The speed of execution is the limiting factor of the realm of applications of
the microcomputer. The 8080, with instruction times as
short as 2 /lsec., is an order of magnitude faster than earlier
generations of microcomputers, and therefore has an expanded field of potential applications.
The architecture of the 8080 also shows a significant
improvement over earlier microcomputer designs. The 8080
contains a 16-bit stack pointer that controls the addressing
of an external stack located in memory. The pointer can be
initialized via the proper instructions such that any portion
of external memory can be used as a last in/first out stack;
thus enabling almost unlimited subroutine nesting. The stack
pointer allows the contents of the program counter, the accumulator, the condition flags or any of the data registers to
be stored in or retrieved from the external stack. In addition, multi-level interrupt processing is possible using the
8080's stack control instructions. The status of the processor can be "pushed" onto the stack when an interrupt is
accepted, then "popped" off the stack after the interrupt has
been serviced. This ability to save the contents of the processor's registers is possible even if an interrupt service
routine, itself, is interrupted.

CONVENTIONAL SYSTEM
Product definition
System and logic design
Debug

Done with logic diagrams
Done with conventional
Lab Instrumentation

PC card layout
Documentation
Cooling and packaging
Power distribution
Engineering changes

PROGRAMMED LOGIC
Simpl ified because of ease of incorporating features
Can be programmed with design aids
(compilers, assemblers, editors)
Software and hardware aids reduce time
Fewe r cards to layout
Less hardware to document
Reduced system size and power consumption
eases job
Less power to distribute
Change program

Done with yellow wire

Table 0-1. The Advantages of Using Microprocessors

of the logical control functions formerly performed by
numerous hardware components can now be implemented
in a few ROM circuits which are non-volatile; that is, the
contents of ROM will never be lost, even in the event of a
power failure. Table 0-1 summarizes many of the advantages of using microcomputers.

ADVANTAGES OF DESIGNING
WITH MICROCOMPUTERS
Microcomputers simplify almost every phase of product development. The first step, as in any product development program, is to identify the various functions that
the end system is expected to perform. Instead of realizing
these functions with networks of gates and flip-flops, the
functions are implemented by encoding suitable sequences
of instructions (programs) in the memory elements. Data
and certain types of programs are stored in RAM, while the
basic program can be stored in ROM. The microprocessor
performs all of the system's functions by fetching the instructions in memory, executing them and communicating
the results via the microcomputer's I/O ports. An 8080
microprocessor, executing the programmed logic stored in a
single 2048-byte ROM element, can perform the same logical
functions that might have previously required up to 1000
logic gates.

MICROCOMPUTER DESIGN AIDS
If you're used to logic design and the idea of designing
with programmed logic seems like too radical a change, regardless of advantages, there's no need to worry because
Intel has already done most of the groundwork for you. The
INTELLEC® 8 Development Systems provide flexible, inexpensive and simplified methods for OEM product development. The INT~LLEC@ 8 provides RAM program storage
making program loading and modification easier, a display
and control console for system monitoring and debugging,
a standard TTY interface, a PROM programming capability
and a standard software package (System Monitor, Assembler and Test Editor). In addition to the standard software
package available with the INTELLEC® 8, Intel offers a
PL/MTcompiler, a cross-assembler and a simulator written in
FORTRAN IV and designed to run on any large scale computer. These programs may be procured directly from Intel
or from a number of nationwide computer time-sharing
services. Intel's Microcomputer Systems Group is always
available to provide assistance in every phase of your product
development.

The benefits of designing a microcomputer into your
system go far beyond the advantages of merely simplifying
product development. You will also appreciate the profitmaking advantages of using a microcomputer in place of
custom-designed random logic. The most apparent advantage
is the significant savings in hardware costs. A microcomputer
chip set replaces dozens of random logic elements, thus reducing the cost as well as the size of your system. In addition, production costs drop as the number of individual
components to be handled decreases, and the number of
complex printed circuit boards (which are difficult to layout, test and correct) is greatly reduced. Probably the most
profitable advantage of a microcomputer is its flexibility
for change. To modify your system, you merely re-program
the memory elements; you don't have to redesign the entire
system. You can imagine the savings in time and money
when you want to upgrade your product. Reliability is
another reason to choose the microcomputer over random
logic. As the number of components decreases, the probability of a malfunctioning element likewise decreases. All

Intel also provides complete documentation on all
their hardware and software products. In addition to this
User's Manual, there are the:

•
•
•
•
•

ii

PL/M'~Language Reference Manual
8080 Assembly Language Programming Manual
INTELLEC®8/MOD 80 Operator's Manual
INTELLEC®8/MOD 80 Hardware Reference
Manual
8080 User's Program Library

APPLICATIONS EXAMPLE

the control unit (as shown in Figure 0-1), the only "custom"
logic will be that of the interface circuits. These circuits are
usually quite simple, providing electrical buffering for the
input and output signals.

The 8080 can be used as the basis for a wide variety
of calculation and control systems. The system configurations for particular applications will differ in the nature of
the peripheral devices used and in the amount and the type
of memory required. The applications and solutions described in this section are presented primarily to show how
microcomputers can be used to solve design problems. The
8080 should not be considered limited either in scope or
performance to those applications listed here.

Instead of drawing state diagrams leading to logic, the
system designer now prepares a flow chart, indicating which
input signals must be read, what processing and computations are needed, and what output signa Is must be produced.
A program is written from the flow chart. The program is
then assembled into bit patterns which are loaded into the
program memory. Thus, this system is customized primarily
by the contents of program memory.

Consider an 8080 microcomputer used within an automatic computing scale for a supermarket. The basic machine
has two input devices: the weighing unit and a keyboard,
used for function selection and to enter the price per unit
of weight. The only output device is a display showing the
total price, although a ticket printer might be added as an
optional output device.

For this automatic scale, the program would probably
reside in read-only memory (ROM), since the microcomputer would always execute the same program, the one
which implements the scale functions. The processor would
constantly monitor the keyboard and weighing unit, and update the display whenever necessary. The unit would require
very little data memory; it would only be needed for rate
storage, intermediate results, and for storing a copy of the
display.

The control unit must accept weight information from
the weighing unit, function and data inputs from the keyboard, and generate the display. The only arithmetic function to be performed is a simple multiplication of weight
times rate.

When the control portion of a product is implemented
with a microcomputer chip set, functions can be changed
and features added merely by altering the program in memory. With a TTL based system, however, alterations may require extensive rewiring, alteration of PC boards, etc.

The control unit could probably be realized with
standard TTL logic. State diagrams for the various portions
could be drawn and a multiplier unit designed. The whole
design could then be tied together, and eventually reduced
to a selection of packages and a printed circuit board layout.
In effect, when designing with a logic family such as TTL,
the designs are "customized" by the choice of packages and
the wiring of the logic.

The number of applications for microcomputers is
limited only by the depth of the designer's imagination. We
have listed a few potential applications in Table 0-2, along
with the types of peripheral devices usually associated with
each product.

If, however, an 8080 microcomputer is used to realize

/

/

-

KEYBOARD

000
000
000
000

WEIGHING
UNIT

PRINTER

00
00
00
00
00

INPUT
INTERFACE #1

--- ..

1':II':II':~I':ff':'1
I II II II II I

1

1

CIJ

DISPLAY

T

INPUT
INTERFACE #2

OUTPUT
INTERFACE #1

+
I

r - - -I- - I

I

,

OPTIONAL
OUTPUT
INTERFACE #2

I

I
I

I
' - - - T T - - -J
8080
CPU
CONTROL
UNIT

I+I

ItI

1+
BUS

It[

ItI
DATA
MEMORY
(RAM)

PROGRAM
MEMORY
(PROM)

Figure 0-1. Microcomputer Application - Automatic Scale

iii

t

I I

I I
I

L..--

APPLICATION

PERIPHERAL DEVICES ENCOUNTERED

Intelligent Terminals

Cathode Ray Tube Display
Printing Units
Synchronous and Asynchronous data lines
Cassette Tape Unit
Keyboards

Gaming Machines

Keyboards, push buttons and switches
Various display devices
Coin acceptors
Coin dispensers

Cash Registers

Keyboard or Input Switch Array
Change Dispenser
Digital Display
Ticket Printer
Magnetic Card reader
Communication interface

Accounting and Billing Machines

Keyboard
Printer Unit
Cassette or other magnetic tape unit
"Floppy" disks

Telephone Switching Control

Telephone Line Scanner
Analog Switching Network
Dial Registers
Class of Service Parcel

Numerically Controlled Machines

Magnetic or Paper Tape Reader
Stepper Motors
Optical Shaft Encoders

Process Control

Ana log-to-D igita I Converters
Digital-to-Analog Converters
Control Switches
Displays

Table 0-2. Microprocessor Applications

iv

This chapter introduces certain basic computer concepts. It provides background information and definitions
which will be useful in later chapters of this manual. Those
already familiar with computers may skip this material, at
their option.

peripheral storage device, such as a floppy disk unit, or the
output may constitute process control signals that direct the
operations of another system, such as an automated assembly
line. Like input ports, output ports are addressable. The
input and output ports together permit the processor to
communicate with the outside world.

A TYPICAL COMPUTER SYSTEM

The CPU unifies the system. It controls the functions
performed by the other components. The CPU must be able
to fetch instructions from memory, decode their binary
contents and execute them. It must also be able to reference
memory and I/O ports as necessary in the execution of instructions. In addition, the CPU should be able to recognize
and respond to certain external control signals, such as
INTERRUPT and WAIT requests. The functional units
with in a CPU that enable it to perform these functions are
described below.

A typical digital computer consists of:
a) A central processor unit (CPU)
b) A memory
c) Input/output (I/O) ports
The memory serves as a place to store Instructions,
the coded pieces of information that direct the activities of
the CPU, and Data, the coded pieces of information that are
processed by the CPU. A group of logically related instructions stored in memory is referred to as a Program. The CPU
"reads" each instruction from memory in a logically determined sequence, and uses it to initiate processing actions.
If the program sequence is coherent and logical, processing
the program will produce intelligible and useful results.

THE ARCHITECTURE OF A CPU
A typical central processor unit (CPU) consists of the
following interconnected functional units:
• Registers
• Arithmetic/Logic Unit (ALU)
• Control Circuitry

The memory is also used to store the data to be manipulated, as well as the instructions that direct that manipulation. The program must be organized such that the CPU
does not read a non-instruction word when it expects to
see an instruction. The CPU can rapidly access any data
stored in memory; but often the memory is not large enough
to store the entire data bank required for a particular application. The problem can be resolved by providing the computer with one or more Input Ports. The CPU can address
these ports and input the data contained there. The addition
of input ports enables the computer to receive information
from external equipment (such as a paper tape reader or
floppy disk) at high rates of speed and in large volumes.

\

Registers are temporary storage units within the CPU.
Some registers, such as the program counter and instruction
register, have dedicated uses. Other registers, such as the accumulator, are for more general purpose use.

Accumulator:
The accumulator usually stores one of the operands
to be manipulated by the ALU. A typical instruction might
direct the ALU to add the contents of some other register to
the contents of the accumulator and store the result in the
accumulator itself. In general, the accumulator is both a
source (operand) and a destination (result) register.

A computer also requires one or more Output Ports
that permit the CPU to communicate the result of its processing to the outside world. The output may go to a display, for use by a human operator, to a peripheral device
that produces "hard-copy," such as a line-pri nter, to a

Often a CPU will include a number of additional
general purpose registers that can be used to store operands
or intermediate data. The availability of general purpose

1-1

cessor loads the address specified in the Call into its Program Counter. The next instruction fetched will therefore
be the first step of the subroutine.

registers eliminates the need to "shuffle" intermediate results back and forth between memory and the accumulator,
thus improving processing speed and efficiency.

The last instruction in any subroutine is a Return. Such
an instruction need specify no address. When the processor
fetches a Return instruction, it simply replaces the current
contents of the Program Counter with the address on the
top of the stack. This causes the processor to resume execution of the calling program at the point immediately foUowing the original Call Instruction.

Program Counter (Jumps, Subroutines
and the Stack):
The instructions that make up a program are stored
in the system's memory. The central processor references
the contents of memory, in order to determine what action
is appropriate. This means that the processor must know
which location contains the next instruction.

Subroutines are often Nested; that is, one subroutine
will sometimes call a second subroutine. The second may
call a third, and so on. This is perfectly acceptable, as long
as the processor has enough capacity to store the necessary
return addresses, and the logical provision for doing so. In
other words, the maximum depth of nesting is determined
by the depth of the stack itself. If the stack has space for
storing three return addresses, then three levels of subroutines may be accommodated.

Each of the locations in memory is numbered, to distinguish it from all other locations in memory. The number
which identifies a memory location is called its Address.
The processor maintains a counter which contains the
address of the next program instruction. This register is
called the Program Counter. The processor updates the program counter by adding "1" to the counter each time it
fetches an instruction, so that the program counter is always
current (pointing to the next instruction).

Processors have different ways of maintaining stacks.
Some have facilities for the storage of return addresses built
into the processor itself. Other processors use a reserved
area of external memory as the stack and simply maintain a
Pointer register which contains the address of the most
recent stack entry. The external stack allows virtually unlimited subroutine nesting. In addition, if the processor provides instructions that cause the contents of the accumulator
and other general purpose registers to be "pushed" onto the
stack or "popped" off the stack via the address stored in the
stack pointer, multi-level interrupt processing (described
later in this chapter) is possible. The status of the processor
(i.e., the contents of all the registers) can be saved in the
stack when an interrupt is accepted and then restored after
the interrupt has been serviced. This ability to save the processor's status at any given time is possible even if an interrupt service routine, itself, is interrupted.

The programmer therefore stores his instructions in
numerically adjacent addresses, so that the lower addresses
contain the first instructions to be executed and the higher
addresses contain later instructions. The only time the programmer may violate this sequential rule is when an instruction in one section of memory is a Jump instruction to
another section of memory.
A jump instruction contains the address of the instruction which is to follow it. The next instruction may be
stored in any memory location, as long as the programmed
jump specifies the correct address. During the execution of
a jump instruction, the processor replaces the contents of its
program counter with the address embodied in the Jump.
Thus, the logical continuity of the program is ma.intained.
A special kind of program jump occurs when the stored
program "Calls" a subroutine. In this kind of jump, the processor is required to "remember" the contents of the program counter at the time that the jump occurs. This enables
the processor to resume execution of the main program
when it is finished with the last instruction of the subroutine.

Instruction Register and Decoder:
Every computer has a Word Length that is characteristic of that machine. A computer's word length is usually
determined by the size of its internal storage elements and
interconnecting paths (referred to as Busses); for example,
a computer whose registers and busses can store and transfer a bits of information has a characteristic word length of
8-bits and is referred to as an a-bit parallel processor. An
eight-bit parallel processor generally finds it most efficient
to deal with eight-bit binary fields, and the memory associated with such a processor is therefore organized to store
eight bits in each addressable memory location. Data and
instructions are stored in memory as eight-bit binary numbers, or as numbers that are integral multiples of eight bits:
16 bits, 24 bits, and so on. This characteristic eight-bit field
is often referred to as a Byte.

A Subroutine is a program within a program. Usually
it is a general-purpose set of instructions that must be executed repeatedly in the course of a main program. Routines
which calculate the square, the sine, or the logarithm of a
program variable are good examples of functions often
written as subroutines. Other examples might be programs
designed for inputting or outputting data to a particular
peripheral device.
The processor has a special way of handling subroutines, in order to insure an orderly return to the main
program. When the processor receives a Call instruction, it
increments the Program Counter and stores the counter's
contents in a reserved memory area known as the Stack.
The Stack thus saves the address of the instruction to be
executed after the subroutine is completed. Then the pro-

Each operation that the processor can perform is
identified by a unique byte of data known as an Instruction

1-2

performs the arithmetic and logical operations on the binary
data.

Code or Operation Code. An eight-bit word used as an instruction code can distinguish between 256 alternative
actions, more than adequate for most processors.

The ALU must contain an Adder which is capable of
combining the contents of two registers in accordance with
the logic of binary arithmetic. This provision permits the
processor to perform arithmetic manipulations on the data
it obtains from memory and from its other inputs.

The processor fetches an instruction in two distinct
operations. First, the processor transmits the address in its
Program Counter to the memory. Then the memory returns
the addressed byte to the processor. The CPU stores this
instruction byte in a register known as the Instruction
Register, and uses it to direct activities during the remainder
of the instruction execution.

Using only the basic adder a capable programmer can
write routines which will subtract, multiply and divide, giving the machine complete arithmetic capabilities. In practice,
however, most ALUs provide other built-in functions, including hardware subtraction, boolean logic operations, and
sh ift capabi Iities.

The mechanism by which the processor translates an
instruction code into specific processing actions requires
more elaboration tha~ we can here afford. The concept,
however, should be intuitively clear to any logic designer.
The eight bits stored in the instruction register can be decoded and used to selectively activate one of a number of
output lines, in this case up to 256 lines. Each line represents a set of activities associated with execution of a particular instruction code. The enabled line can be combined
w\th selected timing pulses, to develop electrical signals that
can then be used to initiate specific actions. This translation of code into action is performed by the Instruction
Decoder and by the associated control circu itry.

The ALU contains Flag Bits which specify certain
conditions that arise in the course of arithmetic and logical
manipulations. 'Flags typically include Carry, Zero, Sign, and
Parity. It is possible to program jumps which are conditionally dependent on the status of one or more flags. Thus,
for example, the program may be designed to jump to a
special routine if the carry bit is set following an addition
instruction.

Control Circuitry:

An eight-bit instruction code is often sufficient to
specify a particular processing action. There are times, however, when execution of the instruction requires more information than eight bits can convey.

The control circuitry is the primary functional unit
within a CPU. Using clock inputs, the control circuitry
maintains the proper sequence of events required for any
processing task. After an instruction is fetched and decoded,
the control circuitry issues the appropriate signals (to units
both internal and external to the CPU) for initiating the
proper processing action. Often the control circuitry will be
capable of responding to external signals, such as an interrupt or wait request. An Interrupt request will cause the
control circuitry to temporarily interrupt main program
execution, jump to a special routine to service the interrupting device, then automatically return to the main program.
A Wait request is often issued by a memory or I/O element
that operates slower than the CPU. The control circuitry
will idle the CPU until the memory or I/O port is ready with
the data.

One example of this is when the instruction references a memory location. The basic instruction code identifies the operation to be performed, but cannot specify
the object address as well. In a case like this, a two- or threebyte instruction must be used. Successive instruction bytes
are stored in sequentially adjacent memory locations, and
the processor performs two or three fetches in succession to
obtain the full instruction. The first byte retrieved from
memory is placed in the processor's instruction register, and
subsequent bytes are placed in temporary storage; the processor then proceeds with the execution phase. Such an
instruction is referred to as Variable Length.

Address Register(s):

COMPUTER OPERATIONS

A CPU may use a register or register-pair to hold the
address of a memory location that is to be accessed for
data. If the address register is Programmable, (Le., if there
are instructions that allow the programmer to alter the
contents of the register) the program can "build" an address in the address register prior to executing a Memory
Reference instruction (Le., an instruction that reads data
from memory, writes data to memory or operates on data
stored in memory).

There are certain operations that are basic to almost
any computer. A sound understanding of these basic operations is a necessary prerequisite to examining the specific
operations of a particular computer.

Timing:
The activities of the central processor are cyclical. The
processor fetches an instruction, performs the operations
required, fetches the next instruction, and so on. This
orderly sequence of events requires precise timing, and the
CPU therefore requires a free running oscillator clock which
furnishes the reference for all processor actions. The combined fetch and execution of a single instruction is referred
to as an Instruction Cycle. The portion of a cycle identified

Arithmetic/Logic Unit (ALU):
All processors contain an arithmetic/logic unit, which
is often referred to simply as the ALU. The ALU, as its
name implies, is that portion of the CPU hardware which

1-3

with a clearly defined activity is called a State. And the interval between pulses of the timing oscillator is referred to as a
Clock Period. As a general rule, one or more clock periods
are necessary for the completion of a state, and there are
several states in a cycle.

had time to respond, it frees the processor's READY line,
and the instruction cycle proceeds.

Input/Output:
Input and Output operations are similar to memory
read and write operations with the exception that a peripherall/O device is addressed instead of a memory location.
The CPU issues the appropriate input or output control
signal, sends the proper device address and either receives
the data being input or sends the data to be output.

Instruction Fetch:
The first state(s) of any instruction cycle will be
dedicated to fetching the next instruction. The CPU issues a
read signal and the contents of the program counter are sent
to memory, which responds by returning the next instruction word. The first byte of the instruction is placed in the
instruction register. If the instruction consists of more than
one byte, additional states are required to fetch each byte
of the instruction. When the entire instruction is present in
the CPU, the program counter is incremented (in preparation for the next instruction fetch) and the instruction is
decoded. The operation specified in the instruction will be
executed in the remaining states of the instruction cycle.
The instruction may call for a memory read or write, an
input or output and/or an internal CPU operation, such as
a register-to-register transfer or an add-registers operation.

Data can be input/output in either parallel or serial
form. All data within a digital computer is represented in
binary coded form. A binary data word consists of a group
of bits; each bit is either a one or a zero. Parallel I/O consists of transferring all bits in the word at the same time,
one bit per line. Serial I/O consists of transferring one bit
at a time on a single line. Naturally serial I/O is much
s.lower, but it requires considerably less hardware than does
parallel I/O.

Interrupts:
Interrupt. provIsions are included on many central
processors, as a means of improving the processor's efficiency. Consider the case of a computer that is processing a
large volume of data, portions of which are to be output
to a printer. The CPU can output a byte of data within a
single machine cycle but it may take the printer the equivalent of many machine cycles to actually print the character
specified by the data byte. The CPU could then remain idle
waiting until the printer can accept the next data byte. If
an interrupt capability is implemented on the computer, the
CPU can output a data byte then return to data processing.
When the printer is ready to accept the next data byte, it
can request an interrupt. When the CPU acknowledges the
interrupt, it suspends main program execution and automatically branches to a routine that will output the next
data byte. After the byte is output, the CPU continues
with main program execution. Note that this is, in principle,
quite similar to a subroutine call, except that the jump is
initiated externally rather than by the program.

Memory Read:
An instruction fetch is merely a special memory read
operation that brings the instruction to the CPU's instruction register. The instruction fetched may then call for data
to be read from memory into the CPU. The CPU again issues
a read signal and sends the proper memory address; memory
responds by returning the requested word. The data received is placed in the accumulator or one of the other general purpose registers (not the instruction register).

Memory Write:
A memory write operation is similar to a read except
-for the direction of data flow. The CPU issues a write
signal, sends the proper memory address, then sends the data
word to be written into the addressed memory location.

Wait (memory synchronization):

More complex interrupt structures are possible, in
which several interrupting devices share the same processor
but have different priority levels. Interruptive processing is
an important feature that enables maximum untilization of
a processor's capacity for high system throughput.

As previously stated, the activities of the processor
are timed by a master clock oscillator. The clock period
determines the timing of all processing activity.
The speed of the processing cycle, however, is limited
by the memory's Access Time. Once the processor has sent a
read address to memory, it cannot proceed until the memory
has had time to respond. Most memories are capable of
responding much faster than the processing cycle requires.
A few, however, cannot supply the addressed byte within
the minimum time established by the processor's clock.

Hold:
Another important feature that improves the throughput of a processor is the Hold. The hold provision enables
Direct Memory Access (DMA) operations.
In ordinary input and output operations, the processor
itself supervises the entire data transfer. Information to be
placed in memory is transferred from the input device to the
processor, and then from the processor to the designated
memory location. In similar fashion, information that goes

Therefore a processor should contain a synchronization provision, which permits the memory to request a Wait
state. When the memory rec.eives a read or write enable signal, it places a request signal on the processor's READY line,
causing the CPU to idle temporarily. After the memory has

1-4

_...

from memory to output devices goes by way of the
processor.

having the device accomplish the transfer directly. The processor must temporarily suspend its operation during such a
transfer, to prevent conflicts that would arise if processor
and peripheral device attempted to access memory simultaneously. It is for this reason that a hold provision is included on some processors.

Some peripheral devices, however, are capable of
transferring information to and from memory much faster
than the processor itself can accomplish the transfer. If any
appreciable quantity of data must be transferred to or from
such a device, then system throughput will be increased by

1-5

The 8080 is a complete 8-bit parallel, central processor
unit (CPU) for use in general purpose digital computer systems. It is fabricated on a single LSI chip (see Figure 2-1).
using Intel's n-channel silicon gate MaS process. The 8080
transfers data and internal state information via an 8-bit,
bidirectional 3- state Data Bus (00-07). Memory and peripheral device addresses are transmitted over a separate 16-

bit 3-state Address Bus (AO-A 15). Six timing and control
outputs (SYNC, DBIN, WAIT,WR, HLDA and INTE) emanate from the 8080, while four control inputs (READY,
HOLD, INT and RESET), four power inputs (+12v, +!5v,
-5v, and GND) and two clock inputs (<1>1 and <1>2) are accepted by the 8080.

A,O

1

40

A"

GNO

2

39

A14
A'3
A'2

04

3

38

Os

4

37

0 6 0.-.5

36
35
34

07
03

6
7

O2

8

0,0

9
10

DO 0

Figure 2-1.8080 Photomicrograph With Pin Designations

2-1

INTE~

8080

33
32

o A,s
o Ag
As

o A7
A6

As

31

o

A4

-5V
RESET

11
12

30
29

A3

HOLD

13

28

+12V

INT

14

27

A2

¢2

15

26

A,

INTE 0

25

Ao

DBIN 0

16
17

24

WAIT

WR

18

23

READY

SYNC

19

22

tp,

+5V

20

21

HLOA

ARCHITECTURE OF THE 8080 CPU

matically during every instruction fetch. The stack pointer
maintains the address of the next available stack location in
memory. The stack pointer can be initialized to use any
portion of read-write memory as a stack. The stack pointer
is decremented when data is "pushed" onto the stack and
incremented when data is "popped" off the stack (Le., the
stack grows "downward").

The 8080 CPU consists of the following functional
units:
• Register array and address logic
• Arithmetic and logic unit (ALU)
• Instruction register and control section
• Bi-directional, 3-state data bus buffer
Figure 2-2 illustrates the functional blocks within
the 8080 CPU.

The six general purpose registers can be used either as
single registers (8-bit) or as register pairs (16-bit). The
temporary register pair, W,Z, is not program addressable
and is only used for the internal execution of instructions.

Registers:

Eight-bit data bytes can be transferred between the
internal bus and the register array via the register-select
multiplexer. Sixteen-bit transfers can proceed between the
register array and the address latch or the incrementer/
decrementer circu it. The address latch receives data from
any of the three register pairs and drives the 16 address
output buffers (AO-A 15), as well as the incrementer/
decrementer circuit. The incrementer/decrementer circuit
receives data from the address latch and sends it to
the register array. The 16-bit data can be incremented or
decremented or simply transferred between registers.

The register section consists of a static RAM array
organized into six 16-bit registers:
• Program counter (PC)
• Stack pointer (SP)
• Six 8-bit general purpose registers arranged in pairs,
referred to as S,C; D,E; and H,L
• A temporary register pair called W,Z
The program counter maintains the memory address
of the current program instruction and is incremented auto-

81-01 RECTIONAL
DATA BUS

...

0

INSTRUCTION
DECODER
AND
MACHINE
CYCLE
ENCODING

(8)
W
TEMP REG.

B
REG.

(8)

C
REG.

(8)

0

(8)

E
REG.

(8)

(8)

L
REG.

(8)

w
..J
w
en

REG.

...enw

H
REG.

a:

a
w
a:

(8)
Z
TEMP REG.

STACK POINTER

(16)
(16)

PROGRAM COUNTER

POWER
SUPPLI ES
..

1-"

+12V

---. +5V

---. -5V
---. GND

DATA BUS INTERRUPT HOLD
WAIT
WRITE CONTROL CONTROL CONTROL CONTROL SYNC CLOCKS

RESET
ACK

Figure 2-2. 8080 CPU Functional Block Diagram

2-2

A 15 -Ao
ADDRESS BUS

REGISTER
ARRAY

THE PROCESSOR CYCLE

Arithmetic and Logic Unit (ALU):

An instruction cycle is defined as the time required
to fetch and execute an instruction. During the fetch, a
selected instruction (one, two or three bytes) is extracted
from memory and deposited in the CPU's instruction register. During the execution phase, the instruction is decoded
and translated into specific processing activities.

The ALU contains the following registers:
• An 8-bit accumulator
• An 8-bit temporary accumulator (ACT)
• A 5-bit flag register: zero, carry, sign, parity and
auxiliary carry

Every instruction cycle consists of one, two, three,
four or five machine cycles. A machine cycle is required
each time the CPU accesses memory or an I/O port. The
fetch portion of an instruction cycle requires one machine
cycle for each byte to be fetched. The duration of the execution portion of the instruction cycle depends on the kind
of instruction that has been fetched. Some instructions do
not require any machine cycles other than those necessary
to fetch the instruction; other instructions, however, require additional machine cycles to write or read data to/
from memory or I/O devices. The DAD instruction is an
exception in that it requires two additional machine cycles
to complete an internal register-pair add (see Chapter 4).

• An 8-bit temporary register (TMP)
Arithmetic, logical and rotate operations are performed in the ALU. The ALU is fed by the temporary
register (TMP) and the temporary accumulator (ACT) and
carry flip-flop. The result of the operation can be transferred to the internal bus or to the accumulator; the ALU
also feeds the flag register.
The temporary register (TMP) receives information
from the internal bus and can send all or portions of it to
the ALU, the flag register and the internal bus.

Each machine cycle consists of three, four or five
states. A state is the smallest unit of processing activity and
is defined as the interval between two successive positive~
going transitions of the ¢1 driven clock pulse. The 8080
is driven by a two-phase clock oscillator. All processing activities are referred to the period of th is clock. The two nonoverlapping clock pulses, labeled ¢1 and cP2, are furnished
by external circuitry. It is the cPl clock pulse which divides
each machine cycle into states. Timing logic within the
8080 uses the clock inputs to produce a SYNC pulse,
which identifies the beginning of every machine cycle. The
SYNC pulse is triggered by the low-to-high transition of cP2,
as shown in Figure 2-3.

The accumulator (ACC) can be loaded from the ALU
and the internal bus and can transfer data ~o the temporary
accumulator (ACT) and the internal bus. The contents of
the accumulator (ACC) and the auxiliary carry flip-flop can
be tested for decimal correction during the execution of the
DAA instruction (see Chapter 4).

Instruction Register and Control:
During an instruction fetch, the first byte of an instruction (containing the OP code) is transferred from the
internal bus to the 8-bit instruction register.
The contents of the instruction register are, in turn,
available to the instruction decoder. The output of the
decoder, combined with various timing signals, provides
the control signals for the register array, ALU and data
buffer blocks. In addition, the outputs from the instruction
decoder and external control signals feed the timing and
state control section which generates the state and cycle
timing signals.

FIRST STATE OF
*EVERY MACHINE
CYCLE

4>1

SYNC

Data Bus Buffer:
*SYNC DOES NOT OCCUR IN THE SECOND AND THIRD MACHINE
CYCLES OF A DAD INSTRUCTION SINCE THESE MACHINE CYCLES
ARE USED FOR AN INTERNAL REGISTER-PAIR ADD.

This 8-bit bidirectional 3-state buffer is used to
isolate the CPU's internal bus from the external data bus.
(DO through 07). In the output mode, the internal bus
content is loaded into an 8-bit latch that, in turn, drives the
data bus output buffers. The output buffers are switched
off during input or non-transfer operations.

Figure 2-3.1>1,2.

HALT. INTERRUPT

The machine cycles that actually do occur in a particular instruction cycle depend upon the kind of instruction, with the overriding stipulation that the first machine
cycle in any instruction cycle is always a FETCH.
The processor identifies the machine cycle in progress by transmitting an eight-bit status word during the first
state of every machine cycle. Updated status information is
presented on the 8080's data lines (00-07), during the
SYNC interval. This data should be saved in latches, and
used to develop control signals for external circuitry. Table
2-1 shows how the positive-true status information is distributed on the processor's data bus.

The rising edge of ¢2 during T 1 also loads the processor's address lines (AO-A 15). These lines become stable
within a brief delay (tDA) of the cP2 clocking pulse, and
they remain stable until the first ¢2 pulse after state T3.
Th is gives the processor ample time to read the data returned from memory.
Once the processor has sent an address to memory,
there is an opportunity for the memory to request a WAIT.
This it does by pulling the processor's READY line low,
prior to the "Ready set-up" interval (tRS) which occurs
during the (/)2 pulse within state T2 or TW. As long as the
REAOY line remains low, the processor will idle, giving the
memory time to respond to the addressed data request.
Refer to Figure 2-5.

Status signals are provided principally for the control
of external circuitry. Simplicity of interface, rather than
machine cycle identification, dictates the logical definition
of individual status bits. You will therefore observe that
certain processor machine cycles are uniquely identified by
a single status bit, but that others are not. The M1 status
bit (06), for example, unambiguously identifies a FETCH
machine cycle. A STACK REAO, on the other hand, is
indicated by the coincidence of STACK and MEMR signals. Machine cycle identification data is also valuable in
the test and de-bugging phases of system development.
Table 2-1 lists the status bit outputs for each type of
machine cycle.

The processor responds to a wait request by entering
an alternative state (TW) at the end of T2, rather than proceed ing directly to the T 3 state. Entry into the TW state is
indicated by a WAIT signal from the processor, acknowledging the memory's request. A low-to-high transition on the
WAIT line is triggered by the rising edge of the (/)1 clock and
occurs within a brief delay (tOC) of the actual entry into
the TW state.

State Transition Sequence:
Every machine cycle within an instruction cycle consists of three to five active states (referred to as T 1, T 2, T 3,
T4, T5 or TW). The actual number of states depends upon
the instruction being executed, and on the particular machine cycle within the greater instruction cycle. The state
transition diagram in Figure 2-4 shows how the 8080 proceeds from state to state in the course of a machine cycle.
The diagram also shows how the READY, HOLD, and
INTERRUPT lines are sampled during the machine cycle,
and how the conditions on these lines may modify the

A wait period may be of indefinite duration. The processor remains in the waiting condition until its READY line
again goes high. A READY indication must precede the failing edge of the (/)2 clock by a specified interval (tRS), in
order to guarantee an exit from the TW state. The cycle
may then proceed, beginning with the rising edge of the
next (/)1 clock. A WAIT interval will therefore consist of an
integral number of TW states and will always be a multiple
of the clock period.

2-5

Instructions for the 8080 require from one to five machine
cycles for complete execution. The 8080 sends out 8 bit of
status informatton on the data bus at the beginning of each
machine cycle (during SYNC time). The following table defines
the status information.

8080 STATUS LATCH

o

o

0,

o

STATUS INFORMATION DEFINITION
Data Bus
Symbols
Bit
Definition
INTA*
00
Acknowledge signal for INTERRUPT request. Signal should be used to gate a restart instruction onto the data bus when
OBIN is active.
0,
Indicates that the operation in the current
machine cycle will be a WR ITE memory
or OUTPUT function (WO = O).Otherwise,
a REAO memory or INPUT operation will
be executed.
STACK
Indicates that the address bus holds the
pushdown stack address from the Stack
Pointer.
HLTA
Acknowledge signal for HALT instruction.
OUT
I ndicates that the address bus contains the
address of an output device and the data
bus will contain the output data when
WR is active.
M,
Provides a signal to indicate that the CPU
is in the fetch cycle for the first byte of
an instruction.
INP*
Indicates that the address bus contains the
address of an input device and the input
data shou Id be placed on the data bus
when OB I N is active.
MEMR*
Designates that the data bus will be used
07
for memory read data.

10
9

8
2 7

03 3
04 4
05 5

8080

~6

6

SYNC

-

7

OBIN
01

19

~

02
22

STATUS
LATCH

15

--2.
5

01

°2

CLOCK GEN.
& DRIVER

°3
°4

--

(olTTl)

~

r;;

CLR
OS2 MO

T2

01

°6

SYNC

STATUS

*These three status bits can be used to control
the flow of data onto the 8080 data bus.

TYPE OF MACHINE CYCLE
I

INTA

02

STACK

03
04

OUT

HLTA

06

INP

07

MEMR

Table 2-1. 8080 Status Bit Definitions

2-6

''---t--t--

......-.----+001'----1

STATUS WORD CHART

17

OUT
M1

~

MEMR

JL INP
13 12

1------

.lL.

8212

I
~

OAT A

~ INTA
~ W6
~ STACK
~ HlTA

9
16
18
20
22

°5

DO

DO

~

OS,
Y1

I

DBIN

Till

G)_RESET

READY + HLTA
(2)

YES
READY. HLTA
NO

~~

READY

-------------~
READY

I...

INT. INTE

YES

SET INTERNAL
HOLD F/F

SET INTERNAL
HOLD F/F

(3)

I
I
I
I (31

HOLD
I HOLD
I MODE
I

7

I
I

?~~----

I
__ .J

RESET INTERNAL
HOLD F/F

YES

NO

RESET HLTA

NO
HOLD

NO

RESET INTERNAL
HOLD F/F

SET INTERNAL
INT F/F

(1),NTE F/F IS RESET IF INTERNAL INT F/F IS SET.
(2),NTERNAL INT F/F IS RESET IF INTE F/F IS RESET.
(3)SEE PAGE 2-13.

Figure 2-4. CPU State Transition Diagram

2-7

The events that take place during the T3 state are
determined by the kind of machine cycle in progress. In a
FETCH machine cycle, the processor interprets the data on
its data bus as an instruction. During a MEMORY READ or
a STACK READ, data on this bus is interpreted as a data
word. The processor outputs data on this bus during a
MEMORY WRITE machine cycle. During I/O operations,
the processor may either transmit or receive data, depending on whether an OUTPUT or an INPUT operation
is involved.

data must remain stable during the "data hold" interval
(tDH) that occurs following the rising edge of the 1

n

T2

,

L.-J

Figure 2-7 shows the timing of a machine cycle in
wh ich the processor outputs data. Output data may be destined either for memory or for peripherals. The rising edge
of 2 clock's
leading edge. Data on the bus remains stable throughout
the remainder of the machine cycle, until replaced by updated status information in the subsequent T 1 state. Observe
that a READY signal is necessary for completion of an
OUTPUT machine cycle. Unless such an indication is present, the processor enters the TW state, following the T2
state. Data on the output lines remains stable in the
interim, and the processing cycle will not proceed until
the READY line again goes high.

sarily extend WR, in much the same way that DBrN is affected during data input operations.
All processor mach ine cycles consist of at least three
states: T 1, T2, and T3 as just described. If the processor has
to wait for a response from the peripheral or memory with
which it is communicating, then the machine cycle may
also contain one or more TW states. During the three basic
states, data is transferred to or from the processor.
After the T3 state, however, it becomes difficult to
generalize. T4 and TS states are available, if the execution
of a particular instruction requires them. But not ·all machine
cycles make use of these states. It depends upon the kind of
instruction being executed, and on the particular machine
cycle within the instruction cycle. The processor will terminate any mach ine cycle as soon as its processing activities
are completed, rather than proceeding through the T4 and
TS states every time. Thus the 8080 may exit a machine
cycle following the T3, the T41 or the TS state and proceed directly to the T 1 state of the next mach ine cycle.

The 8080 CPU generates a WR output for the synchronization of external transfers, during those machine
cycles in which the processor outputs data. These include
MEMORY WRITE, STACK WRITE, and OUTPUT. The
negative-going leading edge of WR is referenced to the rising
edge of the first 1 clock pulse following T2, and occurs
within a brief delay (tDC) of that event. WR remains low
until re-triggered by the leading edge of 1 during the
state following T3. Note that any TW states intervening
between T2 and T3 of the output machine cycle will neces-

ASSOCIATED ACTIVITIES

STATE

A memory address or I/O device number is
placed on the Address Bus (A 15-0); status
information is placed on Data Bus (D7-0).
The CPU samples the READY and HOLD inputs and checks for halt instruction.
TW
(optional)

T3

An instruction byte (FETCH machine cycle),
data byte (MEMORY READ, STACK READ)
or interrupt instruction (INTERRUPT machine
cycle) is input to the CPU from the Data Bus;
or a data byte (MEMORY WRITE, STACK
WR ITE or OUTPUT machine cycle) is output
onto the data bus.

T4

States T 4 and TS are available if the execution of a particular instruction requires them;
if not, the CPU may skip one or both of
them. T4 and TS are only used for internal
processor operations.

TS
(optional)

Table

Processor enters wait state if READY is low
or if HALT instruction has been executed.

2~2.

State Definitions

2-10

INTERRUPT SEQUENCES

In this way, the pre-interrupt status of the program counter
is preserved, so that data in the counter may be restored by
the interrupted program after the interrupt request has been
processed.

The 8080 has the built-in capacity to handle external
interrupt requests. A peripheral device can initiate an interrupt simply by driving the processor's interrupt (INT) line
high.
The interrupt (INT) input is asynchronous, and a
request may therefore originate at any time during any
instruction cycle. Internal logic re-clocks the external request, so that a proper correspondence with the driving
clock is established. As Figure 2-8 shows, an interrupt
request (I NT) arriving during the time that the interrupt
enable line (I NTE) is high, acts in coincidence with the ~2
clock to set the internal interrupt latch. This event takes
place during the last state of the instruction cycle in wh ich
the request occurs, thus ensuring that any instruction in
progress is completed before the interrupt can be processed.

The interrupt cycle is otherwise indistinguishable from
an ordinary FETCH machine cycle. The processor itself
takes no further special action. It is the responsibility of the
peripheral logic to see that an eight-bit interrupt instruction
is "jammed" onto the processor's data bus during state T3.
In a typical system, this means that the data-in bus from
memory must be temporarily disconnected from the processor's main data bus, so that the interrupting device can
command the main bus without interference.
The 8080's instruction set provides a special one-byte
call which facilitates the processing of interrupts (the ordinary program Call takes three bytes). This is the RESTART
instruction (RST). A variable three-bit field embedded in
the eight-bit field of .the RST enables the interrupting device
to direct a Call to one of eight fixed memory locations. The
decimal addresses of these dedicated locations are: 0, 8, 16,
24, 32, 40, 48, and 56. Any of these addresses may be used
to store the first instruction (s) of a routine designed to
service the requirements of an interrupting device. Since
the (RST) is a call, completion of the instruction also
stores the old program counter contents on the STACK.

The INTERRUPT machine cycle which follows the
arrival of an enabled interrupt request resembles an ordinary
FETCH machine cycle in most respects. The M1 status bit
is transmitted as usual during the SYNC interval. It is
accompanied, however, by an INTA status bit (DO) which
acknowledges the external request. The contents of the
program counter are latched onto the CPU's address lines
during T 1, but the counter itself is not incremented during
the INTERRUPT machine cycle, as it otherwise would be.

T1

_n

T2

n

pc·,

A1S-0

T1

\
\

--- -RST

---

~-

I

~-- 1 - -

(INTA)

I

T3

T2

T1

X

sP·'

X

PCH

SP·2

X

X

\

L-

'---'
-~

,-

\

INTE

INT

PCl

rM

I

\

DBIN

RETURN M1
(INTERNAL)

T3

r--L LJl.LIl.J\. J\ U\Wl. Lr\.Jl..Jl.
Do

SYNC

T2

rLrL-rL"-rL rL-rL- rLrL

pc

I

Ts

T4

T3

r~

_---r~U~~U

M3

M2

M1
T3

I
~

INT F/F
(INTERNAL)

I

\

INHIBIT STORE OF
PC+1 (INTERNAL)

I

\

0---

STATUS
INFORMATION

NOTE:

®

X\@

Refer to Status Word Chart on Page 2-6.

Figure 2-8. Interrupt Timing

2-11

A\@

Mn

l--OR~

¢l_n
¢2

n

~n

i

I
:
1

I

:

I !
!

I

I

~
\
' i \ .- HOLD U
~
REQUEST OJ·O

I

I

~

n

-+--sLJJlL-..rrL~LJLLJTLJJ\.lJL
!

A'5·0

n

~

Mn +1

1

(1)

I

I

I -:- - - - - - - - - -:- - - - - - - - FLOATING

I

.1 -I----------I----------......--~
-..II

I

I

1

:

i

HOLD .....

1

1

I

'

i
i

READY
HOLD F/F
INTERNAL -+-

+--_J

--+-

HLDA

I
(1)

*T4 AND T5 OPERATION CAN BE
DONE INTERNALLY.

SEE ATTACHED ELECTRICAL CHARACTERISTICS.

I

I

Figure 2-9. HOLD Operation (Read Mode)

Mn

T3

n

_V\
A'5·0

T,

T4

n

T2

M n+1

M n+2

T3

T,

n

n

n

n

L.-ILL.-IL
-L.-ILL.-IL--F\...--F\... L.....JLL.-IL
I
- ----- - - j
X
I
,--- ----- --yX
I

FLOATING

I

~-----

I

-~--~

I
HOLD
REQUEST

n

\

-U
I

HOLD

\

READY
!

HOLD F/F
INTERNAL

I

HLDA
WRITE DATA

Figure 2-10. HOLD Operation (Write Mode)

2-12

I

HOLD SEQUENCES
The SOSOA CPU contains provisions for Direct Memory Access (DMA) operations. By applying a HO LD to the
appropriate control pin on the processor, an external device
can cause the CPU to suspend its normal operations and relinquish control of the address and data busses. The processor responds to a request of this kind by floating its address
to other devices sharing the busses. At the same time, the
processor acknowledges the HO LD by placing a high on its
HLDA outpin pin. During an acknowledged HOLD, the
address and data busses are under control of the peripheral
which originated the request, enabling it to conduct memory transfers without processor intervention.

returns to a low level following the leading edge of the next
¢1 clock pulse. Normal processing resumes with the machine cycle following the last cycle that was executed.

HALT SEQUENCES
When a halt instruction (H LT) is executed, the CPU
enters the ha It state (TWH) after state T 2 of the next machine cycle, as shown in Figure 2-11. There are only three
ways in which the 8080 can exit the halt state:
• A high on the RESET line will always reset the
8080 to state T 1; RESET also clears the program
counter.
• A HOLD input will cause the 8080 to enter the
hold state, as previously described. When the
HOLD line goes low, the 8080 re-enters the halt
state on the rising edge of the next ¢1 clock
pulse.
• An interrupt (Le., INT goes high while INTE is
enabled) will cause the 8080 to exit the Halt state
and enter state T 1 on the rising edge of the next
¢1 clock pulse. NOTE: The interrupt enable (INTE)
flag must be set when the halt state is entered;
otherwise, the 8080 will only be able to exit via a
RESET signal.

Like the interrupt, the HO LD input is synchronized
internally. A HOLD signal must be stable prior to the "Hold
set-up" interval (tHS), that precedes the rising edge of 1

DO

eJ>2

01
02

WAIT

03

READY

04

RESET
SYNC

Clock Generator and High Level Driver

05
06
07

STATUS STROBE

25

AO

26

Al

27

A2

29

A3

30

A4

31

AS

32

A6

33

A7

34

A8

35
1

Al0

40

All

37

A12

38

~13

39

A14

36

A15

18
17

21
10
9
8
7
3
4

BI-DIRECTIONAL
BUS DRIVER

5
6

SYSTEM
CONTROL

Figure 3-2. 8080 CPU Interface

3-2

ADDRESS BUS

A9

DATA BUS

OSCILLATOR

~

20MHz

330

330

~""""--01 >-......- - - - - - - - - - - -.......- - - - - - - -.... OSC

74S04

CLOCK GENERATOR
7486

DB

OB
74163

DC

OC . . . . . . . - - . . . - - - - - - - '
7486

GND--+-~

1 0 - - + - - - - - - - - -. .

4>2 (TTL)

AUXILIARY FUNCTIONS
r-----IIIIII----

SYNC

74HOO

'----........--410
74S74
WAVEFORMS

----u

4>1

---f 1~~~

4>2

--'

50ns~
4>1A

SYNC

t+-

---I

u

~50ns
\

--.f

250ns

r-

,

ClK

------41---1

50ns
,

READY

ClK

I

,

---1'

a

0

tf>1A (TTL)

74574

'~_ _

,

250ns

WA IT REO

-Ir-

0.......-..-.-----..

a

DMAREO--~----IID

\

HOLD

74S74
ClK

,\,.-_---1'
Figure 3-3. 8080 Clock Generator

positive transition when biased from the 8080 Voo
supply (12V) but to achieve the low voltage specification (V ILC ) .8 volts Max. the driver is biased to the
8080 Vss supply (-5V). This allows the driver to
swing from GND to Vo o with the aid of a simple
resistor divider.

20 MHZ oscillator, a four bit counter, and gating
circuits.
The oscillator provides a 20 MHZ signal to the input
of a four (4) bit, presettable, synchronous, binary
counter. By presetting the counter as shown in figure
3-3 and clocking it with the 20 MHZ signal, a simple
decoding of the counters outputs using standard TTL
gates, provides proper timing for the two (2) 8080
clock inputs.

A low resistance series network is added between the
driver and the 8080 to eliminate any overshoot of the
pulsed waveforms. Now a circuit is apparent that can
easily comply with the 8080 specifications. I n fact
rise and falltimes of this design are typically less than
10 ns.

Note that the timing must actually be measured at
the output of the High Level Driver to take into account the added delays and waveform distortions
within such a device.

+12V

High Level Driver Design
The voltage level of the clocks for the 8080 is not
TTL compatible like the other signals that input to
the 8080. The voltage swing is from .6 volts (VILC )
to 11 volts (VIHC ) with risetimes and falltimes under
50 ns. The Capacitive Drive is 20 pf (max.). Thus, a
High Level Driver is required to interface the outputs
of the Clock Generator (TTL) to the 8080.

6
6S0pF

cf>1 (TTL)

---1

47n
2
MH0026
OR

680 pF
¢2 (TTL)-)

cf>1
(SOSO PIN 22)

4

EQUIV.

5

47n

¢2
(8080 PIN 15)

3
15K
.68 J.LF

The two (2) outputs of the Clock Generator are capacitivity coupled to a dual- High Level clock driver.
The driver must be capable of complying with the
8080 clock input specifications, page 5-15. A driver
of this type usually has little problem supplying the

100n

-5V

Figure 3-4. High Level Driver

3-3

15K

3.

Auxiliary Timing Signals and Functions

Bi-Directional Bus Driver and System Control Logic

The Clock Generator can also be used to provide
other signals that the designer can use to simplify
large system timing or the interface to dynamic
memories.

The system Memory and I/O devices communicate
with the CPU over the bi-directional Data Bus. The
system Control Bus is used to gate data on and off
the Data Bus within the proper timing sequences as
dictated by the operation of the 8080 CPU. The data
lines of the 8080 CPU, Memory and I/O devices are
3-state in nature, that is, their output drivers have
the ability to be forced into a high-impedance mode
and are, effectively, removed from the circuit. This '3state bus technique allows the designer to construct a
system around a single, eight (8) bit parallel, bi-directional Data Bus and simply gate the information on
or off this bus by selecting or deselecting (3-stating)
Memory and I/O devices with signals from the Control Bus.

Functions such as power-on reset, synchronization of
external requests (HOLD, READY, etc.) and single
step, could easily be added to the Clock Generator to
further enhance its capabilities.
For instance, the 20 MHZ signal from the oscillator
can be buffered so that it could provide the basis for
communication baud rate generation.
The Clock Generator diagram also shows how to generate an advanced timing signal (l/>1A) that is handy
to use in clocking "0" type flipflops to synchronize
external requests. It can also be used to generate a
strobe (STSTB) that is the latching signal for the status information which is available on the Data Bus at
the beginning of each machine cycle. A simple gating
of the SYNC signal from the 8080 and the advanced
(l/>1A) will do the job. See Figure 3-3.

Bi-Directional Data Bus Driver Design
The 8080 Data Bus (07-00) has two (2) major areas
of concern for the designer:
1. Input Voltage level (V1H ) 3.3 volts minimum.
2. Output Drive Capability (tOL) 1.7 rnA maximum.

BUSEN

-

2,4

DO

5,7

01

rr-

3
6
8216

9,11r-

02

10

12,14r-

03

13
OlEN

CS

15?

04
05

3

r-

6
8216

9,11r-

06

10

12,14r-

07
~I

OBIN

3

-

5
7
9
16

-68

?1

STACK

-

17 M1
191NP
21 MEMR

20
22
12

[13

Q.»--

WO

-10 HLTA
-15 OUT

8212

18

------!1
STSTB

CS

4 INTA

I....--

808 0

13
OlEN
15)'

...,

~

Q.»--

c=[y--

Vee

-

WR

-I

...... 1

......

-

--(>0.-=0--

Figure 3-5. 8080 System Control

3-4

OB2
OB3

«1

2,4]
5,7

OBO

OB1

OB4
DB5
DB6
DB7

The input level specification impl ies that any semiconductor memory or I/O device connected to the
8080 Data Bus must be able to provide a minimum of
3.3 volts in its high state. Most semiconductor memories and standard TTL I/O devices have an output
capability of between 2.0 and 2.8 volts, obviously a
direct connection onto the 8080 Data Bus would require pullup resistors, whose value should not affect
the bus speed or stress the drive capability of the
memory or I/O components.

Status information. The signal that loads the data
into the Status Latch comes from the Clock Generator, it is Status Strobe (STSTB) and occurs at the
start of each Machine Cycle.
Note that the Status Latch is connected onto the
SOSO Data Bus (07-00) before the Bus Buffer. This is
to maintain the integrity of the Data Bus and simplify
Control Bus timing in DMA dependent environments..
As shown in the diagram, a simple gating of the outputs of the Status Latch with the DB INand WR
signals from the S080 generate the (4) four Control
signals that make up the basic Control Bus.

The 80S0A output drive capability (lOl) 1.9mA max.
is sufficient for small systems where Memory size and
I/O requirements are minimal and the entire system is
contained on a single printed circuit board. Most systems however, take advantage of the high-performance computing power of the 8080 CPU and thus a
more typical system would require some form of buffering on the 80S0 Data Bus to support a larger array
of Memory and I/O devices which are likely to be on
separate boards.

These four signals: 1. Memory Read (MEM R)
2. Memory Write (MEM W)
3. I/O Read (I/O R)
4. I/O Write (I/O W)

A device specifically designed to do this buffering
function is the INTEL® 8216, a (4) four bit bi-directional bus driver whose input voltage level is compatible with standard TTL devices and semiconductor
memory components, and has output drive capability
of 50 mAo At the 8080 side, the 8216 has a "high"
output of 3.65 volts that not only meets the S080
input spec but provides the designer with a worse case
350 mV noise margin.

TM

connect directly to the MCS-80 component "family"
of ROMs, RAMs and I/O devices.
A fifth signal, Interrupt Acknowledge (lNTA) is
added to the Control Bus by gating data off the
Status Latch with the DBIN signal from the S080
CPU. This signal is used to enable the Interrupt
Instruction Port wh ich holds the RST instruction
onto the Data Bus.

A pair of S216's are connected directly to the 8080
Data Bus (07-00) as shown in figure 3-5. Note that
the OBI N signal from the 8080 is connected to the
direction control input (01 EN) so the correct flow of
data on the bus is maintained. The chip select (CS) of

Other signals that are part of the Control Bus such as
WO, Stack and M1 are present to aid in the testing of
the System and also to simplify interfacing the CPU
to dynamic memories or very large systems that require several levels of bus buffering.

the S216 is connected to BUS ENABLE (BUSEN) to
allow for DMA activities by deselecting the Data Bus
Buffer and forcing the outputs of the S216's into
their high impedance (3-state) mode. This allows
other devices to gain access to the data bus (DMA).

Address Buffer Design

System Control Logic Design

The Address Bus (A 15-AO) of the 8080, like the Data
Bus, is sufficient to support a small system that has a
moderate size Memory and I/O structure, confined to
a single card. To expand the size of the system that
the Address Bus can support a simple buffer can be
added, as shown in figure 3-6. The INTEL®S212 or
8216 is an excellent device for this function. They
provide low input loading (.25 mA), high output
drive and insert a minimal delay in the System
Timing.

The Control Bus maintains discipline of the bi-directional Data Bus, that is, it determines what type of
device will have access to the bus (Memory or I/O)
and generates signals to assure that these devices
transfer Data with the SOSO CPU within the proper
timing "windows" as dictated by the CPU operational
characteristics.
As described previously, the 8080 issues Status information at the beginning of each Machine Cycle on its
Data Bus to indicate what operation will take place
during that cycle. A simple (8) bit latch, like an
INTEL® 8212, connected directly to the 80S0 Data
Bus (07-00) as shown in figure 3-5 will store the

Note that BUS ENABLE (BUSEN) is connected to
the buffers so that they are forced into their highimpedance (3-state) mode during DMA activities so
that other devices can gain access to the Address Bus.

3-5

INTERFACING THE 8080 CPU TO MEMORY
AND I/O DEVICES

This feature eliminates the need for extra equipment like
tape readers and disks to load programs initially, an important aspect in small system design.

The 8080 interfaces with standard semiconductor
Memory components and I/O devices. In the previous text
the proper control signals and buffering were developed
which will produce a simple bus system similar to the basic
system example shown at the beginning of this chapter.
In Figure 3-6 a simple, but exact 8080' typical system
is shown that can be used as a guide for any 8080 system,
regardless of size or complexity. It is a "three bus" architecture, using the signals developed in the CPU module.

Interfacing standard ROMs, such as the devices shown
in the diagram is simple and direct. The output Data lines
are connected to the bi-directional Data Bus, the Address
inputs tie to the Address bus with possible decoding of the
most significant bits as chip selects" a~d the MEMR signal
from the Control Bus connected to a "chip select" or data
buffer. Basically, the CPU issues an address during the first
portion of an instruction or data fetch (Tl & T2). This
value on the Address Bus selects a specific location within
the ROM, then depending on the ROM's delay (access time)
the data stored at the addressed location is present at the
Data output lines. At this time (T3) the CPU Data Bus is
in the "input Mode" and the control logic issues a Memory
Read command (MEMR) that gates the addressed data on
to the Data Bus.
II

Note that Memory and I/O devices interface in the
same manner and that their isolation is only a function of
the definition of the Read-Write signals on the Control Bus.
This allows the 8080 system to be configured so that Memory and I/O are treated as a single array (memory mapped
I/O) for small systems that require high thruput and have
less than 32K memory size. This approach will be brought
out later in the chapter.

RAM INTERFACE
A RAM is a device that stores data. This data can be
program, active "look-up tables," temporary values or external stacks. The difference between RAM and ROM is
that data can be written into such devices and are in
essence, Read/Write storage elements. RAMs do not hold
their data when power is removed so in the case where Program or "look-up tables" data is stored a method to load

ROM INTERFACE
A ROM is a device that stores data in the form of
Program or other information such as "look-up tables" and
is only read from, thus the term Read Only Memory. This
type of memory is generallY' non-volatile, meaning that
when the power is removed the information is retained.

HOLD REO

WR DO-D7DBIN HLDA

AO-A15

!r-:- -- -----"1
I 8212

II

I

8205

lL.83..1~

ADDRESS
BUFFERSI
DECODER

I

I
(OP~I£.N~~..J

8702A
8704

ROMs

8708

8302

8101-2

8308

8111·2

RAMs

8316A

8102-2

5101

DATA BUS (8)

u

{} D"---_~rl {[- DL...-.--_n '0

_ _ _LCJJ~)7
8251

I/O
COMMUNICATION
INTERFACE

CONTROL BUS (6)

I

ADDRESS BUS (16)

8212
8255

Figure 3-6. Microcomputer System

3-6

I/O
PERIPHERAL
INTERFACE

8214
8212

PRIORITY
INTERRUPT

8102A·4
8107B·4
8210
8222

o::=c

The memories chosen for this example have an access
time of 850 nS (max) to illustrate that slower, economical
devices can be easily interfaced to the 8080 with little effect on performance. When the 8080 is operated from a
clock generator with a tCY of 500 nS the required memory
access time is Approx. 450-550 nS. See detailed timing
specification Pg. 5-16. Using memory devices of this speed
such as Intel@8308, 8102A, 8107A, etc. the READY input
to the· 8080 CPU can remain "high" because no "wait"
states are required. Note that the bus interface to memory
shown in Figure 3-7 remains the same. However, if slower
memories are to be used, such as the devices illustrated
(8316A, 8111) that have access times slower than the minimum requirement a simple logic control of the READY
input to the 8080 CPU will insert an extra "wait state" that
is equal to one or more clock periods as an access time
"adjustment" deiay to compensate. The effect of the extra
"wait" state is naturally a slower execution time for the
instruction. A single "wait" changes the basic instruction
cycle to 2.5 microSeconds.

RAM memory must be provided, such as: Floppy Disk,
Paper Tape, etc.
The CPU treats RAM in exactly the same manner as
ROM for addressing data to be read. Writing data is very
similar; the RAM is issued an address during the first portion of the Memory Write cycle (T1 & T2) in T3 when the
data that is to be written is output by the CPU and is stable
on the bus an MEMW command is generated. The MEMW
signal is connected to the R/W input of the RAM and
strobes the data into the addressed location.
In Figure 3-7 a typical Memory system is illustrated
to show how standard semiconductor components interface
to the 8080 bus. The memory array shown has 8K bytes
•
®
(8 bits/byte) of ROM storage, uSing four Intel 8216As
and 512 bytes of RAM storage, using Intel 8111 static
RAMs. The basic interface to the bus structure detailed
here is common to almost any size memory. The only addition that might have to be made for larger systems is
more buffers (8216/8212) and decoders (8205) for generating "chip selects."

8K + 512

o

8K

ROM

RAM

MEMORY MAP

ROM

-----------,

RAM

----------....

#4.:.#3;;.

...........
..-.

#2
#1

8111

8111

FiJW

00

1/0 1-4

R/W 00

AO-A7

1/01-4

AO-A7
AO-A7

8316A

CS3
CS2

01-08

AO-Al0

AllA12

_01.--_0
_-.-ill

DATA BUS

IsiJL.-..--_IJL--.------L----_DL----

CONTROL BUS (6)

ADDRESS BUS (16)

Figure 3-7. Typical Memory Interface

3-7

n

11_

I/O INTERFACE
General Theory
MEMR }
__

As in any computer based system, the 8080 CPU must
be able to communicate with devices or structures that exist
outside its normal memory array. Devices like keyboards,
paper tape, floppy disks, printers, displays and other control
structures are used to 'input information into the 8080 CPU
and display or store the results of the computational activity.

TO MEMORY
DEVICES

~----MEMW

SYSTEM
CONTROL
(8228)

I/OR

}
TO I/O DEVICES

~----I/OW

Probably the most important and strongest feature of
the 8080 Microcomputer System is the flexibility and power
of its I/O structure and the components that support it. There
are many ways to structure the I/O array so that it will "fit"
the total system environment to maximize efficiency and
minimize component count.

Figure 3-9. Isolated I/O.

Memory Mapped I/O
By assigning an area of memory address space as I/O a
powerful architecture can be developed that can manipulate
I/O using the same instructions that are used to manipulate
memory locations. Thus, a "new" instruction set is created
that is devoted to I/O handling.

The basic operation of the I/O structure can best be
viewed as an array of single byte memory locations that can
be Read from or Written into. The 8080 CPU has special instructions devoted to managing such transfers (IN, OUT).
These instructions generally isolate memory and I/O arrays
so that memory address space is not effected by the I/O
structure and the general concept is that of a simple transfer
to or from the Accumulator with an addressed "PORT". Another method of I/O architecture is to treat the I/O structure
as part of the Memory array. This is generally referred to as
"Memory Mapped I/O" and provides the designer with a
powerful new "instruction set" devoted to I/O manipulation.

As shown in Figure 3-10, new control signals are generated by gating the MEMR and MEMW signals with A15, the
most significant address bit. The new I/O control signals connect in exactly the same manner as Isolated I/O, thus the
system bus characteristics are unchanged.
By assigning A15 as the I/O "flag", a simple method of
I/O discipline is maintained:
If A 15 is a "zero" then Memory is active.
If A 15 is a "one" then I/O is active.

ISOLATED I/O
~--------------------I

1

T!

ME;;RY
~6

o

Other address bits can also be used for this function. A 15 was
chosen because it is the most significant address bit so it is
easier to control with software and because it still allows
memory addressing of 32K.

:

c:=J

I/O devices are still considered addressed II ports" but
instead of the Accumulator as the only transfer medium any
of the internal registers can be used. All instructions that
could be used to operate on memory locations can be used
in I/O.

iI

r--------------------- j

!

I

I

~

MEMORY

T

MEMORY MAPPED I/O

I/O

T!

Examples:
MOVr, M
MOV M, r
MVI M
LOA
STA

JI

Figure 3-8. Memory/I/O Mapping.

LHLO
SHLO

Isolated I/O

ADD M
ANAM

In Figure 3-9 the system control signals, previously detailed in this chapter, are shown. Thi~ type of I/O architecture
separates the memory address space from the I/O address
space and uses a conceptually simple transfer to or from Accumulator technique. Such an architecture is easy to understand because I/O communicates only with the Accumulator
using the IN or OUT instructions. Also because of the isolation of memory and I/O, the full address space (65K) is uneffected by I/O addressing.

(I nput Port to any Register)
(Output any Register to Port)
(Output immediate data to Port)
(I nput to ACC)
(Output from ACC to Port)
(1 ~ Bit Input)
(16 Bit Output)
(Add Port to ACC)
("AND" Port with ACC)

It is easy to see that from the list of possible "new"
instructions that this type of I/O architecture could have a
drastic effect on increased system throughput. It is conceptually more difficult to understand than Isolated I/O and it
does limit memory address space, but Memory Mapped I/O
can mean a significant increase in overall speed and at the
same time reducing re~uired program memory area.

3-8

10--------...--r>-----.---+----

MEMR
MEMW

}

TO
MEMORY
DEVICES

SYSTEM
CONTROL
(8228)

I/OR} NOT
USED
_
IIOW

I/O R (MMJTO I/O
DEVICES
I/OW (MM)

The second example uses Memory Mapped I/O and
linear select to show how thirteen devices (8255) can be addressed without the use of extra decoders. The format shown
could be the second and third bytes of the LDA or STA instructions or any other instructions used to manipulate I/O
using the Memory Mapped technique.
It is easy to see that such a flexible I/O structure, that
can be "tailored" to the overall system environment, provides
the designer with a powerful tool to optimize efficiency and
minimize component count.

EXAMPLE #2
Figure 3-10. Memory Mapped I/O.

I/O Addressing
With both systems of I/O structure the addressing of
each device can be configured to optimize efficiency and reduce component count. One method, the most common, is
to decode the address bus into exclusive "chip selects" that
enable the addressed I/O device, similar to generating chipselects in memory arrays.

}

PORT SELECTS

}

DEVICE SELECTS

'--

Another method is called "Iinear select". In this method,
instead of decoding the Address Bus, a singular bit from the
bus is assigned as the exclusive enable for a specific I/0 device. This method, of course, limits the number of I/O devices that can be addressed but eliminates the need for extra
decoders, an important consideration in small system design.

DEVICE SELECTS

A simple example illustrates the power of such a flexible I/O structure. The first example illustrates the format of
the second byte of the IN or 0 UT instruction usi ng the Isolated I/O technique. The devices used are Intel®8255 Programmable Peripheral Interface units and are linear selected.
Each device has three ports and from the format it can be
seen that six devices can be addressed without additional decoders.

" ' - - - - - - - - - - - - 1/0 FLAG

I = I/O
0= MEMORY

ADDRESSES -13 - 82555
(39 PORTS - 312 BITS)

Figure 3-12. Memory Mapped I/O - (Linear Select (8255)

EXAMPLE #1

I/O Interface Example

'--

}

PORT SELECTS

}

DEVICE SELECTS

In Figure 3-16 a typical I/O system is shown that uses a
variety of devices (8212, 8251 and 8255). It could be used
to interface the peripherals around an intelligent CRT terminals; keyboards, display, and communication interface. Another application could be in a process controller to interface
sensors, relays, and motor controls. The limitation of the application area for such a circuit is solely that of the designers
imagination.
The I/O structure shown interfaces to the 8080 CPU
using the bus architecture developed previously in this chapter. Either Isolated or Memory Mapped techniques can be
used, depending on the system I/O environment.

ADDRESSES - 6 - 82555
(18 PORTS -144 BITS)

The 8251 provides a serial data communication interface so that the system can transm it and receive data over
communication links such as telephone lines.

Figure 3-11. Isolated I/O - (Linear Select) (8255)

3-9

The three 8212s can be used to drive long lines or LED
indicators due to their high drive capability. (15mA)
O-DATA
1-COMMAND

C/DCONTROL
_____________________ 8251SELECT
(ACTIVE LOW)

________________________ 8212 #1 SE LECT
(ACTIVE HIGH)
_ _ _ _ _ _ _ _ _ _ _ 8212 #2 SELECT
(ACTIVE HIGH)
_ _ _ _ _ _ _ _ _ _ _ _ _ 8212 #3 SELECT
(ACTIVE HIGH)

Figure 3-13. 8251 Format.

The two (2) 8255s provide twenty four bits each of
programmable I/O da~a and control so that keyboards, sensors, paper tape, etc., can be interfaced to the system.

Figure 3-15. 8212 Format.
OO-PORTA
01-PORTB
10 -PORTC
11-COMMAND

}
'---

"-------

Addressing the structure is described in the formats illustrated in Figures 3-13, 3-14, 3-15. Linear Select is used so
that no decoders are requ ired thus, each device has an exclusive "enable bit".

PORT SELECT
8255 #1 SELECT
(ACTIVE LOW)

The example shows how a powerful yet flexible I/O
structure can be created using a minimum component count
with devices that are all members of the 8080 Microcomputer
System.

8(~g::~~i~E~;r

Figure 3..14. 8255 Format.

SERIAL DATA
COMMUNICATION

#2
8255

8251

D~.Do

#1
8255

cs

Ao

A,

DATA BUS

CONTROL BUS

8212
#2

8212
#3

8212
#1
MD

MD

Figure 3-16. Typical I/O Interface.

3-10

MD

A computer, no matter how sophisticated, can only
do what it is "told" to do. One "tells" the computer what
to do via a series of coded instructions referred to as a Program. The realm of the programmer is referred to as Software, in contrast to the Hardware that comprises the actual
computer equipment. A computer's software refers to all of
the programs that have been written for that computer.

are programs available which convert the programming language instructions into machine code that can be interpreted by the processor.
One type of programming language is Assembly language. A unique assembly language mnemonic is assigned to
each of the computer's instructions. The programmer can
write a program (called the Source Program) using these
mnemonics and certain operands; the source program is
then converted into machine instructions (called the Object
Code). Each assembly language instruction is converted into
one machine code instruction (1 or more bytes) by an
Assembler program. Assembly languages are usually machine dependent (Le., they are usually able to run on only
one type of computer).

When a computer is designed, the engineers provide
the Central Processing Unit (CPU) with the ability to perform a particular set of operations. The CPU is designed
such that a specific operation is performed when the CPU
control logic decodes a particular instruction. Consequently,
the operations that can be performed by a CPU define the
computer's Instruction Set.
Each computer instruction allows the programmer to
initiate the performance of a specific operation. All computers implement certain arithmetic operations in their instruction set, such as an instruction to add the contents of
two registers. Often logical operations (e.g., 0 R the contents of two registers) and register operate instructions (e.g.,
increment a register) are included in the instruction set. A
computer's instruction set will also have instructions that
move data between registers, between a register and memory,
and between a register and an I/O device. Most instruction
sets also provide Conditional Instructions. A conditional
·instruction specifies an operation to be performed only if
certain conditions have been met; for example, jump to a
particular instruction if the result of the last operation was
zero. Conditional instructions provide a program with a
decision-making capability.

THE 8080 INSTRUCTION SET
The 8080 instruction set includes five different types
of instructions:
• Data Transfer Group-move data between registers
or between memory and registers
• Arithmetic Group - add, subtract, increment or
decrement data in registers or in memory
•

logical Group - AND, OR, EXCLUSIVE-OR,
compare, rotate or complement data in registers
or in memory

• Branch Group - conditional and unconditional
jump instructions, subroutine call instructions and
return instructions

By logically organizing a sequence of instructions into
a coherent program, the programmer can "tell" the computer to perform a very specific and useful function.

• Stack, I/O and Machine Control Group - includes
I/O instructions, as well as instructions for maintaining the stack and internal control flags.

The computer, however, can only execute programs
whose instructions are in a binary coded form (Le.,· a series
of 1's and D's), that is called Machine Code. Because it
would be extremely cumbersome to program in machine
code, programming languages have been developed. There

Instruction and Data Formats:
Memory for the 8080 is organized into 8-bit quantities, called Bytes. Each byte has a unique 16-bit binary
address corresponding to its sequential position in memory.

4-1

The 8080 can directly address up to 65,536 bytes of memory, which may consist of both read-only memory (ROM)
elements and random-access memory (RAM) elements (read/
write memory).

address where the data is located (the
high-order bits of the address are in the
first register of the pair, the low-order
bits in the second).
•

Oata in the 8080 is stored in the form of 8-bit binary
integers:
OATA WORO

I

07

I

06

1

05

1

04

I

03

1

02

I

MSB

D1

I

00

I

Unless directed by an interrupt or branch instruction,
the execution of instructions proceeds through consecutively increasing memory locations. A branch instruction
can specify the address of the next instruction to be executed in one of two ways:

LSB

When a register or data word contains a binary number, it is necessary to establish the order in which the bits
of the number are written. In the Intel 8080, BIT 0 is referred to as the Least Significant Bit (LSB), and BIT 7 (of
an 8 bit number) is referred to as the Most Significant Bit
(MSB).
The 8080 program instructions may be one, two or
three bytes in length. Multiple byte instructions must be
stored in successive memory locations; the address of the
first byte is always used as the address of the instructions.
The exact instruction format will depend on the particular
operation to be executed.
Si ngle Byte Instructions

1_0_7_'

Byte Two

I

'

I

o Op Code
I_ 0_.......J

I

D7 I
I Do Oata or
-,- - - - - - - - - - - - - , Address

I
I)
I

I_D_7_1

1_0 0 Op Code

Byte Two

I

1

I Do

I

I Do

D7

I

Byte Three D7

Direct - The branch instruction contains the address of the next instruction to be executed. (Except for the 'RST' instruction,
byte 2 contains the low-order address and
byte 3 the high-order address.)

•

Register indirect - The branch instruction indicates a register-pair which contains the
address of the next instruction to be executed. (The high-order bits of the address
are in the first register of the pair, the
low-order bits in the second.)

Condition Flags:
There are five condition flags associated with the execution of instructions on the 8080. They are Zero, Sign,
Parity, Carry, and Aux iIiary Carry, and are each represented
by a l-bit register in the CPU. A flag is "set" by forcing the
bit to 1; "reset" by forcing the bit to O.

Three-Byte Instructions

Byte One

•

The RST instruction is a special one-byte call instruction (usually used during interrupt sequences). RST includes a three-bit field; program control is transferred to
the instruction whose address is eight times the contents
of this three-bit field.

Two-Byte Instructions

Byte One

Immediate - The instruction contains the data itself. This is either an 8-bit quantity or a
16-bit quantity (least significant byte first,
most significant byte second).

Oata
or

Unless indicated otherwise, when an instruction affects a flag, it affects it in the following manner:

Address

Zero:

If the result of an instruction has the
value 0, this flag is set; otherwise it is
reset.

Sign:

If the most significant bit of the result of
the operation has the value 1, this flag is
set; otherwise it is reset.

Parity:

If the modulo 2 sum of the bits of the result of the operation is 0, (Le., if the
result has even parity), this flag is set;
otherwise it is reset (Le., if the result has
odd parity).

Carry:

If the instruction resulted in a carry
(from addition), or a borrow (from subtraction or a comparison) out of the highorder bit, th is flag is set; otherwise it is
reset.

Addressing Modes:
Often the data that is to be operated on is stored in
memory. When multi-byte numeric data is used, the data,
like instructions, is stored in successive memory locations,
with the least significant byte first, followed by increasingly
significant bytes. The 8080 has four different modes for
addressing data stored in memory or in registers:
•

Oirect - Bytes 2 and 3 of the instruction contain
the exact memory address of the data
item (the low-order bits of the address are
in byte 2, the high-order bits in byte 3).

•

Register - The instruction specifies the register or
register-pair in wh ich the data is located.

•

Register Indirect - The instruction specifies a register-pair which contains the memory
4-2

Auxiliary Carry: If the instruction caused a carry out
of bit 3 and into bit 4 of the resulting
value, the auxiliary carry is set; otherwise
it is reset. This flag is affected by single
precision additions, subtractions, increments, decrements, comparisons, and logical operations, but is principally used
with additions and increments preceding
a DAA (Decimal Adjust Accumulator)
instruction.

Symbols and Abbreviations:
The following symbols and abbreviations are used in
the subsequent description of the 8080 instructions:

SYMBOLS

MEANING

accumulator

Register A

addr

16-bit address quantity

data

8-bit data quantity

data 16

16-bit data quantity

byte 2

The second byte of the instruction

byte 3

The third byte of the instruction

port

8-bit address of an I/O device

r,rl,r2
DDD,SSS

rl

The second (low-order) register of a designated register pair.

PC

16-bit program counter register (PCH and
PCl are used to refer to the high-order and
low-order 8 bits respectively).

SP

16-bit stack pointer register (SPH and SPL
are used to refer to the high-order and loworder 8 bits respectively).

rm

Bit m of the register r (bits are number 7
through a from left to right).

Z,S,P,CY,AC The condition flags:
Zero,
Sign,
Parity,
Carry,
and Auxiliary Carry, respectively.
(

)

The contents of the memory location or registers enclosed in the parentheses.
"1 s transferred to"
Logical AND

One of the registers A,B,C,D,E,H,L

V

Inclusive OR

The bit pattern designating one of the registers A,B,C,D,E,H,L (DDD=destination, SSS=
source):

+

Addition

111
000
001
010

A

all

E
H

Exclusive 0 R

Two's complement subtraction

*

REGISTER NAME

Multiplication
"Is exchanged with"
The one's complement (e.g., (A))

B
C
D

100
101

a through 7

n

The restart number

NNN

The binary representation 000 through 111
for restart number 0 through 7 respectively.

L

One of the register pairs:

Description Format:

B represents the B,C pair with B as the highorder register and C as the low-order register;

The following pages provide a detailed description of
the instruction set of the 8080. Each instruction is described in the following manner:

D represents the D,E pair with D as the highorder register and E as the low-order register;

1. The MAC 80
assembler format, consisting of
the instruction mnemonic and operand fields, is
printed in BOLDFACE on the left side of the first
line.

H represents the H,L pair with H as the highorder register and L as the low-order register;
SP represents
register.
RP

The first (high-order) register of a designated
register pair.

/\
V

DOD or SSS

rp

rh

the

16-bit stack

pointer

2. The name of the instruction is enclosed in parenthesis on the right side of the fi rst line.

The bit pattern designating one of the register pairs B,D,H,SP:

RP
00
01
10
11

3. The next line(s) contain a symbolic description
of the operation of the instruction.

REGISTER PAIR

4. This is followed by a narative description of the

B-C
D-E
H-L
SP

operation of the instruction.

5. The following line(s) contain the binary fields and
patterns that comprise the machine instruction.

4-3

6. The last four lines contain incidental information
about the execution of the instruction. The number of machine cycles and states required to execute the instruction are listed first. If the instruction has two possible execution times, as in a
Conditional Jump·, both times will be listed, separated by a slash. Next, any significant data addressing modes' (see Page 4-2) are listed. The last
line lists any of the five Flags that are affected by
the execution of the instruction.

MVI r, data
(Move Immediate)
(r) ~ (byte 2)
The content of byte 2 of the instruction is moved to
register r.

Data Transfer Group:
This group of instructions transfers data to and from
registers and memory. Condition flags are not affected by
any instruction in this group.

MOV r1, r2

(Move Register)
MVI M, data
(Move to memory immediate)
((H) (L)) ~ (byte 2)
The content of byte 2 of the instruction is moved to
the memory location whose address is in registers H
and L.

(r1)"'- (r2)

The content of register r2 is moved to register r1.
0

I

D

I

'.1

D

I

(r)

S

S

f'

Cyc·'es:
States:
Addressing:
Flags:

MOV r, M

D

.

1
5
register
none

I S

\

o I 0

o

1

I

0

data
Cycles:
States:
Addressing:
Flags:

(Move from memory)

~

1 '

((H) (L))

3
10
immed.lreg. indirect
none

The content of the memory location, whose address
is in registers Hand L, is moved to register r.
1

Cycles:
States:
Addressi ng:
Flags:

MOV M, r

I

I 0

2
7

LXI rp, data 16
(Load register pair immediate)
(rh) ~ (byte 3),
(rl) ~ (byte 2)
Byte 3 of the instruction is moved into the high-order
register (rh) of the register pair rp. Byte 2 of the instruction is moved into the low-order register (rl) of
the register pair rp.

reg. indirect
none

(Move to memory)

((H)(L))~

(r)

o

The content of register r is moved to the memory location whose address is in registers Hand L.

o '

1

I

o

I

R

1 p

I

o

I

o

I

low-order data
high-order data

I
Cycles:
States:
Addressing:
Flags:

Cycles:
States:
Addressing:
Flags:

2

7
reg. indirect
none

4-4

3
10
immediate
none

o

I

1

SHLD addr
(Store Hand L direct)
((byte 3) (byte 2)) ~ (L)
((byte 3)(byte 2) + 1) ~ (H)
The content of register L is moved to the memory Jocation whose address is specified in byte 2 and byte
3. The content of register H is moved to the succeeding memory location.

LOA addr
(Load Accumulator direct)
(A) ~ ((byte 3) (byte 2))
The content of the memory location, whose address
is specified in byte 2 and byte 3 of the instruction, is
moved to register A.

o

I

0

I

1

1 1

1 0
low-order addr
I 1

I

1

I 0

0

I

0

I 1

I 0

I 0

T

0

T

1

I 0

high-order addr
low-order addr
Cycles:
States:
Addressing:
Flags:

4

high-order addr

13

direct
none

Cycles:
States:
Addressing:
Flags:

5
16

direct
none

LOAX rp

(Load accumulator indirect)
((rp))
The content of the memory location, whose address
is in the register pair rp, is moved to register A. Note:
only register pairs rp=B (registers B and C·) or rp=D
(registers D and E) may be specified.
(A)~

STA addr
(Store Accumulator direct)
((byte 3)(byte 2)) ~ (A)
The content of the accumulator is moved to the
memory location whose address is specified in byte
2 and byte 3 of the instruction.
0

I

0

I

1

I

1

I 0 I

0

I

1

r

o I

0

I

Cycles:
States:
Addressing:
Flags:

low-order addr
high-order addr
Cycles:
States:
Addressing:
Flags:

4
13
dire<;t
none

LHLD addr
(Load Hand L direct)
(L) ~ ((byte 3)(byte 2))
(H) ~ ((byte 3) (byte 2) + 1)
The content of the memory location, whose address
is specified in byte 2 and byte 3 of the instruction, is
moved to register L. The content of the memory location at the succeeding address is moved to register H.
1

0

I 1

I 0

XCHG

I

R
2
7

reg. indirect
none

(Exchange Hand L with D and E)

(H)~(D)
(L)~(E)

I 1 T 0

The contents of registers Hand L are exchanged with
the contents of registers D and E.

low-order add r

I

high-order addr
Cycles:
States:
Addressing:
Flags:

0

Cycles:
States:
Addressing:
Flags:

f

I

2
7
reg. indirect
none

STAX rp
(Store accumulator indirect)
((rp)) ~ (A)
The content of register A is moved to the memory location whose address is in the register pair rp. Note:
only register pairs rp=B (registers B and C) or rp=D
(registers D and E) may be specified.

o I

0 I 0 I

p

R

0

5

1

I

0

Cycles:
States:
Addressing:
Flags:

16

direct
none

4-5

1
4

register
none

Arithmetic Group:

ADC r
(Add Register with carry)
(A) ~ (A) + (r) + (CY)
The content of register r and the content of the carry
bit are added to the content of the accumulator. The
result is placed in the accumulator.

This group of instructions performs arithmetic operations on data in registers and memory.
Unless indicated otherwise, all instructions in this
group affect the Zero, Sign, Parity, Carry, and Auxiliary
Carry flags accord ing to the standard rules.

1

I

I

0

All ~ubtraction operations are performed via two's
complement arithmetic and set the carry flag to one to indicate a borrow and clear it to indicate no borrow.

ADD r

ADC M

+ (r)

I o

I

o

o I

Cycles:
States:
Addressing:
Flags:

I

0

I

0

register
Z,S,P,CY,AC

(Add memory with carry)

The content of the memory location whose address is
contained in the Hand L registers and the content of
the CY flag are added to the accumulator. The result
is placed in the accumulator.

0
1

o

4
register
Z,S,P,CY ,AC

Cycles:
States:
Addressing:
Flags:

ADD M
(Add memory)
(A)...- (A) + ((H) (L))
The content of the memory location whose address
is contained in the Hand L registers is added to the
content of the accumulator. The result is placed in
the accumulator.
1

1

4

(A) ~ (A) + ((H) (L)) + (CY)

The content of register r is added to the content of the
accumulator. The result is placed in the accumulator.
1

o

Cycles:
States:
Addressing:
Flags:

(Add Register)

(A) ~ (A)

0

0

0

Cycles:
States:
Addressing:
Flags:

reg. indirect
Z,S,P,CY,AC

ACI data
(Add immediate with carry)
(A) ~ (A) + (byte 2) + (CY)
The content of the second byte of the instruction and
the content of the CY flag are added to the contents
of the accumulator. The result is placed in the
accumulator.

0

I

1 I

0

2

o

o
data

7
reg. indirect
Z,S,P,CY ,AC

Cycles:
States:
Addressing:
Flags:

ADI data
(Add immediate)
(A) ~ (A) + (byte 2)
The content of the second byte of the instruction is
added to the content of the accumulator. The result
is placed in the accumulator.

1

I

1

I

SUB r

2
7
immediate
Z,S,P ,CY ,AC

(Subtract Register)
(A)

~

(A) - (r)

The content of register r is subtracted from the content of the accumulator. The result is placed in the
accumulator.

0

1

data
Cycles:
States:
Addressing:
Flags:

2

7

I

0

I 0
Cycles:
States:
Addressing:
Flags:

2

7
immediate
Z,S,P,CY,AC

4-6

0

i

S

I

1

4
register
Z,S,P,CY,AC

S

I

S

SUB M

(Subtract memory)

SBI data

(Subtract immediate with borrow)
(A) ~ (A) - (byte 2) - (CY)
The contents of the second byte of the instruction
and the contents of the CY flag are both subtracted
from the accumulator. The result is placed in the
accumulator.

(A) ~ (A) - ((H) (L))

The content of the memory location whose address is
contained in the Hand L registers is subtracted from
the content of the accumulator. The result is placed
in the accumulator.

o
Cycles:
States:
Addressi ng:
Flags:

o

1

I

I 0

o
data

2

7

Cycles:
States:
Addressing:
Flags:

reg. indirect
Z,S,P,CY,AC

2
7
immediate
Z,S,P,CY,AC

SUI data
(Subtract immediate)
(A) ~ (A) - (byte 2)

The content of the second byte of the instruction is
subtracted from the content of the accumulator. The
result is placed in the accumulator.

INR r

(Increment Register)
(r) ~ (r) + 1
The content of register r is incremented by one.
Note: All condition flags except CY are affected.

o

SBB

Cycles:
States:
Addressi ng:
Flags:

2

Cycles:
States:
Addressing:
Flags:

7
immediate
Z,S,P,CY,AC

r

(Subtract Register with borrow)
(A) - (r) - (CY)
The content of register r and the content of the CY
flag are both subtracted from the accumulator. The
result is placed in the accumulator.
(A)

1

I

INR M

~

0

I

0

S

Cycles:
States:
Addressing:
Flags:

1

D

data

I

S

I

S

0

r

I

0

1

5
register
Z,S,P,AC

(Increment memory)

((H) (L)) ~ ((H) (L)) + 1

The content of the memory location whose address
is contained in the Hand L registers is incremented
by one. Note: All condition flags except CY are
affected.

I

o I

0

o

o

o

1

4

Cycles:
States:
Addressing:
Flags:

register
Z,S,P,CY ,AC

3
10
reg. indirect
Z,S,P,AC

SBa M

(Subtract memory with borrow)
(A) ~ (A) - ((H) (L)) - (CY)
The content of the memory location whose address is
contained in the Hand L registers and the content of
the CY flag are both subtracted from the accumulator. The result is placed in the accumulator.

1

I

0

,

0

1

I

Cycles:
States:
Addressing:
Flags:

1

I

1

I

0

OCR r
(Decrement Register)
(r) ~ (r)-1
The content of register r is decremented by one.
Note: All condition flag~ except CY are affected.

I

0

2

I

0

I

D

I

D

Cycles:
States:
Addressing:
Flags:

7
reg. indirect
Z,S,P,CY,AC

4-7

D

I

1

1

5
register
Z,S,P,AC

I

0

I 1
.f'

OCR M

(Decrement memory)

OAA

((H) (L)) . . - ((H) (L)) - 1

The content of the memory location whose address is
contained in the Hand L registers is decremented by
one. Note: All condition flags except CY are affected.

Cycles:
States:
Addressing:
Flags:

(Decimal Adjust Accumulator)
The eight-bit number in the accumulator is adjusted
to form two four-bit Binary-Coded-Decimal digits by
the following process:

3

1.

If the value of the least significant 4 bits of the
accumulator is greater than 9 or if the AC flag
is set, 6 is added to the accumulator.

2.

If the value of the most significant 4 bits of the
accumulator is now greater than 9, or if the CY
flag is set, 6 is added to the most significant 4
bits of the accumulator.

10

reg. indirect
Z,S,P,AC

NOTE: All flags are affected.

o

INX rp
(Increment register pair)
(rh) (rl) ..- (rh) (rl) + 1
The content of the register pair rp is incremented by
one. Note: No condition flags are affected.

Cycles:
States:
Addressing:
Flags:

Cycles:
States:
Flags:

1
4

Z,S,P,CY,AC

Logical Group:

1
5

This group of instructions performs logical (Boolean)
operations on data in registers and memory and on condition flags.

register
none

Unless indicated otherwise, all instructions in this
group affect the Zero, Sign, Parity, Auxiliary Carry, and
Carry flags according to the standard rules.
OCX rp
(Decrement register pair)
(rh) (rl) . . - (rh) (rl) - 1
The content of the register pair rp is decremented by
one. Note: No condition flags are affected.

I
Cycles:
States:
Addressing:
Flags:

0

I

I

ANA r

(AND Register)

(A) ~ (A) /\ (r)

The content of register r is logically anded with the
content of the accumulator. The result is placed in
the accumulator. The CY flag is cleared.

1

a

1
5
register
none

Cycles:
States:
Addressing:
Flags:

DAD rp
(Add register pair to Hand L)
(H) (L) . . - (H) (L) + (rh) (rl)
The content of the register pair rp is added to the
content of the register pair Hand L. The result is
placed in the register pair Hand L. Note: Only the
CY flag is affected. It is set if there is a carry out of
the double precision add; otherwise it is reset.

. ANA M

I s

S

1
4
register
Z,S,P,CY,AC

(AND memory)

(A) ~ (A) /\ ((H) (L))

The contents of the memory location whose address
is contained in the Hand L registers is logically anded
with the content of the accumulator. The result is
placed in the accumulator. The CY flag is cleared.

I
Cycles:
States:
Addressing:
Flags:

Is

0

I

1

a

Cycles:
States:
Addressing:
Flags:

3
10

register
CY

4-8

a I

1

, 1

2
7
reg. indirect
Z,S,P,CY,AC

I a

ORA r
(OR Register)
(A) ~ (A) V (r)
The content of register r is inclusive-OR'd with the
content of the accumulator. The result is placed in
the accumulator. The CY and AC flags are cleared.

ANI data
(AND immediate)
(A) ~ (A) /\ (byte 2)
The content of the second byte of the instruction is
logicaJly anded with the contents of the accumu lator .
The result is placed in the accumulator. The CY and
AC flags are cleared.

I

1

o I

0

I

1

I

1

I

I

0

2

7
immediate
Z,S,P,CY ,AC

ORA M

(A) V ((H) (L))
The content of the memory location whose address is
contained in the Hand L registers is inclusive-OR'd
with the content of the accumu lator. The result is
placed in the accumulator. The CY and AC flags are
cleared.

register
Z,S,P,CY,AC

I

o
Cycles:
States:
Addressing:
Flags:

0

.

CMP r

1

I

0

7
reg. indirect
Z,S,P ,CY ,AC

2

7
immediate
Z,S,P,CY,AC

(Compare Register)

(A)

(r)

The content of register r is subtracted from the accumulator. The accumulator remains unchanged. The
condition flags are set as a result of the subtraction.
The Z flag is set to 1 if (A) = (r). The CY flag is set to
1 if (A) (r) .

<

1

_1__0_

I

data
Cycles:
States:
Addressing:
Flags:

I

2

Cycles:
States:
Addressing:
Flags:

reg. indirect
Z,S,P,CY,AC

1

1

data

7

_1_

o I

1

1 1

2

0_ _
1--..1_ _
'

I

ORI data
(OR Immediate)
(A) ~ (A) V (byte 2)
The content of the second byte of the instruction is
inclusive-OR'd with the content of the accumulator.
The result is placed in the accumulator. The CY and
AC flags are cleared.

XRI data
(Exclusive OR immediate)
(A) ~ (A) V (byte 2)
The content of the second byte of the instruction is
exclusive-O R'd with the content of the accumu lator.
The result is placed in the accumulator. The CY and
AC flags are cleared.

. 1~_1_1~

1

Cycles:
States:
Addressing:
Flags:

1
4

XRA M
(Exclusive OR Memory)
(A) ~ (A) V ((H) (L))
The content of the memory location whose address
is contained in the Hand L registers is exclusive-O R'd
with the content of the accumulator. The result is
placed in the accumulator. The CY and AC flags are
cleared.

0

register
Z,S,P,CY,AC

(OR memory)

I a I

I

1

4

~

(A)

XRA r
(Exclusive OR Register)
(A) ~ (A) V (r)
The content of register r is exclusive-or'd with the
content of the accumulator. The result is placed in
the accumulator. The CY and AC flags are cleared.

Cycles:
States:
Addressing:
Flags:

1

Cycles:
States:
Addressing:
Flags:

data
Cycles:
States:
Addressing:
Flags:

I

I 0

2

0

I

1
Cycles:
States:
Addressing:
Flags:

7
immediate
Z,S,P ,CY ,AC

4-9

1
4
register
Z,S,P,CY,AC

CMP M
(A)

(Compare memory)

RRC

((H) (L))

The content of the memory location whose address
is contained in the Hand L registers is subtracted
from the accumulator. The accumulator remains unchanged. The condition flags are set as a result of the
subtraction. The Z flag is set to 1 if (A) = ((H) (L)).
The CY flag is set to 1 if (A) < ((H) (L)).

(Rotate right)
(An) ~ (A n -,); (A7) ~ (AO)
(CY) ~ (AO)
The content of the accumu lator is rotated right one
position. The high order bit and the CY flag are both
set to the value shifted out of the low order bit position. Only the CY flag is affected.

0

o

o
Cycles:
States:
Addressing:
Flags:

0

I

0

I

2
7
reg. indirect
Z,S,P,CY,AC

RAL

RAR
data

2
7
immediate
Z,S,P,CY,AC

0

I 0

(Rotate left)
(A n+l) ~ (An) ; (AO) ~ (A7)
(CY) ~ (A7)
The content of the accumulator is rotated left one
position. The low order bit and the CY flag are both
set to the value shifted out of the high order bit position. Only the CY flag is affected.

I

,

o

Cycles:
States:
Flags:

1
4
CY

I 1

I ,

I ,

(Rotate right through carry)
(An) ~ (A n+l); (CY)..- (AO)
(A7) ~ (CY)
The content of the accumulator is rotated right one
position through the CY flag. The high order bit is set
to the CY flag and the CY flag is set to the value
shifted out of the low order bit. Only the CY flag is
affected.

CMA

1
4
CY

(Complement accumulator)
(A)~(A)

The contents of the accumulator are complemented(zero bits become 1, one bits become 0). No flags are
affected.

o I
Cycles:
States:
Flags:

1

1
4
CY

I ,

Cycles:
States:
Flags:

RLC

I

(Rotate left through carry)
(A n+,) . . - (An) ; (CY) . . - (A7)
(AO)"- (CY)
The content of the accumu lator is rotated left one
position through the CY flag. The low order bit is set
equal to the CY flag and the CY flag is set to the
value shifted out of the high order bit. Only the CY
flag is affected.

o I

, I , I

,

I

I 0
Cycles:
States:
Flags:

CPI data
(Compare immediate)
(byte 2)
(A)
The content of the second byte of the instruction is
subtracted from the accumulator. The condition flags
are set by the result of the subtraction. The Z flag is
set to 1 if (A) = (byte 2). The CY flag is set to 1 if
(A) < (byte 2).

Cycles:
States:
Addressing:
Flags:

I

0

I 1 I 0
Cycles:
States:
Flags:

1
4
CY

4-10

I
,
4
none

1

I ,

I ,

CMC

(Complement carry)
(CY)~ (CY)
The CY flag is complemented. No other flags are
affected.

a ,

0

dress is specified in byte 3 and byte 2 of the current
instruction.
1

I

1

I 0 I

I

0

0

I 0

I

1

I

1

low-order addr

,

high-order addr
Cycles:
States:
Flags:

STC

1

CY

(Set carry)
(CY) ~ 1
The CY flag is set to 1. No other flags are affected.

0

I

0

I

0
Cycles:
States:
Flags:

3

Cycles:
States:
Addressing:
Flags:

4

I

1

I

10
immediate
none

Jcondition addr
(Conditional jump)
If (CCC),
(PC) ~ (byte 3) (byte 2)
If the specified condition is true, control is transferred to the instruction whose address is specified in
byte 3 and byte 2 of the current instruction; otherwise, control continues sequentially.

1

1

4
CY

"

1

I

1

I

C

I

C

I C

I

0

I

1

I

0

low-order addr
high-order addr
Cycles:
States:
Addressing:
Flags:

Branch Group:

3
10
immediate
none

This group of instructions alter normal sequential
program flow.
CALL addr
(Call)
((SP) - 1) ~ (PCH)
((SP) - 2) ~ (PCl)
(SP) ~ (SP) - 2
(PC) ~ (byte 3) (byte 2)
The high-order eight bits of the next instruction address are moved to the memory location whose
address is one less than the content of register SP.
The low-order eight bits of the next instruction address are moved to the memory location whose
address is two less than the content of register SP.
The content of register SP is decremented by 2. Control is transferred to the instruction whose address is
specified in byte 3 and byte 2 of the current
instruction.

Condition flags are not affected by any instruction
in this group.
The two types of branch instructions are unconditional and conditional. Unconditional transfers simply perform the specified operation on register PC (the program
counter). Conditional transfers examine the status of one of
the four processor flags to determi ne if the specified branch
is to be executed. The conditions that may be specified are
as follows:
CONDITION

CCC

NZ
2
NC
C
PO
PE
P

000

M

- not zero (Z = 0)
- zero (2 = 1)
- no carry (CY = 0)
- carry (CY = 1)
- parity odd (P = 0)
- parity even (P = 1)
- plus (S = 0)
-minus(S=1)

001
010
011
100
101
110
111

~

1 I

1 I 0

I 0

I 1

T

1

I 0

I 1

low-order addr
high-ord~r addr

Cycles:
States:
Addressing:
Flags:

JMP addr
(Jump)
(PC) ~ (byte 3) (byte 2)
Control is transferred to the instruction whose ad-

4-11

5
17
immediate/reg. indirect
none

RST n
(Restart)
((SP) - 1) ~ (PCH)
((SP) - 2) ~ (PCl)
(SP) ~ (SP) - 2
(PC) ~ 8* (NNN)
The high-order eight bits of the next instruction address are moved to the memory location whose
address is one less than the content of register SP.
The low-order eight bits of the next instruction address are moved to the memory location whose
address is two less than the content of register SP.
The content of register SP is decremented by two.
Control is transferred to the instruction whose address is eight times the content of NNN.

Ccondition addr
(Condition call)
If (CCC),
((SP) -1) ~ (PCH)
((SP) - 2) ~ (PCl)
(SP) ~ (SP) - 2
(PC) ~ (byte 3) (byte 2)
If the specified condition is true, the actions specified
in the CAll instruction (see above) are performed;
otherwise, control continues sequentially.
1 '

1

I

C

I

C

I c

I

1 I

o

I 0

low-order addr
high-order addr
Cycles:
States:
Addressing:
Flags:

RET

3/5
11/17

1

I

N

immediate/reg. indirect
none

N I N

Cycles:
States:
Addressing:
Flags:

I

1

I

3

11
reg. indirect
none

(Return)
(PCl) ~ ((SP));
(PCH) ~ ((SP) + 1);
(SP) ~ (SP) + 2;
Program Counter After Restart

The content of the memory location whose address
is specified in register SP is moved to the low-order
eight bits of register PC. The content of the memory
location whose address is one more than the content
of register SP is moved to the high-order eight bits of
register PC. The content of register SP is incremented
by 2.
1

I

I

0

I

0
PCHL

Cycles:
States:
Addressing:
Flags:

3
10
reg. indirect
none

(Jump Hand l indirect - move Hand L to PC)
(PCH) ~ (H)
(PCl) ~ (l)
The content of register H is moved to the high-order
eight bits of register PC. The content of register l is
moved to the low-order eight bits of register PC.

1
Rcondition
(Conditional return)
If (CCC),
(PCl) ~ ((SP))
(PCH) ~ ((SP) + 1)
(SP) ~ (SP) + 2
If the specified condition is true, the actions specified
in the RET instruction (see above) are performed;
otherwise, control continues sequentially.

1

I

I

c

c I c

Cycles:
States:
Addressing:
Flags:

I

0

I

0

I

I

1

I

Cycles:
States:
Addressing:
Flags:

0

1/3
5/11
reg. indirect
none

4-12

o ,.

o '
1
5

register
none

0

I

1

FLAG WORD

Stack, I/O, and Machine Control Group:
This group of instructions performs I/O, manipulates
the Stack, and alters internal control flags.

D1

Do

Unless otherwise specified, condition flags are not
affected by any instructions in this group.

PUSH rp
(Push)
((SP) - 1) ~ (rh)
((SP) - 2) ~ (rl)
(SP) ~ (SP) - 2
The content of the high-order register of register pair
rp is moved to the memory location whose address is
one less than the content of register SP. The content
of the low-order register of register pair rp is moved
to the memory location whose address is two less
than the content of register SP. The cont~nt of register SP is decremented by 2. Note: Register pair
rp = SP may not be specified..
1

I

1

I

R

P

I

Cycles:
States:
Addressing:
Flags:

0

POP rp
(Pop)
(rl) ~((SP))
(rh) ~ ((SP) + 1)
(SP) ~ (SP) + 2
The content of the memory location, whose address
is specified by the content of register SP, is moved to
the low-order register of register pair rp. The content
of the memory location, whose address is one more
than the content of register SP, is moved to the highorder register of register pair rp. The content of register SP is incremented by 2. Note: Register pair
rp = SP may not be specified.

I

0

Cycles:
States:
Addressi ng:
Flags:

I

1

o

o

1

3
10
reg. indirect
none

((SP) - 2)3 ~ 0

I

1

I

1

o

I
Cycles:
States:
Addressing:
Flags:

o I

POP PSW
(Pop processor status word)
(CY) ~ ((SP))O
(P) . . - ((SP))2
(AC) ~ ((SP))4
(Z) ~ ((SP))6
(S) ~ ((SP))7
(A) ...- ((SP) + 1)
(SP) ...- (SP) + 2
The content of the memory location whose address
is specified by the content of register SP is used to
restore the condition flags. The content of the memory location whose address is one more than the
content of register SP is moved to register A. The
content of register SP is incremented by 2.

((SP) - 2)4 ~ (AC) , ((SP) - 2)5 ~ 0
((SP) - 2)6 . . - (Z), ((SP) - 2)7 ~ (S)
(SP) ~ (SP) - 2
The content of register A is moved to the memory
location whose address is one less than register SP.
The contents of the condition flags are assembled
into a processor status word and the word is moved
to the memory location whose address is two less
than the content of register SP. The content of register SP is decremented by two.

1

P

3
11
reg. indirect
none

PUSH PSW
(Push processor status word)
((SP) -1) ~ (A)
((SP) - 2)0 . . - (CY) , ((SP) - 2) 1 ~ 1
((SP) - 2)2 ~ (P),

1

Cycles:
States:
Addressing:
Flags:

3
11

reg. indirect
none

4-13

3
10
reg. indirect
Z,S,P,CY ,Ae

XTHL

(Exchange stack top with Hand L)

(L)
(H)

EI

~((SP))

~ ((SP) + 1)
The content of the L register is exchanged with the
content of the memory location whose address is
specified by the content of register SP. The content
of the H register is exchanged with the content of the
memory location whose address is one more than the
content of register SP.

1

I 0

I

SPHL

1

I

I

Cycles:
States:
Flags:

01

5

I

1

18

reg. indirect
none

I

IN port

o

o
Cycles:
States:
Addressing:
Flags:

HLT

1

5
register
none

0

I

1

I

0

I

I

1

I

0

I

1

I

NOP

1

3
10
direct
none

o
port

Cycles:
States:
Addressing:
Flags:

1

Cycles:
States:
Flags:

4

3
10
direct
none

4-14

1 0

'

1

1 1

1
none

0

I

1

I

1

I

0

1
7
none

(No op)
No operation is performed. The registers and flags
are unaffected.
0

OUT port
(Output)
(data) ~ (A)
The content of register A is placed on the eight bit
bi-directional data bus for transmission to the specified port.

o

I

none

0

Cycles:
States:
Flags:

port
Cycles:
States:
Addressing:
Flags:

1

1
4

1 1

I

(I nput)

I

I

(Halt)
The processor is stopped. The registers and flags are
unaffected.

(A) ~ (data)
The data placed on the eight bit bi-directional data
bus by the specified port is moved to register A.
1

0

(Disable interrupts)
The interrupt system is disabled immediately following the execution of the 01 instruction.

(Move HL to SP)
(SP) ~ (H) (L)
The contents of registers Hand L (16 bits) are moved
to register SP.
1

,

1

o

o

Cycles:
States:
Addressing:
Flags:

(Enable interrupts)
The interrupt system is enabled following the execution of the next instruction.

I

0

I

0

0

0

Cycles:
States:
Flags:

1
4

none

0

0

0

INSTRUCTION SET
Summary of Processor Instructions

Mnemonic

Description

try 06

MOV r1 ,r2
MOVM,r
MOVr,M
HlT
MVI r
MVIM
INR r
OCR r
INR M
OCR M
ADOr
AOCr
SUB r
SBB r

Move register to register
Move register to memory
Move memory to register
Halt
Move immediate register
Move immediate memory
Increment register
Decrement register
Increment memory
Decrement memory
Add register to A
Add register to A with carry
Subtract register from A
Subtract register from A
with borrow
And register with A
Exclusive Or register with A
Or register with A
Compare register with A
Add memory to A
Add memory to A with carry
Subtract memory from A
Subtract memory from A
with borrow
And memory with A
Exclusive Or memory with A
Or memory with A
Compare memory with A
Add immediate to A
Add immediate to A with
carry
Subtract immediate from A
Subtract immediate from A
with borrow
And immediate with A
Exclusive Or immediate with
A
Or immediate with A
Compare immediate with A
Rotate A left
Rotate A right
Rotate A left through carry
Rotate A right through
carry
Jump unconditional
Jump on carry
Jump on no carry
Jump on zero
Jump on no zero
Jump on positive
Jump on minus
Jump on parity even
Jump on parity odd
Call unconditional
Call on carry
Call on no carry
Call on zero
Call 0 n no zero
Call on positive
Call on minus
Call on parity even
Call on parity odd
Return
Return on carry
Return on no carry

0
0
0

ANA r
XRA r
OIiAr
CMPr
ADD M
AOC M
SUB M
SBB M
ANA M
XRA M
ORA M
CMPM
AOI
ACI
SUI
SBI
ANI
XRI
ORI
CPI
RLC
RRC
RAl
RAR
JMP
JC
JNC
JZ
JNZ
JP
JM
JPE
JPO
CALL
CC
CNC
CZ
CNZ
CP
CM
CPE
CPO
RET
RC
RNC

NOTES:

0
0
0
0
0
0
0
1
1
1
1

1
1
1
1
0
0
0
0
0
0
0
0
0
0

Instruction Code [11
Os 04 03 02 0, DO
0
1
0
1
0
1
0
0
1
1
0
0
0
0

0
1
0
1
0
1
0
0
1
1
0
0
1
1

0
0
0
0
0
0
0
0
0
0
0
1
0
1

0
0
0
0
0
0
0
0

0

0
0
0
0
1
1

0
1
1
0
0

Clock 121
Cycles

S
S
1
1
1
1
1
1
1
1
S
S
S
S

S
S
1
1
1
1
0
0
0
0
S
S
S
S

S
S
0
0
0
0
0
1
0
1
S
S
S
S

5
7
7
7
7
10

S
S
S
S
1
1
1
1

S
S
S
S
1
1
1
1

S
S
S
S
0
0
0
0

4
4
4
4
7
7
7
7

5
5
10
10
4
4
4
4

Mnemonic

Description

07 06

Instruction Code [11
Os 04 03 02 0, DO

RZ
RNZ
RP
RM
RPE
RPO
RST
IN
OUT
lXI B

Return on zero
Return on no zero
Return on positive
Return on minus
Return on parity even
Return on parity odd
Restart
Input
Output
load Immediate register
Pair B & C
Load immediate register
Pair 0 & E
Load immediate register
Pair H & L
load immediate stack pointer
Push register Pair B & C on
stack
Push register Pair 0 & E on
stack
Push register Pair H & l on
stack
Push A and Flags
on stack
Pop register pair B & C off
stack
Pop register pair 0 & E off
stack
Pop register pair H & L off
stack
Pop A and Flags
off stack
Store A direct
Load A direct
Exchange 0 & E, H & L
Registers
Exchange top of stack, H & l
H & L to stack pointer
H & L to program counter
Add B & C to H & L
Add 0 & E to H & L
Add H & L to H & L
Add stack pointer to H & L
Store A indirect
Store A indirect
load A indirect
Load A indirect
Increment B & C registers
Increment 0 & E registers
Increment H & L registers
Increment stack pointer
Decrement B & C
Decrement 0 & E
Decrement H & L
Decrement stack pointer
Complement A
Set carry
Complement carry
Decimal adjust A
Store H & l direct
load H & L direct
Enable Interrupts
Disable interrupt
No-operation

1
1
1
1
1
1
1
1
1
0

0
0
1
1
1
1
A
0
0
0

LXI 0
LXI H
lXI SP
PUSH B
PUSH 0
PUSH H
PUSH PSW

0
1
0
1
0
1

POP B
POP 0
POP H
POP PSW
STA
lOA
XCHG

1
1
0

XTHl
SPHL
PCHL
DAD B
DAD 0
DAD H
DAD SP
STAX B
STAX 0
LOAX B
lOAX 0
INX B
INX 0
INX H
INX SP
DCX B
DCX 0
DCX H
DCX SP
CMA
STC
CMC
OAA
SHlD
LHLO
EI
01
NOP

0
1
0
1
0
1

0
0
0

0
0
0
0
0
1
1
1
1
0
0

0
0
0
1
1
1
1
0

0
0

0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
1

0
1
0
1

0

0

0

0
1
1
0
1
1
0
1

0
0
0
0
1
1
1
1
1
1
1
1
1
0

0
0

0

1
1

0

0

0

1
1

1
1

0

0
0

0

0
0

1
1
1
1
1
1
1
1
1
0
0

0
0
0
0
0
0
0

0
0
0

1
0
0
0
0
0

0
0
0
1
0
0

0
0
0

0
0
0
1
0
0

10
10
10
10
10
10
10
10
10
17
11/17
11/17
11/17
11/17
11/17
11/17
11/17
11/17
10

5/11
5/11

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

4-15

0
0
1
1
0
0
A
1
1
0

'1
0
0
1
1
0
A
1
0
0

0
0
0
0
0
0
1
0
0
0

0

C
0
0
0
0
1
1
1
0

0
0
0
0
0
0
1
1
1
1

Clock [21
Cycles

5/11
5/11
5/11
5/11
5/11
5/11
11
10
10
10
10
10
10

11
11
11
11
10
10
10
10
13
13
4
1
1
1
0
l:'

0
0
0
0
0

0
0

0
0
0
0
0

1
1
1
0

1
1
1
0

0

0

0
0
0
0
0
0
0
0
0
0

1
1
0
0
0
0
0
0
1
1

0

0
0

0
0
0

0
0
0
0
0
0
0
0

0

0

1
1
0

1
1

0
0

0
0

0

1
1
1
1
1
1
1
1
1
1
0

0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1

0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1

0

0

0
0
1
1
0

0
1
1
0
0

0
1

0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1

0
0
0
0

0

1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0

1
1
1
1
1
1
1

0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0

18

5
5
10
10
10
10
7
7
7
7
5

5
5
5
5
5
5
5
4
4
4
4
16
16
4
4
4

CPU Group
8224 Clock Generator
8228 System Controller . . . . . . . . . . . . . . . . . . . . . . .
8080A Central Processor
8080A-1 Central Processor (1.3#ls) ••..•.••.••.••.•
8080A-2 Central Processor (1.5#ls) •...•..•..•.••..
MBOBOA Central Processor (_55° to +125°C)

5-1
5-7
5-13
5- 20
5-24
5-29

ROMs
8702A Erasable PROM (256 x 8)
8708/8704 Erasable PROM (1 K x
8302 Mask ROM (256 x 8)
8308 Mask ROM (1 K x 8) . . . . .
8316A Mask ROM (2K x 8) . . . .

5-37
5-45
5-51
5-59
5-61

.. . ... .. . . . . . . . . .
8) . . . . . . . . . . . . . . .
. . . .. .. . . . .. . . . . .
. . . . .. .. . . .. . . . . .

RAMs
8101-2 Static RAM (256 x 4)
8111-2 Static RAM (256 x 4)
8102-2 Static RAM (1 K x 1) . . . . . . . .
8102A-4 Static RAM (1K x 1) . . . . . . .
81078-4 Dynamic RAM (4K x 1) . . . . .
5101 Static CMOS RAM (256 x 4) . . . .
8210 Dynamic RAM Driver. . . . . . . . .
8222 Dynamic RAM Refresh Controller

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

5-67
5-71
5-75
5-79
5-83
5-91
5-95
5-99

I/O
8212 8-Bit I/O Port . . . . . . . . . . . . . . . . . . . . . . . . . .
8255 Programmable Peripheral Interface
. . .
8251 Programmable Communication Interface. . . . . . . .

5-101
5-113
5-135

Peripherals
8205 One of Eight Decoder . . . . . . . . . . . . . . . . . . . . .
8214 Priority Interrupt Control Unit
8216/8226 4-8 it Bi-D irectional Bus Driver . . . . . . . . . . .

5-147
5-153
5-163

Coming Soon
8253 Programmable Interval Timer. . . . . . . . . . . . . . . .
8257 Programmable DMA Controller
8259 Programmable Interrupt Controller . . . . . . . . . . . .

5-169
5-171
5-173

CPU Group

8224
8228
8080A

8080A-1
8080A-2
M8080-A

Schottky Bipolar 8224
CLOCK GENERATOR AND DRIVER
FOR 8080A CPU
• Oscillator Output for External
System Timing
• C.rystal Controlled for Stable System
Operation
• Reduces System Package Count

• Single Chip Clock Generator/Driver
for 8080A CPU
• Power-Up Reset for CPU
• Ready Synchronizing Flip-Flop
• Advanced Status Strobe

The 8224 is a single chip clock generator/driver for the 8080A CPU. It is controlled by a crystal, selected by
the designer, to meet a variety of system speed requirements.
Also included are circuits to provide power-up reset, advance status strobe and synchronization of ready.
The 8224 provides the designer with a significant reduction of packages used to generate clocks and timing
for 8080A.

PIN NAMES

I

RESIN
RESET

RESET INPUT
RESET OUTPUT

XTAl1
XTAl2

RDYIN
READY

READY INPUT
READY OUTPUT

TANK

USED WITH OVERTONE XTAL

OSC

SYNC

SYNC INPUT

rP2 (TTL)

OSCILLATOR OUTPUT
rP2 elK (TTL lEVEL)

STSTB

STATUSSTB
(ACTIVE lOW)

Vee
Voo
GND

+5V
+12V
OV

rPl
rP2

!8080
CLOCKS

5-1

CONNECTIONS
FOR CRYSTAL

SCHOTTKY BIPOLAR 8224
FUNCTIONAL DESCRIPTION

The waveforms generated by the decode gating follow a
simple 2-5-2 digital pattern. See Figure 2. The clocks generated; phase 1 and phase 2, can best be thought of as consisting of "units" based on the oscillator frequency. Assume
that one "unit" equals the period of the oscillator frequency.
By multiplying the number of "units" that are contained in
a pulse width or delay, times the period of the oscillator frequency, the approximate time in nanoseconds can be derived.

General
The 8224 is a single chip Clock Generator/Driver for the
S080A CPU. It contains a crystal-controlled oscillator, a
"divide by nine" counter, two high-level drivers and several
auxiliary logic functions.

The outputs of the clock generator are connected to two
high level drivers for direct interface to the 80S0A CPU. A
TTL level phase 2 is also brought out ct>2 (TTL) for external
timing purposes. It is' especially useful in DMA dependant
activities. This signal is used to gate the requesting device onto the bus once the 8080A CPU issues the Hold Acknowledgement (H LOA).

Oscillator
The oscillator circuit derives its basic operating frequency
from an external, series resonant, fundamental mode crystal.
Two inputs are provided for the crystal connections (XTAL 1,
XTAL2).
The selection of the external crystal frequency depends
mainly on the speed at which the 8080A is to be run at.
Basically, the oscillator operates at 9 times the desired processor speed.

Several other signals are also generated internally so that
optimum timing of the auxiliary flip-flops and status strobe
(STSTB) is achieved.

A simple formula to guide the crystal selection is:
Crystal Frequency

= -'tCY

Example' :
Example 2:

times 9

(500ns tCY)
2mHz times 9

= 18mHz*

(800ns tCY)
'.25mHz times 9 = '1.25mHz

Another input to the oscillator is TANK. This input allows
the use overtone mode crystals. Th is type of crystal generally has much lower IIgain" than the fundamental type so
an external LC network is necessary to provide the additional
"gain" for proper oscillator operation. The external LC network is connected to the TANK input and is AC coupled to
ground. See Figure 4.
The formula for the LC network is:
F= __
l __

21TVLC
The output of the oscillator is buffered and brought out
on ElSC (pin 12) so that other system timing signals can be
derived from this stable, crystal-controlled source.

1 UNIT =

o~c.
FREQ.

4>,

*When using crystals above 10mHz a small amount of frequency
"trimming" may be necessary to produce the exact desired frequency. The addition of a small selected capacitance (3pF - 10pF)
in series with the crystal will accomplish this function.
EXAMPLE: (8080 t CY = 500ns)
OSC = 18mHz/55ns
4>1 = 110ns (2 x 55ns)
cP2 = 275ns (5 x 55ns)
4>2-4>, = 110ns (2 x 55ns)

Clock Generator
The Clock Generator consists of a synchronous IIdivide by
nine" counter and the associated decode gating to create the
waveforms of the two 8080A clocks and auxiliary timing
signals.
5-2

SCHOTTKY BIPOLAR 8224
STSTB (Status Strobe)

The READY input to the 8080A CPU has certain timing
specifications such as "set-up and hold" thus, an external
synchronizing flip-flop is required. The 8224 has this feature
built-in. The ROYI N input presents the asynchronous "wait
request" to the "0" type flip-flop. By clocking the flip-flop
with <1>20, a synchronized READY signal at the correct input level, can be connected directly to the a080A.

At the beginning of each machine cycle the aOaOA CPU issues status information on its data bus. Th is information
tells what type of action will take place during that machine
cycle. By bringing in the SYNC signal from the CPU, and
gating it with an internal timing signal (<1>1A), an active low
strobe can be derived that occu rs at the start of each machine cycle at the earliest possible moment that status data
is stable on the bus. The STSTB signal connects directly to
the 8228 System Controller.

The reason for requ iring an external flip-flop to synchronize the "wait request" rather than internally in the 8080
CPU is that due to the relatively long delays of MOS logic
such an implementation would "rob" the designer of about
200ns during the time his logic is determining if a "wait"
is necessary. An external bipolar circuit built into the clock
generator eliminates most of this delay and has no effect on
component count.

The power-on R-eset also generates STSTB, but of course,
for a longer period of time. This feature allows the 8228 to
be automatically reset without additional pins devoted for
th is fu nction.

Power-On Reset and Ready Flip-Flops
A common function in a080A Microcomputer systems is the
generation of an automatic system reset and start-up upon
initial power-on. The 8224 has a built in feature to accomplish this feature.

,------....,
1

An external RC network is connected to the R ESI N input.
The slow transition of the power supply rise is sensed by an
internal Schmitt Trigger. Thiscircuit converts the slow transition into a clean, fast edge when its input level reaches a
predetermined value. The output of the Schmitt Trigger is
connected to a "0" type flip-flop that is clocked with <1>20
(an internal tim ing signal). The flip-flop is synchronously
reset and an active high level that complies with the aOaOA
input spec is generated. For manual switch type system Reset circuits, an active low switch closing can be connected
to the RESIN input in addition to the power-on RC netnetwork.

I
I

I
1

:1
1-=
I

Ln7-I

F=-'21rJLC

USEDONLV
FOR OVERTONE
CRYSTALS

°1
r -

- , 3.10pF

L_

_.J ABOVE 10 MHz)

I

13

OSC
 1 , if>2
READY, RESET
All Other Outputs

.45

V

.45

V

9.4
3.6
2.4

IOH = -100J.lA
IOH = -1 o0J.l A
IOH = -lmA

-60

rnA

Vo =OV
Vee =5.0V

Output Short Circuit Current
(All Low Voltage Outputs Only)

Icc

Power Supply Current

115

rnA

100

Power Supply Current

12

rnA

Note: 1. Caution, cP1 and cP2 output drivers do not have short circuit protection

CRYSTAL REQUIREMENTS
Tolerance: .005% at O°C -70°C
Resonance: Series (Fundamental) *
Load Capacitance: 20-35pF
Equivalent Resistance: 75-20 ohms
Power Dissipation (Min): 4mW
*With tan k circu it use 3rd overtone mode.

5-4

(if>1,if>2), Ready, Reset, STSTB
IOl =2.5mA
All Other Outputs
IOl = 15mA

V
V
V

Ise[1]

-10

Vee = 5.0V

SCHOTTKY BIPOLAR 8224
A.C. Characteristics
vcc = +5.0V ± 5%; Voo = +12.0V ± 5%; TA = O°C to 70°C

Symbol

Limits
Typ.

Min.

Parameter

tq,1

cP1 Pulse Width

2tcy
- - 20ns

t2

cP2 Pulse Width

5tcy _ 35ns

t01

cP1 to cP2 Delay

0

t02

cP2 to cP1 Delay

2tcy
--14ns

t03

cP1 to cP2 Delay

tR

cP1 and cP2 Rise Time
cP1 and cP2 Fall Time
cP2 to cP2 (TTL) Delay

tF
to2

Max.

Units

Test
Conditions

9

9
ns
CL = 20pF to 50pF

9

2tcy

2tcy + 20ns

9

9

20
20
+15

-5

ns

cP2TTl,Cl=30

R1=300Q
R2=600Q
toss

cP2 to STSTB Delay

6tcy _ 30ns

tpw

STSTB Pulse Width

tcy _ 15ns

tORS

RDYIN Setup Time to
Status Strobe

50ns _ 4tcy

tORH

RDYIN Hold Time
After STSTB

tOR

RDYIN or RESIN to
cP2 Delay

tCLK

ClK Period

f max

Maximum Oscillating
Frequency

Cin

Input Capacitance

6tcy

9

9
STSTB,Cl=15pF
R1 = 2K
R2 = 4K

9
9
4tcy

9
Ready & Reset
Cl=10pF
R1=2K
R2=4K

4tcy _ 25ns

9

tcy

9
27

MHz

8

pF

INPUT

VcC=+5.0V
Voo=+12V
VBIAS=2.5V
f=1 MHz

>---......----....
GND

5-5

SCHOTTKY BIPOLAR 8224
WAVEFORMS
~-------------tey---------------.I

1'4------t2fTTL)

SYNC
(FROM 8080A)
~--------toss-------.....-----

t..-----tORH------.t

RDYIN OR RESIN

READY OUT

RESET OUT

VOLTAGE MEASUREMENT POINTS: cP1, cP2 Logic "0" = 1.0V, Logic "1" = 8.0V. All other signals measured at 1.5V.

EXAMPLE:

A.C. Characteristics (For tCY = 488.28 ns)
TA

= O°C to

70°C; Voo

= +qV

Symbol

±5%; Voo

= +12V

Parameter

±5%.

Limits
Typ.

Min.

Max.

Units

~1

Q>1 Pu Ise Width

89

ns

t4>2

Q>2 Pulse Width

236

ns

t01

Delay 4>1 to 4>2

0

ns

t02

Delay 4>2 to 4>1

95

ns

t03

Delay 4>, to 4>2 Leading Edges

109

tr

129

ns

Output Rise Time

20

ns

tf

Output Fall Time

20

ns

toss

Q>2 to STSTB Delay

296

326

ns

tO cP 2'
tpw

4>2 to

-5

+15

ns

Status Strobe Pu Ise Width

tORS

RDYIN SetupTimeto STSTB

tORH

4>2

(TTL) Delay

40

ns

-167

ns

RDYIN Hold Time after STSTB

217

ns

tOR

READY or RESET
to Q>2 Delay

192

ns

fMAX

Oscillator Frequency

18.432 .

5-6

MHz

Test Conditions

-

tcy=488.28ns

_ Q>1 & Q>2 Loaded to
CL = 20 to 50pF

-

Ready & Reset Loaded
to 2mA/10pF
All measurements
referenced to 1.5V
unless specified
otherwise.

Schottky Bipolar 8228
SYSTEM CONTROLLER AND BUS DRIVER
FOR 8080A CPU
• User Selected Single Leve,1 Interrupt
Vector (RST 7)
• 28 Pin Dual In-Line Package
• Reduces System Package Count

• Sing.le Chip System Control for
MCS:SO Systems
• Built-in Bi-Directional Bus Driver
for Data Bus Isolation
• Allows the use of Multiple Byte
Instructions (e.g. CAL:L) for
Interrupt Acknowledge

The 8228 is a single chip system controller and bus driver for MCS-80. It generates all signals required to
directly interface MCS-80 family RAM, ROM, and I/O components.
A bi-directional bus driver is included to provide high system TTL fan-out. It also provides isolation of the
8080 data bus from memory and I/O. This allows for the optimization of control signals, enabling the systems deisgner to use slower memory and I/O. The isolation of the bus driver also provides for enhanced
system noise immunity.
A user selected single level interrupt vector (RST 7) is provided to simplify real time, interrupt driven, small
system requirements. The 8228 also generates the correct control signals to allow the use of multiple byte
instructions (e.g., CALL) in response to an INTERRUPT ACKNOWLEDGE by the 8080A. This feature
permits large, interrupt driven systems to have an unlimited number of interrupt levels.
The 8228 is designed to support a wide variety of system bus structures and also reduce system package
count for cost effective, reliable, design of the MCS-80 systems.

PIN CONFIGURATION

8228 BLOCK DIAGRAM

STSTB

Vee

HLDA

I/OW

WR
OBIN
OB4
04
OB7
07
OB3
03
DB2
02

MEMW

CPU
DATA
BUS

BI·DIRECTIONAL
BUS DRIVER

SYSTEM OATA BUS

IIOR
MEMR
DRIVER CONTROL

INTA
BUSEN
06
OB6

05
DBS
STSTB ~----------

01

DBIN

DB~

OB1

GND

0'

-.0--------------1
-.0-------------011

WR
HLDA ~ - - - - - - - - - - - - - I

PIN NAMES
07·00

DATA BUS (8080 SIDE)

INTA

INTERRUPT ACKNOWLEDGE

OB7·DBO

DATA BUS (SYSTEM SIDE)

HLOA

HLDA (FROM 8080)

IIOR

1/0 READ

WR

WR (FROM 8080)

I!OW

1/0 WRITE

BUSEN

MEMR

MEMORY READ

STSTB

BUS ENABLE INPUT
STATUS STROBE (FROM 8224)

MEMW

MEMORY WR ITE

DBIN

DBIN (FROM 8080)

Vee
GND

a VOLTS

5-7

+5V

SCHOTTKY BIPOLAR 8228
FUNCTIONAL DESCRIPTION

Gating Array

General

The Gating Array generates control signals (MEM R, MEM W,
I/O R, I/O Wand INTA) by gating the outputs of the Status
Latch with signals from the 8080 CPU (DBIN, WR, and
HLDA).

The 8228 is a single chip System Controller and Data Bus
driver for the 8080 Microcomputer System. It generates all
control signals required to directly interface MCS-80™ family
RAM, ROM, and I/O components.

The "read" control signals (MEM R, I/O Rand INTA) are
derived from the logical combination of the appropriate
Status Bit (or bits) and the DBIN input from the 8080 CPU.

Schottky Bipolar technology is used to maintain low delay
times and provide high output drive capability to support
small to medium systems.

The "write" control signals (MEM W, I/O W) are derived
from the logical combination of the appropriate Status Bit
(or bits) and the WR input from the 8080 CPU.

Bi-Directional Bus Driver

All Control Signals are "active low" and directly interface
to MCS-80 family RAM, ROM and I/O components.

An eight bit, bi-directional bus driver is provided to buffer
the 8080 data bus from Memory and I/O devices. The 8080A
data bus has an input requirement of 3.3 volts (min) and
can drive (sink) a maximum current of 1.9mA. The 8228
data bus driver assures that these input requ irements will
be not only met but exceeded for enhanced noise immunity.
Also, on the system side of the driver adequate drive current is available (10mA Typ.) so that a large number of
Memory and I/O devices can be directly connected to the
bus.

The INTA control signal is normally used to gate the "interrupt instruction port" onto the bus. It also provides a
special feature in the 8228. If only one basic vector is needed in the interrupt structure, such as in small systems, the
8228 can automatically insert a RST 7 instruction onto the
bus at the proper time. To use this option, simply connect
the INTA output of the 8228 (pi n 23) to the + 12 volt
supply through a series resistor (1 K ohms). The voltage is
sensed internally by the 8228 and logic is "set-up" so that
when the DBIN input is active a RST 7 instruction is gated
on to the bus when an interrupt is acknowledged. This
feature provides a single interrupt vector with no additional
components, such as an interrupt instruction port.

The Bi-Directional Bus Driver is controlled by signal~ from
the Gating Array so that proper bus flow is maintained and
its outputs can be forced into their high impedance state
(3-state) for DMA activities.

When using CALL as an Interrupt instruction the 8228
will generate an INTA pulse for each of the three bytes.

Status Latch
At the beginning of each machine cycle the 8080 CPU issues
"status" information on its data bus that indicates the type
of activity that will occur during the cycle. The 8228 stores
this information in the Status Latch when the STSTB input
goes "low". The output of the Status Latch is connected to
the Gating Array and is part of the Control Signal generation.

The BUSEN (Bus Enable) input to the Gating Array is an
asynchronous input that forces the data bus output buffers
and control signal buffers into their high-impedance state
if it is a "one". If BUSEN is a "zero" normal operation of
the data buffer and control signals take place.

8228 BLOCK DIAGRAM

CPU
DATA
BUS

BI-OI RECTIONAL
BUS DRIVER

SYSTEM DATA BUS

DRIVER CONTROL

GATING
ARRAY
STSTB ----.

--J

----.-------------41
WR --.-------------011

DBIN

HLDA

----.--------------1

5-8

SCHOTTKY BIPOLAR 8228

_
18
WRn-------.....,
DBINt-=-1.:....7----..-----,
HDLA ~2;.;.1~_--.
8080A

CPU

3

°O~10~~-I
011-9--l~-I

°2~8--l~~ .....

0 3 1-7--l~-I

DATA BUS

0 4 1-3--l~-I

°51-4--l~-I
0 6 .-5--l~~-I

_-----

0 7 .-6--l~~-I

....

INTA
MEMR
MEM W

CONTROL

(FROM 8224) STATUSSTROBE--...c1II

CONTROL BUS

I/O R
BUSEN _ _....
22a

I/OW

STATUS WORD CHART
TYPE OF MACHINE CYCLE
I

STATUS WORD

DO

INTA

o

WO

1

STACK
HLTA

o
o

OUT

o

INP

o

MEMR

1

1

05

0
1
0
0
0
0
0
1

0
0
0
0
0
0
0
0

0
1
1
0
0
0
0
1

0
0
1
0
0
0
0
0

0
1
0
0
0
0
1
0

0
0
0
0
1
0
0
0

1
1
0
0
0
1
0
0

0
1
0
1
0
0
0
1

1
1
0
1
0
1
0
0

--L..--

INTA
(NONE)
INTA
W

~ - - - - - - I/O

' - - - - - - - - - - - - I/O R
L...--

L....-

' - - - - - - - - - - - - - - MEM W
MEM R

' - - - - - - - - - - - - - - - - - - MEM W
MEM R

' - - - - - - - - - - - - - - - - - - - - MEM R

5-9

_

CONTROL
SIGNALS

SCHOTTKY BIPOLAR 8228
WAVEFORMS

STATUS STROBE
8080 DATA BUS

-----...".I'~~+--,.,.I"--------------------

DBIN

HLDA

--------+----+-----'1

INTA, lOR, MEMR
DURING HLDA

SYSTEM BUS DURING READ

8080 BUS DURING READ· -

-

-

-

-

-

-

-

-

lOW OR MEMW

8080 BUS DURING WRITE

SYSTEM BUS DURING WRITE -

-

-

-

-

-

-

-

<~

-

we1=

SYSTEM BUS E N A B L E .

SYSTEM BUS OUTPUTS -

-

-

-

-

-

-

-

-

-

-

-

-

.-j
-

1

-

tE~r
<
>- - - - - - - - - - - - - -

t--

VOLTAGE MEASUREMENT POINTS: 00-07 (when outputs) Logic "0" = 0.8V, Logic "1" = 3.0V. All other signals measured
at 1.5V.

A.C. Characteristics

TA = O°c to 70°C; Vee = 5V ±5%.

Limits
Symbol

Parameter

tpw

Width of Status Strobe

tss

Min.

Units

Max.

22

ns

Setup Time, Status Inputs D o -D7

8

ns

tSH

Hold Time, Status Inputs Do-D7

5

ns

toe

Delay from STSTB to any Control Signal

tRR

ns

= 100pF
CL = 100pF
CL = 25pF
CL = 25pF
CL = 100pF
CL = 100pF
CL = 100pF
CL

= 100pF

CL

= 100pF

60

ns

Delay from DB IN to Control Outputs

30

ns

tRE

Delay from DBIN to Enable/Disable 8080 Bus

45

ns

tAD

Delay from System Bus· to 8080 Bus during Read

30

ns

tWA

Delay from WR to Control Outputs

45

ns

tWE

Delay to Enable System Bus DBo-DB7 after STSTB

30

ns

two

Delay from 8080 Bus Do -D7 to System Bus
DBo-DB7 during Write

20

5

5

CL

40

tE

Delay from System Bus Enable to System Bus DBo-DB7

30

ns

tHO

HLDA to Read Status Outputs

25

ns

tos

Setup Time, System Bus Inputs to HLDA

10

tOH

Hold Time, System Bus Inputs to HLDA

20

5-10

Condition

ns
\

ns

SCHOTTKY BIPOLAR 8228
D.C. Characteristics TA = O°c to 70°C; Vee = 5V ±5%.
Symbol

Limits
Min. Typ.[1] Max.

Parameter

Ve

Input Clamp Voltage, All Inputs

IF

Input Load Current,
STSTB

.75

02&06

Test Conditions

-1.0

V

Vee=4.75V; le=-5mA

500

IlA

Vee=5.25V

750

IlA

VF=O.45V

IlA

Do, 01, 04, Os,
& 07

250

All Other Inputs

250

Il A

100

IlA

Vee=5.25V

OBo-OB7

20

IlA

VR =5.25V

All Other Inputs

100

p.A

2.0

V

VCC=5V

190

mA

VCC=5.25V

Input Leakage Current
STSTB

IR

Unit

VTH

Input Threshold Voltage, AU Inputs

Icc

Power Supply Current

VOL

Output Low Voltage,
00- 0 7

.45

V

VCC=4.75V; IOl=2mA

All Other Outputs

.45

V

IOl = 10mA

V

VcC=4.75V; IOH=-10p.A

V

IOH = -1mA

VOH

140

Output High Voltage,
00- 0 7

3.6

All Other Outputs

2.4

los

Short Circuit Current, All Outputs

10 (off)

Off State Output Current,
All Control Outputs

3.8

15

I NTA Current

liNT
Note 1:

0.8

90

mA

Vec =5V

100

IlA

Vce=5.25V; VO=5.25

-100

p.A

VO=·45V

mA

(See Figure below)

5

Typical values are for TA = 2So e and nominal supply voltages.

Capacitance

This parameter is periodically sampled and not 100%. test,ed.

Limits
Symbol

Parameter

Min.

Typ.£1]

Max.

Unit

elN

Input Capacitance

8

12

pF

GoUT

Output Capacitance
Control Signals

7

15

pF

I/O

I/O Capacitance
(0 or OB)

8

15

pF

TEST CONDITIONS: VBIAS = 2.5V, Vcc=S.OV, TA = 2Soe, f = 1 MHz.
Note 2: For 00-07: R1 = 4Kn, R2 = oon,
cL = 25pF. For all other outputs:
R1 = 500n, R2= 1Kn, CL = 100pF.

8228

23

INTA

INTA Test Circuit (for RST 7)
5-11

SCHOTTKY BIPOLAR 8228

·
·
2

GND.

Ao

20
+5V

A1

11
-5V

A2

28
+12V

A3
A4

25

Ao

26

A1

27

A2

29

-- A 3

30

A4

31

As

AS
8080A
CPU

·

A7

HOLD

INT. ENABLE ......-

A 10

14
• INT
16

A 12
A 13

INTE

A 14
A 1S
WR

r,; 1
D

14

13

TANK

----.

OSC

~

cfJ2 (TTL)

~

RDYIN

~

RESIN

-..0

+12V

----.

DBIN

TAl

HDLA
22

10

15
24

~

8224
CLOCK
GENERATOR
DRIVER

4

23

1

12

cP1
cfJ 2
WAIT

O2

REArJY

03

04
RESET

9

Os

16

06

+5V

----.

GND

---.

5

8

r

--

19

SYNC

07

A 10

40

A 11

37

A 12

38

A 13

39

A 14

36

A 1S

18

P

-

17
21

413(')

10

15

13

.

9

17

16

,.

8

12

11

7

10

DB

8228
9
BI-DIRECTIONAL
BUS DRIVER
5

3

6

4

19

18

5

21

20

6

8

7

28
+5V~

14
GND---'"
1

STATUS STROBE

ADDRESS BUS

Ag

1

DO

01

I-

AS

21
11

6

2

A7

34

15

12

3

A6

33

35
Ag

A 11
SYSTEM INT. REO.

32

AS

13
SYSTEM DMA REO.

A6

-

.n

"""

22

·-c

BUSEN

8080A CPU Standard Interface

5-12

------- n23
~4
.....
....,

SYSTEM
CONTROL

h

.
,.
.
.
.
,.

DBO
DB1
DB2
DB 3
DB4

DATA BUS

DBs
DB6
D~

-- INTA
MEM R

26

~5

MEMW

!"oF

I/OW

~7

I/O R

CONTROL BUS

intel®

Silicon Gate MOS 8080 A

SINGLE CHIP a-BIT N-CHANNEL MICROPROCESSOR
The 8080A is functionally and electrically compatible with the Intel® 8080.

• 2 J.Ls Instruction Cycle

• Sixteen Bit Stack Pointer and Stack
Manipulation Instructions for Rapid
Switching of the Program Environment

• Powerful Problem Solving
Instruction Set

• Decimal,Binary and Double
Precision Arithmetic

• Six General Purpose Registers
and an Accumulator

• Ability to Provide Priority Vectored
Interrupts

• Sixteen Bit Program Counter for
Directly Addressing up to 64K Bytes
of Memory

• 512 Directly Addressed I/O Ports

• TTL Drive Capability

The Intel® 8080A is a complete 8-bit parallel central processing unit (CPU). It is fabricated on a single LSI chip using Intel's
n-channel silicon gate MOS process. This offers the user a high performance solution to control and processing applications.
The 8080A contains six 8-bit general purpose working registers and an accumulator. The six general purpose registers may be
addressed individually or in pairs providing both single and double precision operators. Arithmetic and logical instructions set
or reset four testable flags. A fifth flag provides decimal arithmetic operation.
The 8080A has an external stack feature wherein any portion of memory may be used as a last in/first out stack to store/
retrieve the contents of the accumulator, flags, program counter and all of the six general purpose registers. The sixteen bit
stack pointer controls the addressing of this external stack. This stack gives the 8080A the ability to easily handle multiple
level priority interrupts by rapidly storing and restoring processor status. It also provides almost unlimited subroutine nesting.
This microprocessor has been designed to simplify systems design. Separate 16-line address and 8-line bi-directional data
busses are used to facilitate easy interface to memory and I/O. Signals to control the interface to memory and I/O are provided directly by the 8080A. Ultimate control of the address and data busses resides with the HOLD signal. It provides the
ability to suspend processor operation and force the address and data busses into a high impedance state. This permits ORtying these busses with other controlling devices for (DMA) direct memory access or mUlti-processor operation.
: .•..

,'.

'/:;):"., :;:",

,.'H:.: ':~,

'.:.:

•.' ."

': ~',:,

'.o;?oo .'H.;

'.;:':'

:.,.

;

>::....

c·...

'<1:,:

;

, :

:',
.

.~:?

".

:.

:

.. ,

..
...•

....

't .;. ;)it~:'

:'..':.

>:.~ .;

;;:"'.,.':':J

..r·:

ACCUMULATOR

'';','':

:....

.,.

::;." ..

:/

(8)

:....

./:,
.-,;

(8)

(8)
Z
TEMP REG.

(8)

C
REG.

(8)

D
REG.

(8)

E
REG.

(8)

H
REG.

(8)

L
REG.

(8)

W

<~'>:'.~

TEMP REG.

ACCUMULATOR
LATCH (8)

B
REG.

STACK POINTER

:·i.'

,<'.,

<:
:::.

·:i··.
(16)

TIMING

...,:

.: . .

:,

.

:'>;

.~

5-13

'\'

(16)

PROGRAM COUNTER

. '.'

",',"

·SILICON
GATE MOS 8080'A
.
8080A FUNCTIONAL PIN DEFINITION

The following describes the function of all of the 8080A I/O pins.
Several of the descriptions refer to internal timing periods.
_.

.

A 15. A O (oU1put three-state)
ADDRESS BUS;.the address bus provides the address to memory
(up to 64K 8-bit words) or denotes the I/O device number for up
to 256 input and 256 output devices. Ao is the least significant
address. bit.

04

3

40 __~'-JI A 11
39
A 14
38
A 13

05

4

37

°6~5

36
35

A 12
0 A 15
0 Ag

34
33

0 A7

32

A6

A 10

1

GNO

2

07
03

O~
0 1.0

OJ-D.o (input/output three-state)
DATA BUS; the data bus provides bi-directional. communication
.between the CPU, memory, and I/O. devices for instructions and
data transfers. Also, during the first clock cycle of each machine
cycle, the 8080A outputs a status word on the data bus that de.
_scribes the current machine cycle. Do is the least significant bit.

DO 0
-5V
RESET

HOLD

SYNC (output)
SYNCHRONlZING SIGNAL; the SYNC pin provides a signal to
indicate the beginning-of each machine cycle.

DATA BUS IN; the DBIN signal indicates to external circuits that
the data bus is in the input mode. This signal should be used to
enable the gating of data onto the 8080A data bus from memory
or I/O.

8

9
10
11
12

13

INTE~
8080A

As

31

As

30
29
28

0 A4
A3
+12V

INT

14

27

A2

4>2

15

26

A1

INTE 0
OBIN 0

16

25

17

24

Ao
WAIT

18

23
22

4>1

21

HLOA

WR
SYNC
+5V

DBIN (output)

6
7

19
20

READY

-.

Pin Configuration

REAPV (input)

will go to the high impedance state. The HLOA signal begins at:
• T3 for READ memory or input.
• The Clock Period following T3 for WR ITE memory or OUTPUT operation.

READY; the READY signal indicates to the 8080A that valid
memory or input data is available on the 8080A data bus. This
signal is used to synchronize t.he CPU with slower memory or I/O
devices. If after sending an address out the 8080A does not receive a READY input, the 8080A will enter a WAIT state for as
long as the READY line is low. READY can also be used to single
step the CPU.

In either case, the HLOA signal appears after the rising edge of 4>1
and high impedance occurs after the rising edge of 4>2.

INTE (output)
INTER RUPT ENABLE; indicates the content of the internal interYlJAIT (output)
rupt enable flip/flop. This flip/flop may be set or reset by the EnWAIT; the WAIT signal acknowledges that th~ CPU is in a WAIT able. and Disable Interrupt instructions and inhibits interrupts
s~ate.
from being accepted by the CPU when it is reset. It is auto, matically reset (dfsab'ling further interrupts) -at time T1 of the inWR (output)
struction fetch cycle (M 1) when an interrupt is accepted and is
WRITE; the WR signal is used for memory WRITE or I/O output also reset by the RESET signal.
control. The data on the data bus is stable while the WR signal is
active low (WR = 0).
INT (input)
INTERR.UPT REQUEST; the CPU recognizes an interrupt re. HOLD (input)
quest
on this line at the end of the current instruction or while
HOLD; the HOLD signal requests' the CPU to 'enter the HOLD
halted.
If the CPU is in the HOLD state or if the Interrupt Enable
state. The HOLD state allows an external device to gain control
flip/flop
is reset it will not honor the request.
of the 8080A address and data bus as soon as the 8080A has com-

pleted its use of these buses for the current machine cycle. It is
recognized under the following conditions:
• the CPU is in the HALT state.
• the CPU is in the T2 or TW state and the READY signal is active.
As a result of entering the HOLD stf'te the CPU ADDRESS BUS.
(A15-AO) and DATA BUS (0 7 -00) will be in their high impedance
state. The CPU acknowledges its state with the HOLD ACKNOWLEDGE (HLDA) pin.
HLOA (output)
HOLD ACKNOWLEDGE; the HLDA signal appears in response
to the HOLD' signal and !ndicates that the data and address bus

RESET (input) [1]
RESET; while the RESET signal is activated, the content of the
program counter is cleared. After RESET, the program will start
at location 0 in memory. the INTE and HLDA flip/flops are also
reset. Note that the flags, accumulator, stack pointer, and registers
are not cleared.
Vss
Ground Reference.
VDD
+12 ± 5% Volts.
Vee +5 ± 5% Volts.
Vss -5 ±5% Volts (substrate bias).
,l/>1,'l/>2 2 externally supplied clock phases. (non TTL compatible)

5-14

SILICON GATE MOS 8080 A
ABSOLUTE MAXIMUM RATINGS·
*COMMENT: Stresses above those listed under ''Absolute Maximum Ratings" may cause permanent damage to the device.
This is a stress rating only and functional operation of the device at these or any other conditions above those indicated in
the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended
periods may affect device reliability.

Temperature Under Bias
'
O°C to +70° C
Storage T emperatu re . . . . . . . . . . . . . . . _65° C to + 150° C
All Input or Output Voltages
With Respect to VSS
-0~3V to +20V
Vcc, Voo and VSS With Respect to Vss
-0.3V to +20V
. Power Dissipation
1.5W

D.C. CHARACTERISTICS

= O°C

TA

to 70°C, VOO

Symbol

= +12V ± 5%,

Vcc

= +5V

± 5%, Vss

= -5V ± 5%,

Vss

Typ.

Max.

Unit

Min.

Parameter

= OV,

Unless Otherwise Noted.

VILC

Clock Input Low Voltage

Vss-1

Vss+0.8

V

VIHC

Clock Input High Voltage

9.0

Voo+1

V

VIL

Input Low

Vss-1

VsstO.8

V

3.3

Vcc+1

V

0.45-

V

Vol~age

Test Condition

VIH

Input High Voltage

VOL

Output Low Vqltage

VOH

Output High Voltage

100 (AV)

Avg. Power Supply Current (Voo)

40

70

mA

ICC (AV)

Avg. Power Supply Current (Vc c )

60

80

mA

ISB(AV)

Avg. Power Supply Current (V ss )

.01

1

mA

IlL

Input Leakage

±10

J.1A

VSS ~ VIN ~ V cc

ICl

Clock Leakage

±10

J.1A

Vss ~ VCLOCK ~ VDD

IDL[2]

Data Bus Leakage in Input Mode

-100
-2.0

~A

VSS ~VIN ~Vss +0.8V

mA

Vss+0.8V~VIN~Vcc

IFL

3.7

} IOl = 1.9mA on all outputs,
IOH =-150~A.

V

Address and Data Bus Leakage
Dl:Iring HOLD

+10
-100

} Operation
TCy = .48 J.1sec

VADoR/oATA = VCC

~A

VADOR/DATA

CAPACITANCE
TA

= 25°C

Symbol

VCC

TYPICAL SUPPLY CURRENT VS.
TEMPERATURE, NORMALIZED.[3]

= Voo = Vss = OV, Vss =-5V

Parameter

1.5,..-----r-----,-----_

Typ.

Max.

Unit

Test Condition

= 1 MHz

Cq>

Clock Capacitance

17

25

pf

fc

CIN

Input Capacitance

6

10

pf

Unmeasured Pins

CO UT

Output Capacitance

10

20

= Vss + 0.45V

pf

Returned to Vss

NOTES:
1. The RESET signal must be active for a minimum of 3 clock cycles.
2. When DSIN is high and VIN > VIH an internal active pull up will
be switched onto the Data Sus.
3. ~I supply / ~ TA = -O.45%t C.

...z
w

a:
a:

::»

(,)

>
..J

1.0

t----~~=------+__--~

a.
a.

::»

U)

0.5 0~---+2&.-5- - - - + 5 " ' - 0 - - - '......1+
75
AMBIENT TEMPERATURE (Oe)

DATA BUS CHARACTERISTIC
DURING DB"IN
MAX

°O~------------~­

Vee

5-15

SILICON GATE MOS 8080A
A.C. CHARACTERISTICS

= O°C to 70°C, VOO = +12V ± 5%, VCC = +5V ± 5%, Vas = -5V ± 5%, Vss = OV, Unless Otherwise Noted

TA

Symbol

Parameter

Min.

Max.

Unit

0.48

2.0

J1sec

50

nsec

Test Condition

tCy[3]

Clock Period

t r , tf

·Clock Rise and Fall Time

0

~1

f/J1 Pulse Width

60

nsec

tq,2

cf>2 Pu.lse Width

220

nsec

t01

Delayep1 to ep2

0

nsec

. t02

Delay lP2 to l/>,

70

nsec

t03

Delayep, to ep2 Leading Edges

80

nsec

tOA [2]

Address Output Delay From ~2

200

nsec

to.D [2]

Data Output Delay From f/J2

220

nsec

toC[2]

Signal 'Output Delay From ep1 , or ep2 (SYNC, WR,WArT, HLDA)

120

nsec

tOF [2]

DBIN Delay From lP2

140

nsec

tOI[1]

Delay for Input Bus to Enter Input Mode

tOF

nsec

tOS1

.Data Set~p Time During ~1 and DB IN

TIMING WAVEFORMS

--.
(/>,

I

25

[14]

} Cl
}Cl

= 100pf

=50pf

nsec

30

(Note: Timing measurements are made at the following reference voltages: CLOCK "1" = 8.0V
"0" = 1.0V; INPUTS "1" = 3.3V, 110" = 0.8V; OUTPUTS "1" = 2.0V, "0" = 0.8V.)

-I

t CY

~~1

-. to, .-

r~

f\

JF\

iF\

.-t2~1

}~

j~

jJ-

~

~

....h ...

~to3 . .1

!O2

~

..

___ I

r.

~tOA-.I

~too--'

--..;..

~ --- -- ----

t OI

I.........

-"rr·
,,"".J-,------- -- 4=.....

~

---i

t

DATA IN

~--

--. tos, ...-

-t-

T

SYNC·

~ tocl~
DBIN

---..

t oc

~--

--- ---- -f

1---

-- - ---r---.

...-tOO - '

toHI"'-

~

.J

DATA OUT

~I--tow

-I

~tOS2-'

1..-

-r

1-

~tOF~

~tOF

~t

----------READY

H

tAW

~

~~

F-

~~

~

t oc .........1 .

ItHl~

-I=@ t

------------

-~:'J>

tH-.

WAIT

-

.-t oc ---"

HOLD

-;f!1~
t RS

X-

1.-

t oc ..........1

l-

--J@

1.--

tH -.

I

~I~;~~

HLDA

--X@

INT

1=-=

tiS
t H --.
INTE

. 5-16

,.

~~
~

SILICON GATE MOS 8080A
A.C. CHARACTERISTICS (Continued)
TA = O°C to 70°C, Voo = +12V ± 5%, Vee = +5V ± 5%, Vss = -5V'± 5%, V55 = OV, Unless Otherwise Noted
Symbol

Min.

Parameter

Max.

Unit

t052

Data Setup Time to ~2 During DBIN

150

nsec

tOH (1)

Data Hold Time From ~2 During DBIN

[1 ]

nsec

tiE [2)

INTE Output Delay From ~2

tRS

READY Setup Time During ~2

120

nsec

tH5

HOLD Setup Time to ~2

140

nsec

tiS

INT Setup Time During ~2 (During cP1 in Halt Mode)

120

nsec

tH

Hold Time From

0

nsec

tFO

Delay to Float During Hold (Address and Data ~us)

tAW [2)

Address Stable Prior to WR

[5]

nsec

tow [2)

Output Data Stable Prior to WR

[6]

nsec

tWD[2]

Output Data Stable From WR

[7]

nsec

[7]

nsec

tWf\[2]

~2

200

(READY, INT, HOLD)

.-

nsec

120

, Address Stable From WR

Test Condition

CL'= 50pf

nsec

-

~

-

tHF[2]

HLDA to Float Delay

[8]

nsec

tWF[2]

WR to Float Delay

[9]

nsec

tAH[2]

Address Hold Time After DBIN During HLDA

-20

nsec

CL= 100pf: Address, Data
C L =50pf: WR, HLDA, DBIN

--

NOTES:
1. Data input should be enabled with 'OBIN status. No bus co~f1ict can then occur and data hold time is assured.
tOH = 50 ns or tOF, whichever is less.
2. Load Circuit.

+5V
2.1K

8080A
OUTPUT

3. tCY = t03 + tr~2 + t4>2 + tf~2 + t02 + t rit>1 ;> 480ns.

TYPICAL
0 7 .00

+20

~

~

OUTPUT DELAY VS. A CAPACITANCE

r-----~-----r----~---__.

lit

..s
>

SYNC

«
..J

+10

w
C

~

OBIN

0

:;)
Q.
~

:;)

0

-10

<1

WR

-20
-100

t oc

READY

o

-50
.:1.

+50

+100

CAPACITANCE (pf)

(CACTUAL - C SPEC )

WAIT
HOLD

st oc

HLDA
~

INT

INTE

I

-t:1-

...-

4. The following are relevant when interfacing the 8080A to devices having VIH = 3.3V:
a) Maximum output rise time from .8V to 3.3V = 100ns @ CL = SPEC.
b) Output delay when measured to 3.0V == SPEC +60ns @ CL == SPEC.
c) If CL "* SPEC, add .6ns/pF if CL> CSPEC, subtract .3ns/pF (from modified delay) if CL < CSPEC.
5. tAW = 2 tCY -t03 -t r2 -140nsec.
6. • tow = tCY -t03 -tr2 -l70nsec.
7. If not HLOA, two =tWA = t03 + t r2 +10ns. If HLOA, two = twA = twF.
8. tHF == t03 + t rc/>2 -50ns.
9. twF = t03 + t r c/>2 -10ns
10. Data in must be stable for this period during OBIN ·T3. Both tOS1 and tOS2 must be satisfied.'
11. Ready signal must be stable for this period during T 2 or TW. (Must be externally synchronized.)
12. Hold signal must be stable for this period during T2 or TW when entering hold mode, and during T3, T4, TS
and TWH when in hold mode. (External synchronization is not required.)
13. Interrupt signal must be stable during this period of the last clock cycle of any instruction in order to be
recognized on the following instruction. (External synchronization is not required.)
14. This timing diagram, shows timing relationships only; it does not represent any specific machine cycle.

5-17

SILICON GATE MOS 8080 A
INSTRUCTION SET
The accumulator group instructions include arithmetic and
logical operators with direct, indirect, and immediate addressing modes.

increment and decrement memory, the six general registers
and the accumulator is provided as well as extended increment and decrement instructions to operate on the register
pairs and stack pointer. Further capability is provided by
the abil ity to rotate the accu mu lator I~ft or right through
or arou nd the carry bit.

Move, load, and· store instruction groups provide the ability
to move either a or 16 bits of data between memory,' the
six working registers and the accumulator using direct, indirect, and 'immediate addressing modes.

Input and output may be accomplished using memory addresses as I/O ports or the directly addressed I/O provided
for in the 8080A instruction set.

The ability to branch to different portions of the program
is provided with jump, jump conditional, and computed
jumps. Also the ability to call to and return from subroutines is provided both conditionally and unconditionally.
The RESTART (or single byte call instruction) is useful for
interrupt vector operation.

The following special instruction group completes the 8080A
instruction set: the NOP instruction, HALT to stop processor execution and the OAA instructions provide decimal
arithmetic capabil ity. STC allows the carry flag to be directly set, and the CMC instruction allows it to be complemented. CMA complements the contents of the accumulator
and XCHG exchanges the contents of two 16-bit register
pairs directly.

OOl:Jble precision operators such as stack manipulation and
double add instructions extend both the arithmetic and
interrupt handl ing capability of the a080A. The ability to

Data and Instruction Formats
Data in the a080A is stored in the form of a-bit binary integers. All data transfers to the system data bus will be in the
same format.
1

0 7 06 Os 04 03 02 01 001
OATA WORO

The program instructions may be one, two, or three bytes in length. Multiple byte instructions must be stored
in successive words in program memory. The instruction formats then depend on the particular operation
executed.
TYPICAL INSTRUCTIONS

One Byte Instructions

Register to register, memory reference, arithmetic or logical, rotate,
return, push, pop, enable or disable
Interrupt instructions
Two Byte Instructions
1 0.
7 06 Os D4 °3 °2 °1 DO

1 0 7 °6 Os D4 °3 °2 °1 DO

I OP CODE

I OPERANO

Immediate mode or I/O instructions

Three Byte Instructions

10 7

°6 Os 04 °3 °2 °1 DO

0
1 0 7 °6 Os 04 °3 °2 1 DO

I OP COOE

I LOW ADDRESS OR OPERAND 1
I

Jump, call or direct load and store
instructions

HIGH ADDRESS OR OPERANO 2
0
1 7 06 Os 04 03 °2 °1 DO
For the 8080A a logic "1" is defined as a high level and a logic 110" is defined as a low level.

6-18

SILICON GATE MOS 8080.A
INSTRUCTION SET
Summary of Processor Instructions

Mnemonic

Description

D7

D6

MOV r1 .r2
MOVM,r
MOVr,M
.HLT
MVI r
MVIM
lNR r
OCRr
INR M
OCR M
ADD r
ADCr
SUB r
SaB r

Move register to register
Move register to memory
Move memory to register
Halt
Movi immediate register
Move immediate memory
Increment register
Decrement register
Increment memory
Decrement memory
Add register to A
Add register to Awith carry
Subtract register from A
Subtract register from A
with borrow
And register with A
Exclusive Or register with A
.0 r register with A
Compare register with A
Add memory to A
Add memory to Awith carry
Subtract memory from A
Subtract memory from A
with borrow
And memory with A
Exclusive 0 r memory with A
Or memory with A
Compare memory with A
Add immediate to A
Add immediate to A with
carry
Subtract immediate from A
Subtract immediate from A
with borrow
And immediate with A
Exclusive Or immediate with
A
Or immediate with A
Compare immediate with A
Rotate A left
Rotate A right
Rotate A left through carry
Rotate A right through
carry
Jump unconditional
Jump on carrY
Jump on no carry
Jump on zero
Jump on no zero
Jump on positive
Jump on minus
Jump on parity even
Jump on parity odd
Call unconditional
Call on carry
Call on no carry
Call on zero
Call on no zero
Call on positive
Call on minus
Call on parity even
Call on parity odd
Return
Return on carry
Return on no carry

0
0
0
0
0
0
0
0
0
0
1
1
1
1

1
1
1
1
0
0
0
0
0
0
0'
0
0
0

ANAr
XRAr
ORAr
CMPr
ADOM
ADCM
SUB M
SBB M
ANAM
XRAM
ORAM
CMPM
ADI
ACI
SUI
SBI
ANI
XRI
ORI
CPI
RLC
RRC
RAL
RAR
JMP
JC
JNC
JZ
JNZ
JP
JM
JPE
JPO
CALL
CC
CNC
CZ
CNZ
CP
CM
CPE
CPO
RET
RC
RNC

Instruction Code [1 J
Os D4 D3 02 0, Do
0
1
0
1
0
1

0
1
0
1

0
0
0
0

0

0

S
S
1
1
1

1

0

1

0

0

0

0
1
1
0
0
0
0

0
1
1
0
0
1
1

0
0
0
0
1
0
1

1
1
1
1
S
S
S
S

S
S
S
S'
1
1
1
1

5
7
7
7
7
10
5
5
10
10
4
4

S
S
S
S
0

,4
4
4
4

'1
1

0
1
0
1
0
1
0
1

0

1
1
1
1
0
0

0
O.
1
1
0
0

0
1
0
1
0
1

0
0

0
1

0
0

0
0

0
1

0
0
0
0
1
1
1
1

7
7
4

1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0

10
10
10
10
10
10
10
10
.10
17
11/17
11/17
11/17
11/17
11/17
11/17
11/17
11/17
10
5/11
5/11

0

0
0

1
1
0,
0
0
0

1
1
0
0
0
0

1
1
0
0
1
1

0
1
0
1
0

1
1
1
1
1
1
1

0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1

0

0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1

1

1
1
1
1
,1
1
1
1
1
1

1
1
1

1

0
0
0

1

1
0
0
1
1
0
0
0
1

1
0
0
1
1
0

0

0
0
0

l'

1

0
0

1

1
1

1
0

0

0

0
0

0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0,
0

1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0

Mnemonic

Description

RZ
RNZ
RP
RM
RPE
RPO
RST
IN
OUT
LXIB

Return on zero
Return on no zero
Return on positive
Return on minus
Return on parity even
Return on parity odd
Restart
Input
Output
Load immediate register
Pair B & C
LXIO
Load immediate register
Pair D & E
LXIH
Load immediate register
Pair H & L
Load immediate stack pointer
LXISP
PUSH a
Push register Pair B & Con
stack
PUSH 0
Push register Pair 0 & E on
stack
PUSH H
Push register Pair H & Lon
stack
PUSH PSW Push Aand Flags
on stack
POP B
Pop register pair B & C off
stack
POPD
Pop register pair 0 & E off
stack
POP H
Po.p register pair H & Loff
stack
POP PSW
Pop Aand Flags
off stack
STA
Store Adtrect
LOA
Load Adirect
XCHG
Exchange 0 & E, H& L
Registers
XTHL
Exchang~ top of stack, H& L
SPHL
H & L to stack pointer
PCHL
H & Lto program counter
DAD B
Add B & Cto H & L
DAD 0
Add 0 & E to H & L
DAD H
Add H & L to H & L
DAD SP
Add stack pointer to H & L
STAXB
Store A indirect
STAX 0
Store A indirect
LOAXB
Load A indirect
Load A indirect
LoAXO
INX B
Increment B & Cregisters
INX D
Increment 0 & E registers
INX H
Increment H & L registers
INXSP
Increment stack pointer
OCX B
Decrement B & C
,OCX 0
Decrement 0 & E
OCX H
Decrement H & L
OCXSP
Decrement stack pointer
CMA
Complement A
STC
Set carry
CMC
Complement carry
DAA
Decimal adjust A
SHLD
Store H & Ldirect
LHLD
Load H & Ldirect
EI
Enable Interrupts
01
Disable interrupt
N.OP
No-operation

44

1
1
1
1
0
0
0
0

0
1
1

1
1
0
0
0
0

S
S
S
S
1
1
1
1

S
S
0
0
0
0
0
1
0
1
S
S
S
S

0
0
0
0
0
0
0
0

0
0

0
0
1
1
0

S
S
1
1
1
1
0
0
0
0
S
S
S
S

Clock [2]
Cycles

7
7
7
7
7
7
7
7
7
7

4

4
4

NOTES:. 1. DDDorSSS-OOOB-001 C-010D-011'E-100H-101 L-110Memory....:.111 A.
2. Two possible cycle times, (5/11) indicate instruction cycles dependent on condition flags.

5-19

D7

06

1
1
1
1
1

1
1
1
1
1
1
1
1
1

Instruction Code (1)
Os 04 Da ~ 0,
0
0
1
1
1

1
1
1
0

0

1
A
0
0
0

0

0

0

0

0

0
1

0
1

1

1
0

0
0

0
1 0
1 1
0 1
0 0
A A
1 1
1 0
0 0

1
1

1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
O.
0
0
0
0
0
0
1
1
0

1
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

1
0

1

1
1
1
0
0

1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1

5/11
5/11
5/11
5/11
5/11
5/11
11
10
10
10

0

1
0
0
0

1
1
1
0

0

0

0

10

0

0

0

0

10

1
0

0
0

0
1

0
0

10
11

0

0

11

0

0

11

0

0

11

0

0

0

10

0

0

O'

10

0

0

0

10

0

0

0

10

1
1
0

0

0
0
0

0
0
1

13
13
4

0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0

0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0

0
0
0

1 1
0 1
0 1
0 1
0 1
0 1
0 1
1 0
1 0
1 0
1 0
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 ,1
1 0
1 0
1 1
1 1
0 0

18
5
5
10
10
10
10
7
7
7
7
5
5
5
'5
5
5
5
5
4
4
4
4
16
16
4
4
4

0

0

0

0
0
0
0
0
0
1
1
1
1

0

0

0

0
C

0

0

0
0
1

0
0
0
0

Clock[2J
Cycles

0
0
0

0

0

,

Do

1
1

0
(}

1
1

1

1

1
1

1
0

1
0

0
0

0

0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

"

1
1
0
0
0
0
0

infel®

Silicon Gate MOS 8080A-1

SINGLE CHIP 8-BIT N-CHANNEL MICROPROCESSOR
• TTL Drive Capability
• 1.3 J.Ls Instruction Cycle

• Sixteen Bit Stack Pointer and Stack
Manipulation Instructions for Rapid
Switching of the Program Environment

• Powerful Problem Solving
Instruction Set

• Decimal,Binary and Double
Precision Arithmetic

• Six General Purpose Registers
and an Accumulator

• Ability to Provide Priority Vectored
Interrupts

• Sixteen Bit Program Counter for
Directly Addressing up to 64K Bytes
of Memory

• 512 Directly Addressed 1/0 Ports

The Intel® aOaOA is a complete a-bit parallel central processing unit (CPU). It is fabricated on a single LSI chip using Intel's
n-channel silicon gate MOS process. This offers the user a high performance solution to control and processing applications.
The aOaOA contains six 8-bit general purpose working registers and an accumulator. The six general purpose registers may be
addressed individually or in pairs providing both single and double precision operators. Arithmetic and logical instructions set
or reset four testable flags. A fifth flag provides decimal arithmetic operation.
The aOaOA has an external stack feature wherein any portion of memory may be used as a last in/first out stack to store/
retrieve the contents of the accumulator, flags, program counter and all of the six general purpose registers. The sixteen bit
stack pointer controls the addressing of this external stack. This stack gives the 80aOA the ability to easily handle multiple
level priority interrupts by rapidly storing and restoring processor status. It also provides almost unlimited subroutine nesting.
This microprocessor has been designed to simplify systems design. Separate 16-line address and a-line bi-directional data
busses are used to facilitate easy interface to memory and I/O. Signals to control the interface to memory and I/O are provided directly by the aOaOA. Ultimate control of the address and data busses resides with the HOLD signal. It provides the
ability to suspend processor operation and force the address and data busses into a high impedance state. This permits ORtying these busses with other controlling devices for (DMA) direct memory access or mUlti-processor operation.

5-20

SILICON GATE MOS 8080A-1
ABSOLUTE MAXIMUM RATINGS·
*COMMENT: Stresses above those listed under 'Absolute Maximum Ratings" may cause permanent damage to the device.
This is a stress rating only and functional operation of the device at these or any other conditions above those indicated in
the operational sections of this specification is'not implied. Exposure to absolute maximum rating conditions for extended
periods may affect device reliability.

Temperature Under Bias
O°C to +70° C
Storage Temperature
-65°C to +150°C
All Input or Output Voltages
With Respect to Vaa
-0.3V to +20V
Vee, VOO and Vss With Respect to Vaa
-0.3V to +20V
Power Dissipation
. . . . . . . . . . . .. 1.5W

D.C. CHARACTERISTICS

= O°C

TA

to 70°C, Voo

Symbol

= +12V

± 5%, Vce

= +5V

± 5%, Vss

= -5V

Typ.

Min.

Parameter

± 5%, Vss

= OV,

Unless Otherwise Noted.

Max.

Unit

VILe

Clock Input Low Voltage

Vss-1

Vss+0.8

V

VIHC

Clock Input High Voltage

9.0

Voo+1

V

VIL

Input Low Voltage

Vss-1

Vss+0.8

V

VIH

Input High Voltage

3.3

Vec+1

V

VOL

Output Low Voltage

0.45

V

VO H

Output High Voltage

3.7

Test Condition

}'0

L = 1.9mA on all outputs,
'OH = 150J,.lA.

V

Avg. Power Supply Current (Voo)

40

70

mA

ICC (AV)

Avg. Power Supply Current (Vce)

60

80

mA

'ss (AV)

Avg. Power Supply Current (V ss )

.01

1

mA

IlL

Input Leakage

±10

pA

Vss ~ VIN ~ Vee

ICl

Clock Leakage

±10

pA

Vss ~ VeLOeK ~ Voo

IOL[2]

Data Bus Leakage in Input Mode

-100
-2.0

JlA
mA

VSS~VIN ~Vss+0.8V

+10
-100

pA

100

(AV)

IFL

Address and Data Bus Leakage
During HOLD

} Operation
T Cy = .32Jlsec

Vss+0.8V~VIN~Vec

VAOOR/OATA = Vec
VAOOR/OATA = VSS + 0.45V

CAPACITANCE
TA = 25°C

Symbol

TYPICAL SUPPLY CURRENT VS.
TEMPERATURE, NORMALIZED.[3]

Vee = VOO = Vss = OV, Vas =-5V

Parameter

Typ.

Max.

Unit

Test Condition

Cf/>

Clock Capacitance

17

25

pf

fc

CIN

Input Capacitance

6

10

pf

Unmeasured Pins

CO UT

Output Capacitance

10

20

pf

= 1 MHz

Returned to VSS

NOTES:
1. The RESET signal must be active for a minimum of 3 clock cycles.
2. When OSIN is high and VIN > VIH an internal active pull up will
be switched onto the Data Sus.
3. aI supply I b. T A = -0.45%/ c.

1.5

r------r-----~---_

1.0

1"-----=-~:------+-------4

~

z
w
a:
a:

::>
(J

>

-'

Q.
Q.

::>

en

0.5

----"'-----....L..-

o

+25

....J

+50

+75

AMBIENT TEMPERATURE (OC)

DATA BUS CHARACTERISTIC
DURING DBIN
MAX

°o'-------------~­

Vee

5-21

SILICON GATE MOS 8080A-1
A. c. CHARACTERISTICS
TA

CA UTlON: When operating the 8080A·l at or near full speed, care must be taken to assure precise timing compatibility between 8080A·', 8224 and 8228.

= O°C to 70°C, Voo = +12V ± 5%, VCC = +5V ± 5%, VSS = -5V ± 5%, VSS = OV, Unless Otherwise Noted

Symbol

Parameter

Min.

Max.

Unit

.32

2.0

J.1sec

25

nsec

tCy[3]

Clock Period

t r , tf

Clock Rise and Fall Time

0

t4»1

¢1 Pulse Width

50

nsec

t4»2

~

145

nsec

t01

Delay cfJ1 to cfJ2

0

nsec

t02

Delay ¢2 to cfJ1

60

nsec

t03

Delay ¢, to ¢2 Leading Edges

60

nsec

tOA [2]

Address Output Delay From ¢2

150

nsec

too [2]

Data Output Delay From ¢2

180

nsec

toc[2]

Signal Output Delay From ¢" or cfJ2 (SYNC, WR.WAIT, HLOA)

110

nsec

tOF [2]

DBIN Delay From ¢2

130

nsec

tOI[1]

Delay for Input Bus to Enter Input Mode

tOF

nsec

tOS1

Data Setup Time During cfJ1 and DBIN

Pulse Width

TIMING WAVEFORMS

---.

I

25

[14]

Test Condition

} Cl
}Cl

= 50pf

=50pf

nsec

10

(Note: Timing measurements are made at the following reference voltages: CLOCK 111" = 8.0V
110" = 1.0V; INPUTS 111" = 3.3V, 1'0" = 0.8V; OUTPUTS "1" = 2.0V, "0" = O.8V.)

.

---.

~I

t CY

Fft~l

r~

f\

~11-

}F\

Jf\

~t~2~1
-~

}~

-J

...t 03

"'!

-.\

--~
i4-- t OA-'\

i4---too~1

r

~

t 02

~

..

-

---. toc

DBIN

1.-.

-...

,-

t OI

--

1'-

+:..... -

~-t-... t
...-

OS1
..... t oS2 .....

-i.-.

--t

H"
.,._ .JrPATA
IN

tAW

~

~tOO-"

toHI'-

~

.J

1--- -- - 10----

DATA OUT

I-f--tow

-I

~

tocl.-

-r

t
... t OF

~l

-----------

t oc

-r@

I t H -ij

L-,

--_ ....

1

"1

--- --- ---- --f

1 - - - ~---

~tOF:.I

READY

~

I

-=1 ---

.....,J-

..Jjl-

-~

~k-

I

T

SYNC

~

1~~

_------~-

t

-tRSItH -.

WAIT

.t oc ---'

HOLD

T

I~

r--

.-.-.\

~~
'RS
toe -'-{ II
_

I
t H -.1

1.-

!@ IX

~r~:~
HLDA

-

INT

L

!@ ~~
1==
~

tiS
t H -...

INTE

5-22

...

SILICON GATE MOS 8080A-1
A.C. CHARACTERISTICS (Continued)
TA

= O°C to 70°C, Vo o = +12V ± 5%, Vee = +5V ± 5%, Vss

Symbol

= -5V

± 5%, V ss

= OV, Unless Otherwise Noted

Min.

Parameter

Max.

Unit

120

nsec

[1]

nsec

tOS2

Data Setup Time to ¢2 During DBIN

tOH [1]

Data Hold Time From ¢2 During DBIN

tiE [2]

INTE Output Delay From ¢2

tRS

READY Setup Time During ¢2

90

nsec

tHS

HOLD Setup Time to ¢2

120

nsec

tiS

INT Setup Time During ¢2 (During 1 in Halt Mode)

100

nsec

tH

Hold Time From ¢2 (REAOY, INT, HOLD)

0

nsec

tFO

Delay to Float During Hold (Address and Oata Sus)

tAW [2]

Address Stable Prior to WR

[5]

nsec

tOW[2]

Output Data Stable Prior to WR

[6]

nsec

two [2]

Output Data Stable From WR

[7]

nsec

tWA [2]

Address Stable From WR

[7]

nsec

tHF[2]

H LDA to Float Delay

[8]

nsec

tWF[2]

WR to Float Delay

[9]

nsec

tAH [2]

Address Hold Time After DBIN During HLDA

-20

nsec

200

Test Condition

nsec

120

CL = 50pf

nsec
........,

~ CL = 50pf: Address, Data

CL =50pf: WR, HLDA, DBIN

-

NOTES:
1. Data input should be enabled with OBIN status. No bus conflict can then occur and data hold time is assured.
tOH :::: 50 ns or tOF, whichever is less.
2. Load Circuit.

+5V

9
2.1K

8080A
OUTPUT

A 1S -AO

~

3. tCY:::: t03 + t nt>2 + t4>2 + tf4>2 + t02 + t r 4>1 ;> 320ns.

twA

0 7 -0 0

I-

~ CAPACITANCE
+20 r - - - - - - - . - - - - - - - - - - - r - - - -----,

TYPICAL!:J. OUTPUT DELAY VS.

-

two

.5-

SYNC

>

oBIN

::::>

~
...J
W

0
~

+10

0

Q.

~

::::>
0
-1

-10

WR

o

-50

t oc
READY

~

+50

+100

CAPACITANCE (pf)
(CACTUAL -

CSPEC )

WAIT

HOLD

I---. t oc .--

HLoA

INT

INTE

4. The following are relevant when interfacing the 8080A to devices having VIH :::: 3.3V:
a) Maximum output rise time from .8V to 3.3V = 1OOns @ CL = SPEC.
b) Output delay when measured to 3.0V = SPEC +60ns @ CL = SPEC.
c) If CL :f. SPEC, add .6ns/pF if CL> CSPEC, subtract .3ns/pF (from modified delay) if CL < CSPEC.
5. tAW:::: 2 tCY -t03 -t nt>2 -110nsec.
6. tOW:::: tCY -t03 -t r2 -150nsec.
7. If not HLDA, tWO:::: tWA:::: t03 + t r2 -10ns
10. Data in must be stable for this period during DB IN ·T3. Both tOS1 and tOS2 must be satisfied.
11. Ready signal must be stable for this period during T2 or TW. (Must be externally synchronized.)
12. Hold signal must be stable for this period during T2 or TW when entering hold mode, and during T3, T4, TS
and TWH when in hold mode. (External synchronization is not required.)
13. Interrupt signal must be stable during this period of the last clock cycle of any instruction in order to be
recognized on the following instruction. (External synchronization is not requiredJ
14. This timing diagram shows timing relationships only; it does not represent any s~ific machine cycle.

5-23

infel®

Silicon Gate MOS 8080 A-2

SINGLE CHIP a-BIT N-CHANNEL MICROPROCESSOR
• 1.5 J.Ls Instruction Cycle

• Sixteen Bit Stack Pointer and Stack
Manipulation Instructions for Rapid
Switching of ~he Program Environment

• Powerful Problem Solving
Instruction Set

• Decimal,Binary and Double
Precision Arithmetic

• Six General Purpose Registers
and an Accumulator

• Ability to Provide Priority Vectored
Interrupts

• Sixteen Bit Program Counter for
Directly Addressing up to 64K Bytes
of Memory

• 512 Directly Addressed 1/0 Ports

• TTL Drive Capability

The Intel® aOaOA is a complete a-bit parallel central processing unit (CPU). It is fabricated on a single LSI chip using Intel's
n-channel silicon gate MOS process. This offers the user a high performance solution to control and processing appli"cations.
The aOaOA contains six a-bit general purpose working registers and an accumulator. The six general purpose registers may be
addressed individually or in pairs providing both single and double precision operators. Arithmetic and logical instructions set
or reset four testable flags. A fifth flag provides decimal arithmetic operation.
The aOaOA has an external stack feature wherein any portion of memory may be used as a last in/first out stack to store/
retrieve the contents of the accumulator, flags, program counter and all of the six general purpose registers. The sixteen bit
stack pointer controls the addressing of this external stack. This stack gives the aOaOA the ability to easily handle multiple
level priority interrupts by rapidly storing and restoring processor status. It also provides almost unlimited subroutine nesting.
This microprocessor has been designed to simplify systems design. Separate 16-line address and a-line bi-directional data
busses are used to facilitate easy interface to memory and I/O. Signals to control the interface to memory and I/O are provided directly by the aOaOA. Ultimate control of the address and data busses resides with the HOLD signal. It provides the
ability to suspend processor operation and force the address and data busses into a high impedance state. This permits ORtying these busses with other controlling devices for (DMA) direct memory access or mUlti-processor operation.

5-24

SILICON GATE MOS 8080A-2
ABSOLUTE MAXIMUM RATINGS·
*COMMENT: Stresses above those listed under "Absolute Maximum Ratings" may cause permanent damage to the device.
This is a stress rating only and functional operation of the device at these or any other conditions above those indicated in
the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended
periods may affect device reliability.

Temperature Under Bias
O°C to +70° C
Storage T emperatu re .. . . . . . . . . . . . .. _65° C to + 150° C
All Input or Output Voltages
With Respect to Vas
-0.3V to +20V
Vee, Voo and Vs s With Respect to V ss
-0.3V to +20V
Power Dissipation
. . . . .. 1.5W

D.C. CHARACTERISTICS

= O°C

TA

to 70°C, VOO

= +12V

± 5%, V CC

= +5V ± 5%,

= -5V

± 5%, Vss = OV, Unless Otherwise Noted.

Typ.

Min.

Parameter

Symbol

Vas

Max.

Unit

VILC

Clock Input Low Voltage

Vss-l

Vss+0.8

V

V,HC

Clock Input High Voltage

9.0

Voo+l

V

V,L

Input Low Voltage

Vss - l

Vss+0.8

V

3.3

Vee+ 1

V

0.45

V

Test Condition

V,H

Input High Voltage

VOL

Output Low Voltage

VO H

Output High Voltage

100 (AV)

Avg. Power Supply Current (V oo )

40

70

mA

lee (AV)

Avg. Power Supply Current (Vc c )

60

80

mA

'ss (AV)

Avg. Power Supply Current (V ss )

.01

1

mA

IlL

Input Leakage

±10

J1A

Vss ~ VIN ~ Vec

I Cl

Clock Leakage

±10

J1A

Vss ~ VeLocK ~ Voo

lol[2]

Data Bus Leakage in Input Mode

-100
-2.0

J1A
mA

VSS~VIN ~VsS+O.8V

IFl

3.7

} IOL = 1.9mA on all outputs,
IOH = 150tlA.

V

Address and Data Bus Leakage
During HOLD

+10
-100

Symbol
Cq,
C,N
COUT

Vec = Voo

= VSS = OV,

Parameter
Clock Capacitance
Input Capacitance
Output Capacitance

Max.

Unit

17

25

pf

10

pf

20

= Vec
= VSS + O.45V

TYPICAL SUPPLY CURRENT VS.
TEMPERATURE, NORMALIZED.[3]
1.5,.....-----r-----or----_

Typ.

10

VAOOR/OATA
VAOOR/OATA

VBS = -5V

6

Vss+O.8V~VIN~Vee

J1A

CAPACITANCE
T A = 25°C

} Operation
TCy = .38J,Lsec

Test Condition
fc

= 1 MHz

Unmeasured Pins

to-

Z

w

a::
a::

:>
(J

1.0

>
..J

r------""""=-~---+__--~

Q"
Q"

pf

Returned to Vss

NOTES:
1. The RESET signal must be active for a minimum of 3 clock cycles.
2. When oBIN is high and V,N > VIH an internal active pull up will
be switched onto the Data Bus.
3. AI supply / ATA = -O.45%f C.

:>
(I)

0.5 - - - - - +.1-.----+5"'-0---......J+
0
25
75
AMBIENT TEMPERATURE (OC)

DATA BUS CHARACTERISTIC
DURING DBIN
MAX

°o~--""""'-----_----3llo--

Vee

5-25

SILICON GATE MOS 8080A-2
A.C. CHARACTERISTICS
TA = O°C to 70°C, Vee = +12V

± 5%, VCC

Symbol

= +5V

± 5%, Vss

= -5V

± 5%, Vss

Parameter

= OV, Unless Otherwise Noted

Min.

Max.

Unit

.38

2.0

/lsec

50

nsec

tCy[31

Clock Period

t r , tf

Clock Rise and Fall Time

0

t¢1

(j>1 Pulse Width

60

nsec

!¢2

l/>2 Pulse Width

175

nsec

t01

Delay (j>1 to (j>2

0

nsec

t02

Delay 2 Leading Edges

70

nsec

tOA [2]

Address Output Delay From (j>2

175

nsec

too [2]

Data Output Delay From (j>2

200

nsec

toc [2]

Signal Output Delay From ¢1, or (/>2 (SYNC, WR,WAIT, HLOA)

120

nsec

tOF [2]

DSIN Delay From

140

nsec

tOI[1]

Delay for Input Bus to Enter Input Mode

tOF

nsec

tOS1

Data Setup Time During

TIMING WAVEFORMS

25

lP2

[14]

~1

}CL=50pf

nsec

20

and DBIN

} CL = 100pf

(Note: Timing measurements are made at the following reference voltages: CLOCK "1" = 8.0V
"0" = 1.0V; INPUTS "1" = 3.3V, "0" = 0.8V; OUTPUTS "1" = 2.0V, "0" = 0.8V.)

ift.,
'II

--.

lP1

Test Condition

-I

t CY

-. to,

r~

f\

J

~

71\

}\

- 4 - t2----'1

4~

<1>2

...

A 1S -A

}~

to3~1

--.1

t 02

.-

..

--"i
o - - - - - - - - -........- - lr-----.x=

~

0 7 .0 0

to!

\.-

---l

1-........

1.-

@I

~,...OATA IN

~

~A!.A_O~T

)

, .....

iIIf-- t ow

_,

,---.

~tOS2-'

~ t oc I-+--

-t-1P--------+~\1

------------------+----11

...

/ I - \ -

~tDF-.1

- --+o-----++---+--+--++----t+"--t

-X@ t

READY

-;:r...

lIl

tH_--.
_ _~_;__...

WAIT

t oc --.

HOLD

"" ~H

i

f4--t OO - '

toHI"'-

-~ IJ.....-......---H--.~...-

~ t os1

- . t oc

OBIN

~

~
- - - - - - - - -......."""1

~

J

tAW--++---~·1

---------oo+---....."rl-....------ --,..... . . .J~-t-1.-

SYNC

-

~I-

~J-

~r-

-=t --- -- ---- ------ ----

~tOA~

..-too-'I

-ll

~ ....

1..-

t H -.1

1.-

.-X@ IX

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -......tr
. ~; ....
I~..,..I~- ..........

HLOA

-------------------------------------------,t"-f

INT

~-----------------_-:-'Xr
~ ~t

_~LI~-"""""Ij,..

t,s!=-=

tH~

INTE

5-26

...

SILICON GATE MOS 8080A-2
A.C. CHARACTERISTICS (Continued)
TA = O°C to 70°C, VOD = +12V ± 5%, Vee = +5V ± 5%, V BB = -5V ± 5%, Vss = OV, Unless Otherwise Noted

Symbol

Min.

Parameter

Max.

Unit

tOS2

Data Setup Time to 2 During DBIN

tiE [2]

INTE Output Delay From 1 in Halt Mode)

100

nsec

tH

Hold Time From ep2 (READY, INT, HOLD)

0

nsec

tFD

Delay to Float During Hold (Address and Data Bus)

tAW [2]

Address Stable Prior to WR

[5]

nsec

tow [2]

Output Data Stable Prior to WR

[6]

nsec

tWD[2]

Output Data Stable From WR

[7]

nsec

tWA [2]

Address Stable From WR

[7]

nsec

tHF[2]

HLDA to Float Delay

[8]

nsec

tWF[2]

WR to Float Delay

[9]

nsec

tAH[2]

Address Hold Time After DBIN During HLDA

-20

nsec

Test Condition

nsec

130

nsec

[1]

200

nsec

120

CL = 50pf

nsec

-

CL = 100pf: Address, Data
CL =50pf: WR, HLDA, DBIN

--

-

-

NOTES:
1. Data input should be enabled with DBIN status. No bus conflict can then occur and data hold time is assured.
tOH = 50 ns or tOF. whichever is less.
2. Load Circuit.
t/),

+5V
2.1K
8080A
OUTPUT

A'S-AO

to3. tCY

tWA

0 7 -00

,. -

= t03 + t r4>2 + t4>2 + tf4>2 + t02 + t r4>1
TYPICAL

~

~ 380ns.

OUTPUT DELAY VS.

~

CAPACITANCE

+20,....----.....-------,------y------.

two

.=.

>

SYNC

«-J

+10

w

0
t-

DBIN

O

:::>
Q..

t-

:::>
0

-10

<1

WR

o

-50

t oc

READY

~

+50

+100

CAPACITANCE (pf)
(CACTUAL - C SPEC )

WAIT

HOLD

I-... t oc

HLDA

INT

INTE I

.-

4. The following are relevant when interfacing the 8080A to devices having V,H = 3.3V:
a) Maximum output rise time from .8V to 3.3V = 100ns @ CL = SPEC.
b) Output delay when measured to 3.0V = SPEC +60ns @ CL = SPEC.
c) If CL #: SPEC, add .6ns/pF if CL> CSPEC, subtract .3ns/pF (from modified delay) if CL < CSPEC.
5. tAW = 2 tCY -t03 -t r2 -130nsec.
.
6. tow = tCY -t03 -tr4>2 -170n5ec.
7. If not HLOA, two =twA = tD3 + t r2 +10n5. If HLDA, two = twA = tWF.
8. t HF = t03 + t r 4>2 -SOns.
9. twF = t03 + t rcf)2 -10ns
10. Data in must be stable for this period during DBIN °T3. Both tOS1 and tOS2 must be satisfied.
11. Ready signal must be stable for this period during T2 or TW. (Must be externally synchronized.)
12. Hold signal must be stable for this period during T2 or TW when entering hold mode, and during T3, T4, T5
and TWH when in hold mode. (External synchronization is not required.)
13. Interrupt signal must be uable during this period of the last clock cycle of any instruction in order to be
recognized on the followi,1g instruction. (External synchronization is not required.)
14. This timing diagram shows timing relationships only; it does not represent any s~ific machine cycle.

5-27

intel®.

Silicon Gate MOS M8080A

SINGLE CHIP 8-BIT N-CHANNEL MICROPROCESSOR
• Sixteen Bit Stack Pointer and Stack
Manipulation Instructions for Rapid
Switching of the Program Environment

• Full Military Temperature Range
-55°C to +125°C
• ±10% Power Supply Tolerance
• 2 J-Ls Instruction Cycle
• Powerful Problem Solving
Instruction Set

• Decimal,Binary and Double
Precision Arithmetic
• Ability to Provide Priority Vectored
Interrupts

• Six General Purpose Registers
and an Accumulator

• 512 Directly Addressed I/O Ports

• Sixteen Bit Program Counter for
Directly Addressing up to 64K Bytes
of Memory

• TTL Drive Capability

The Intel® MaOaOA is a complete a-bit parallel central processing unit (CPU). It is fabricated on a single LSI chip using Intel's
n-channel silicon gate MaS process. This offers the user a high performance solution to control and processing applications.
The MaOaOA contains six a-bit general purpose working registers and an accumulator. The six general purpose registers may be
addressed individually or in pairs providing both single and double precision operators. Arithmetic and logical instructions set
or reset four testable flags. A fifth flag provides decimal arithmetic operation.
The MaOaOA has an external stack feature wherein any portion of memory may be used as a last in/first out stack to store/
retrieve the contents of the accumulator, flags, program counter and all of the six general purpose registers. The sixteen bit
stack pointer controls the addressing of this external stack. This stack gives the MaOaOA the ability to easily handle multiple
level priority interrupts by rapidly storing and restoring processor status. It also provides almost unlimited subroutine nesting.
This microprocessor has been designed to simplify systems design. Separate l6-line address and a-line bi-directional data
busses are used to facilitate easy interface to memory and I/O. Signals to control the interface to memory and I/O are provided directly by the MaOaOA. Ultimate control of the address and data busses resides with the HOLD signal. It provides the
ability to suspend processor operation and force the address and data busses into a high impedance state. This permits ORtying these busses with other controlling devices for (DMA) direct memory access or mUlti-processor operation.

5-29

SILICON GATE MOS M8080A
INSTRUCTION SET
The accumulator group instructions include arithmetic and
logical operators with direct, indirect, and immediate addressing modes.

increment and decrement memory, the six general registers
and the accumulator is provided as well as extended increment and decrement instructions to operate on the register
pairs and stack pointer. Further capability is provided by
the ability to rotate the accumulator left or right through
or arou nd the carry bit.

Move, load, and store instruction groups provide the ability
to move either 8 or 16 bits of data between memory, the
six working registers and the accumulator using direct, indirect, and immediate addressing modes.
The abil ity to branch to different portions of the program
is provided with jump, jump conditional, and computed
jumps. Also the ability to call to and return from subroutines is provided both conditionally and unconditionally.
The RESTART (or single byte call instruction) is useful for
interrupt vector operation.
Double precision operators such as stack manipulation and
double add instructions extend both the arithmetic and
interrupt handling capability of the MaOaOA. The ability to

Input and output may be accomplished using memory ad- .
dresses as I/O ports or the directly addressed I/O provided
for in the MaOaOA instruction set.
The following special instruction group completes the
Ma080A instruction set: the NOP instruction, HALT to stop
processor execution and the DAA instructions provide decimal arithmetic capability. STC allows the carry flag to be directly set, and the CMC instruction allows it to be complemented. CMA complements the contents of the accumulator
and XCHG exchanges the contents of two 16-bit register
pairs directly.

Data and Instruction Formats
Data in the M80aOA is stored in the form of 8-bit binary integers. All data transfers to the system data bus will be in the
same format.
ID 7 D6 Ds D4 D3 D2 D1 Dol
DATA WORD
The program instructions may be one, two, or three bytes in length. Multiple byte instructions must be stored
in successive words in program memory. The instruction formats then depend on the particu lar operation
executed.
TYPICAL INSTRUCTIONS

One Byte Instructions

I0

7

Register to regist~r, memory reference, arithmetic or logical, rotate,
return, push, pop, enable or disable
Interrupt instructions

06 05 0 4 03 02 OLDOJ OPCOOE

Two Byte Instru·ctions

I OP CODE
D1 DO I OPERAND

1 0 7 D6 D5 D4 D3 D2 D, DO

D D
1 0 7 D6 D5 D4 3 2

Immediate mode or I/O instructions

Three Byte Instructions

I OP CODE
D1 DO I LOW ADDRESS OR OPERAND 1
0 1 DO I HIGH ADDRESSOR OPERAND 2

1 0 7 D6 Os 04 03 D2 0 1 DO

0 3 O2
1 0 7 D6 Os 04
1

0 7 D6 Ds 04 D3 D2

Jump, call or direct load and store
instructions

For the M80aOA a logic "1" is defined as a high level and a logic "0" is defined as a low level.

5-30

SILICON GATE MOS M8080A
INSTRUCTION SET
Summary of Processor Instructions

Mnemonic

Description

07 06

MOV r1 ,r2
MOV M,r
MOVr,M
HlT
MVIr
MVIM
INR r
OCR r
INR M
OCR M
ADO r
ADC r
SUB r
SBB r

Move register to register
Move register to memory
Move memory to register
Halt
Move immediate register
Move immediate memory
Increment register
Decrement register
Increment memory
Decrement memory
Add register to A
Add register to A with carry
Subtract register from A
Subtract register from A
with borrow
And register with A
Exclusive Or register with A
Or register with A
Compare register with A
Add memory to A
Add memory to A with carry
Subtract memory from A
Subtract memory from A
with borrow
And memory with A
Exclusive ar memory with A
Or memory with A
Compare memory with A
Add immediate to A
Add immediate to A with
carry
Subtract immediate from A
Subtract immediate from A
with borrow
And immediate with A
Exclusive Or immediate with
A
Or immediate with A
Compare immediate with A
Rotate A left
Rotate A right
Rotate A left through carry
Rotate A right through
carry
Jump unconditional
Jump on carry
Jump on no carry
Jump on zero
Jump on no zero
Jump on positive
Jump on minus
Jump on parity even
Jump on parity odd
Call unconditional
Call on carry
Call on no carry
Call on zero
Call on no zero
Call on positive
Call on minus
Call on parity even
Call on parity odd
Return
Return on carry
Return on no carry

0
0
0
0
0
0
0
0
0
0
1
1
1
1

ANA r
XRA r
ORA r
CMPr
ADD M
AOC M
SUB M
SBB M
ANAM
XRA M
ORA M
CMPM
ADI
ACI
SUI
SBI
ANI
XRI
ORI
CPI
RLC
RRC
RAL
RAR
JMP
JC
JNC
JZ
JNZ
JP
JM
JPE
JPO
CALL
CC
CNC
CZ
CNZ
CP
CM
CPE
CPO
RET
RC
RNC

NOTES:

Instruction Code (1)
Os 04 03 02 0, Do

1
1
1
1
0
0
0
0
0
0
0
0
0
0

0
1
0
1
0
1
0
0
1
1
0
0
0
0

0
1
0
1
0
1
0
0
1
1
0
0
1
1

0
0
0
0
0
0
0
0
0
0
0
1
0
1

S
S
1
1
1
1
1
1
1
1
S
S
S
S

S
S
1
1
1
1
0
0
0
0
S
S
S
S

S
S
0
0
0
0
0
1
0
1
S
S
S
S

5
7
7
7
7
10
5
5
10
10
4
4
4
4

0
0
0
0
0
0
0
0

1
1
1
1
0
0
0
0

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

S
S
S
S
1
1
1
1

S
S
S
S
1
1
1
1

S
S
S
S
0
0
0
0

4
4
4
4
7
7
7
7

0
0
0
0
1
1

1
1
1
1
0
0

0
0
1
1
0
0

0
0
0
0
0
0

0
0
1
1
0
0
0
0

Clock (21
Cycles

1
1
0
0
0
0

0
0

1
1
0
0
0
0

1
1
0
0
1
1

0
1
0
1
0
1

0
0
0
0
0
1

0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1

0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
0

1

1
1
0
0
0
0
0
1
1
1
1
0
0
0

7
7
4
4
4
4
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0

1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0

1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0

10
10
10
10
10
10
10
10
10
17
11/17
11/17
11/17
11/17
11/17
11/17
llf17
l1f17

10
5/11
5/11

Mnemonic

Description

RZ
RNZ
RP
RM
RPE
RPO
RST
IN
OUT
LXI B

Return on zero
Return on no zero
Return on positive
Return on minus
Return on parity even
Return on parity odd
Restart
Input
Output
Load Immediate register
Pair B & C
LXI 0
Load immediate register
Pair 0 & E
LXI H
Load immediate register
Pair H & L
LXISP
Load immediate stack pointer
PUSH B
Push register Pair B & C on
stack
PUSH 0
Push register Pair 0 & E on
stack
PUSH H
Push register Pair H & L on
stack
PUSH PSW Push A and Flags
on stack
POP B
Pop register pair B & C off
stack
POP 0
Pop register pair 0 & E off
stack
POP H
Pop register pair H & L off
stack
POP PSW
Pop A and Flags
off stack
STA
Store A direct
LOA
Load A direct
XCHG
Exchange 0 & E, H & L
Registers
XTHL
Exchange top of stack, H& L
SPHL
H & L to stack pointer
PCHL
H & L to program counter
DAD B
Add B & C to H & L
DAD 0
Add 0 & E to H & L
DAD H
Add H & L to H & L
DAD SP
Add stack pointer to H & l
STAX B
Store A indirect
STAX 0
Store A indirect
LOAX B
Load A indirect
Load A indirect
LOAX 0
INX B
Increment B & C registers
INX 0
Increment 0 & E registers
INX H
Increment H & L registers
INX SP
Increment stack pointer
OCX B
Decrement B & C
OCX 0
Decrement 0 & E
OCX H
Decrement H & L
OCX SP
Decrement stack pointer
CMA
Complement A
STC
Set carry
CMC
Complement carry
OAA
Decimal adjust A
SHLD
Store H & l direct
LHlO
Load H & L direct
EI
Enable Interrupts
01
Disable interrupt
NOP
No-operation

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.

07 06

Instruction Code [n
Os 04 03 02 0 1 00

1
1
1
1
1
1
1
1
1
0

0
0
1
1
1
1
A
0
0
0

1
1
1
1
1
1
1
1
1
0

0
0
1
1
0
0
A
1
1
0

1 0
0 0
0 0
1 0
1 0
0 0
A 1
1 0
0 0
0 0

0
C
0
0
0
0
1
1
1
0

0
0
0
0
0
0
1
1
1
1

Clock (2)
Cycles

5/11
5/11
5/11
5/11
5/11
5/11
11
10
10
10
10

0

10
0
0

0
0

10
11
11
11

0

0

11

0

10
10
10
10

0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0

1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0

0
0
0
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0

0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0

0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
1
0
0
1
1
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0

1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0

0
0
1

13
13
4

1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0

18
5
5
10
10
10
10
7
7
7
7
5
5
5
5
5
5
5
5
4
4
4
4
16
16
4
4
4

SILICON GATE MOS M8080A
M8080A FUNCTIONAL PIN DEFINITION

The following describes the function of all of the M8080A I/O
pi ns. Several of the descriptions refer to internal tim ing periods.

1
2
3
4

A15-AO (output' three~state)
ADDRESS BUS; the address bus provides the address to memory
(up to 64K 8-bit words) or denotes the I/O device number for up
to 256 input and 256 output devices. Ao is the least significant
address bit.

5

07 -Do (input/output three-state)
DATA BUS; the data bus provides bi-directional communication
between the CPU, memory, and I/O devices for instructions and
data transfers. Also, during the first clock cycle of each machine
cycle, the M8080A outputs a status word on the data bus that describes the current machine cycle. Do is the least significant bit.
SYNC (output)
SYNCHRONIZING SIGNAL; the SYNC pin provides a signal to
indicate the beginning of each machine cycle.
WR

DBIN (output)

DATA BUS IN; the DBIN signal indicates to external circuits that
the data bus is in the input mode. This signal should be used to
enable the gating of data onto the M8080A data bus from memory
or I/O.
READY (input)

READY; the READY signal indicates to the M8080A that valid
memory or input data is available on the M8080A data bus. This
signal is used to synchronize the CPU with slower memory or I/O
devices. If after sending an address out the M8080A does not receive a READY input, the M8080A will enter a WAIT state for as
long as the READY line is low. READY can also be used to single
step the CPU.
WAIT (output)

WAIT; the WAIT signal acknowledges that the CPU is in a WAIT
state.
WR (output)
WRITE; the WR signal is used for memory WRITE or I/O output
control. The data on the data bus is stable while the WR signal is
active low (WR = 0).
HOLD (input)
HO LD; the HO LD signal requests the CPU to enter the HO LD
state. The HO LD state allows an external device to gain control
of the M8080A address and data bus as soon as the M8080A has
completed its use of these buses for the current machine cycle. It
is recognized under the following conditions:
• the CPU is in the HALT state.
• the CPU is in the T2 or TW state and the READY signal is active.
As a result of entering the HOLD state the CPU ADDRESS BUS
(A 15 -A o ) and DATA BUS (0 7 -0 0 ) will be in their high impedance
state. The CPU acknowledges its state with the HOLD ACKNOWLEDGE (HLDA) pin.
HLDA (output)
HOLD ACKNOWLEDGE; the HLDA signal appears in response
to the HOLD signal and indicates that the data and address bus

SYNC

+5V

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

INTE~
M8080A

40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21

All
A14
A13
A12
o A1S
o Ag
As
o A7
A6
As
o A4
A3
+12V

A2
Al
Ao
WAIT
READY

¢l
HLDA

Pin Configuration

will go to the high impedance state. The H LOA signal begins at:
• T3 for READ memory or input.
• The Clock Period following T3 for WR ITE memory or OUTPUT operation.
In either case, the H LOA signal appears after the rising edge of (/)1
and high impedance occurs after the rising edge of (/)2.
INTE (output)
INTE R RUPT ENAB LE; indicates the content of the internal interrupt enable flip/flop. This flip/flop may be set or reset by the Enable and Disable Interrupt instructions and inhibits interrupts
from being accepted by the CPU when it is reset. It is automatically reset (disabling further interrupts) at time T 1 of the instruction fetch cycle (M 1) when an interrupt is accepted and is
also reset by the RESET signal.
INT (input)
INTERRUPT REQUEST; the CPU recognizes an interrupt request on this line at the end of the current instruction or while
halted. If the CPU is in the HOLD state or if the Interrupt Enable
flip/flop is reset it will not honor the request.
RESET (input) [1]

RESET; while the RESET signal is activated, the content of the
program counter is cleared. After RESET, the program will start
at location 0 in memory. The INTE and HLDA flip/flops are also
reset. Note that the flags, accumulator, stack pointer, and registers
are not cleared.
Vss
Ground Reference
Vee
+12 Volts ±10%.
Vee
+5 Volts ±10%.
Vs s
-5 Volts ±10%.
¢1, ¢2 2 externally supplied clock phases. (non TTL compatible)

5-32

SILICON GATE MOS M8080A
ABSOLUTE MAXIMUM RATINGS*
Temperature Under Bias
-55°C to +125°C
Storage T emperatu re .. . . . . . . . . . . . . . _65° C to + 150° C
All Input or Output Voltages
With Respect to VBB
-0.3V to +20V
Vcc, Voo and Vss With Respect to VBB
-0.3V to +20V
Power Dissipation
. . . . . . . . . . . .. 1.7W

*COMMENT: Stresses above those listed under "Absolute Maximum Ratings" may cause permanent damage to the device.
This is a stress rating only and functional operation of the device at these or any other conditions above those indicated in
the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended
periods may affect device reliability.

D.C. CHARACTERISTICS
TA = -55°C to +125°C, VOD = +12V ±10%, Vee = +5V ±10%, VBB = -5V ±10%, Vss = OV, Unless Otherwise Noted.
Symbol

Min.

Parameter

Typ.

Max.

Unit

Test Condition

VILC

Clock Input Low Voltage

Vss-l

Vss+0.8

V

VIHC

Clock Input High Voltage

8.5

Voo+1

V

V IL

Input Low Voltage

Vss-l

Vss +0.8

V

V IH

Input High Voltage

3.0

Vcc+1

V

VOL

Output Low Voltage

0.45

V

VO H

Output High Voltage

IOD(AV)

Avg. Power Supply Current (V oo )

50

80

rnA

ICC (AV)

Avg. Power Supply Current (Vec)

60

100

mA

IBB(AV)

Avg. Power Supply Current (V BB )

.01

1

mA

IlL

Input Leakage

±10

J1A

Vss ~ VIN ~ V cc

I CL
I DL [2]

Clock Leakage

±10

J1A

Vss ~ VCLOCK ~ VDD

Data Bus Leakage in I nput Mode

-100
-2.0

J1A
rnA

VSS ~VIN ~VSS +O.~V

+10
-100

J1A

IFL

} IOL

Address and Data Bus Leakage
During HOLD

} Operation
T Cy

= 25°C

Vec

Symbol
C¢

= V OD

VADDR/DATA
VADDR/DATA

Clock Capacitance

CIN

I nput Capacitance

CO UT

Output Capacitance

= VCC
= Vss + O.45V

TYPICAL SUPPLY CURRENT VS.
TEMPERATURE, NORMALIZEO.l3]

= Vss = OV, VBB =-5V

Parameter

= .48 J.1.sec

VSS +0.8V ~VIN ~VCC

CAPACITANCE
TA

= 1.9mA on all outputs,

IOH = 150J-lA.

V

3.7

1.5,.....------r-----------,

Typ.

Max.

Unit

17

25

pf

Test Condition

I-

2

~

fc = 1 MHz

a:

1.0

J---------:::::l~I------______I

0.5

t------J-------______I

:::>

u

6

10

pf

Unmeasured Pins

>
...J

10

20

pf

Returned to Vss

en

8:
:::>

NOTES:
1. The RESET signal must be active for a minimum of 3 clock cycles.
2. When DBIN is high and VIN > VIH an internal active pull up will

-55

+50
AMBIENT TEMPERATURE

be switched onto the Oata Bus.
= -0.45%/ C.

+125

rc)

3. ~ I supply / ~ TA

DATA BUS CHARACTERISTIC
DURING DBIN
MAX

°0"----------------------30-Vee

SILICON GATE MOS M8080A
A.C. CHARACTERISTICS (Continued)
TA

= -55°C to

+125°C, VOO

= +12V ±10%, Vee = +5V ±10%, VBB = -5V ±10%, Vss = OV, Unless Otherwise Noted.

Symbol

Min.

Parameter

Max.

Unit

130

nsee

50

nsee

tOS2

Data Setup Time to ¢2 During DBIN

tOH [1]

Data Hold Time From ¢2 During DBIN

tiE (2)

INTE Output Delay From ¢2

tRS

READY Setup Time During ¢2

120

nsee

tHS

HOLD Setup Time to ¢2

140

nsee

tiS

INT Setup Time During ¢2 (During 4>1 in Halt Mode)

120

nsee

tH

Hold Time From ¢2 (READY, INT, HOLD)

0

nsee

tFD

Delay to Float During Hold (Address and Data Bus)

tAW [2]

Address Stable Prior to WR

[5]

nsee

tDW[2]

Output Data Stable Prior to WR

[6]

nsee

tWD[2]

Output Data Stable From WR

[7]

nsee

tWA [2]

Address Stable From WR

[7]

nsee

tHF[2]

H LOA to Float Delay

[8]

nsee

tWF[2]

WR to Float Delay

[9]

nsee

tAH [2]

Address Hold Time After DBIN During HLDA

-20

nsee

200

130

Test Condition

CL = 50pf

nsee

nsee

-

~

C L =50pf

-

NOTES:
1. Data input should be enabled with OBIN status. No bus conflict can then occur and data hold time is assured.
tOH = 50 ns or tOF, whichever is less.
2. Load Circuit.
+5V

8080A
OUTPUT

3. tey = t03 + t r q,2 + tq,2 + tfq,2 + tD2 + t r q,l ~ 480ns.

..........

TYPICAL

-----..... ---

~--- .......

+20

oS
>

SYNC

«

~

OUTPUT DELAY VS.

~

CAPACITANCE

r-----~---~---_---_

+10

..J

w
0

DBIN

....
:::J
Q.
....

0

0

-10

:::J
-1

-20
-100

o

-50
~

READY

+50

+100

CAPAC IT ANCE (pf)
(CACTUAL - CSPEC )

WAIT

HOLD

4. The following are relevant when interfacing the M8080A to devices having VI H

fa-

*

~ t

HLDA

INT

INTE

oe ' -

= 3.3V:

a) Maximum output r'ise time from .8V to 3.3V = lOOns @ CL = SPEC.
b) Output delay when measured to 3.0V = SPEC +60n5 @ CL = SPEC.
d If CL SPEC, add .6ns/pF if CL> CSPEC, subtract .3n5/pF (from modified delay) if CL
5. tAW = 2 tey -t03 -t rct>2 -140nsec.
6. tow = tCY -t03 -t rep2 -170nsec.
7. If not HLOA, two = tWA = t03 + t r¢2 +10ns. If HLOA, two = tWA = tWF·

< CSPEC.

t H F = t03 + t r q,2 -50ns.
tWF = tD3 + t r 2 -10ns
Data in must be stable for this period during DBIN ·T3. Both tOS1 and tOS2 must be satisfied.
Ready signal must be stable for this perio~ during T2 or TW. (Must be externally synchronized.)
Hold signal must be stable for this period during T 2 or TW when entering hold mode, and during T3, T 4, T 5
and TWH when in hold mode. (External synchronization is not required.~
13. Interrupt signal must be stable during this period of the last clock cycle of any instruction in order to be
recognized on the following instruction. (External synchronization is not required.)
14. This timing diagram shows timing relationships only; it does not represent any specific machine cycle.

8.
9.
10.
11.
12.

5-34

SILICON GATE MOS M8080A
A.C. CHARACTERISTICS
TA

= -55°C to +125°C, Voo = +12V ±10%, Vee = +5V ±10%, VBB = -5V ±10%, Vss = OV, Unless Otherwise Noted.

Symbol

Parameter

Min.

Max.

Unit

0.48

2.0

Jisec

50

nsec

tCy[3]

Clock Period

t r , tf

Clock Rise and Fall Time

0

t(/>l

epl

Pulse Width

60

nsec

tep2

cI>2 Pulse Width

220

nsec

t01

Delay

epl

to 4>2

0

nsec

t02

Delay ~2 to ~1

80

nsec

t03

Delay ~1 to ~2 Leading Edges

80

nsec

tOA [2)

Address Output Delay From

too [2]

Data Output Delay From ~2

toc [2]

Signal Output Delay From

tOF [2]

DBIN Delay From

tOI[l)

Delay for Input Bus to Enter Input Mode

tOSl

Data Setup Time During

TIMING WAVEFORMS

I

~1,

or

~2

200

nsec

220

nsec

140

nsec

150

nsec

tOF

nsec

(SYNC, WR,WAIT,HLDA)

ep2

25

[14]

--.

~2

~1

-

- CL

= 50pf

-

nsec

30

and DBIN

Test Condition

(Note: Timing measurements are made at the following reference voltages: CLOCK "1" = 7.0V,
"0" = 1.0V; INPUTS "1" = 3.0V, "0" = 0.8V; OUTPUTS "1" = 2.0V, "0" = 0.8V.)

..
01
F\I

·t ey

r~

f\

...-to2 - "

1-

7~

-J
.... t o3 .....!

--.1

--x
...-t OA

-'!

.--too--'I

...

r

T
- . t oc

14-

t\

t 02

~

~~

Jf\
..,

r-

~

I~

~ .....

~

.--

..

-

-=1 --- --

-.

to!

1'-

--t

t oH

I4--

--- ----~~

~--- ~--

-\-

--.

i

f.--t OO - '

------ __+:=: J~~A I~ ~
- 'osl1=-1
_I

)

I

DATA

-- - -----

~--

.. ~tow

~

OUT

..- t OS2 - '

i

I

tocl..-

t

....

I

toF~1

!

-~~-------L

--tRsl~
~@

------------

t H --.

WAIT

t oc
,tHil'-

r.-t oc -"'"

HOLD

-f

!

i

I

~t

READY

r
I

- - ~tAW

~
~toF-.1

DBIN

01
1

1

....,~

SYNC

--.

-\

~I

&~~I
IRS""':' loe -I I
I

1-

I

li
_

t H -.;

I@

1·-

I~

--.r~;I~
HLDA

-I~ ~~
[I-

INT

tH~

INTE

5-35

....

ROMs
8702A
8704
8708

8302
8308
8316A

Silicon Gate MOS 8702A
2048 BIT ERASABLE AND ELECTRICALLY
REPROGRAMMABLE READ ONLY MEMORY
• Access Time -1.3 ~sec
Max.
• Fast Programming - 2 Minutes for
All 2048 Bits
• Fully Decoded, 256 x 8 Organization
• Static MOS - No Clocks Required

• Inputs and Outputs TTL Compatible
• Three-State Output Capability

OR-Tie

• Simple Memory Expansion Chip
Select Input Lead

The 8702A is a 256 word by 8 bit electrically programmable ROM ideally suited for microcomputer system
development where fast turn-around and pattern experimentation are important. The 8702A undergoes
complete programming and functional testing on each bit position prior to shipment, thus insuring 100%
programmability.
The 8702A is packaged in a 24 pin dual-in line package with a transparent quartz lid. The transparent quartz
lid allows the user to expose the chip to ultraviolet light to erase the bit pattern. A new pattern can then be
written into the device. This procedure can be repeated as many times as required.
The circuitry of the 8702A is entirely static; no clocks are required.
A pin-for-pin metal mask programmed ROM, the Intel 8302, is ideal for large volume production runs
systems initially using the 8702A.

~f

The 8702A is fabricated with silicon gate technology. This low threshold technology allows the design and
production of higher performance MOS circuits and provides a higher functional density on a monolithic
chip than conventional MOS technologies.
BLOCK DIAGRAM

PIN CONFIGURATION
A2

Voo

A,

Vee

Ao

Vee

*DATA OUT 1

A3

*DATA OUT 2

A4

*DATA OUT 3

As

*DATA OUT 4

A6

*DATA OUT 5

A7

DATA OUT 1

OUTPUT
BUFFERS

PROGRAM ........

2048 BIT
PROM MATRIX
(256 X 8)

*DATA OUT 6

9

16

VGG

*DATA OUT 7

10

15

Vee

*DATA OUT 8

11 (MSB)

14

CS

12

13

PROGRAM

Vee

DATA OUT 8

*THIS PIN IS THE DATA INPUT LEAD DURING PROGRAMMING.

PIN NAMES
ADDRESS INPUTS

Ao-A7
CS

CHIP SELECT INPUT

001- 002

DATA OUTPUTS

5-37

SILICON GATE MOS 8702A
PIN CONNECTIONS
The external lead connections to the 8702A differ, depending on whether the device is being programmed (1) or used in read.
mode. (See following table.)

12

15

14

13

16

22

23

(Vee)

(Vee)

(Vee)

(Program)

(CS)·

(VBB )

(VGG

Read

Vee

Vee

Vee

VGG

Vee

Vee

Programming

GND

Program Pulse

GND
GND

Vee

Pulsed VGG (V, L4P )

GND

GND

MODE

.

)

ABSOLUTE MAXIMUM RATINGS·
0

*COMMENT

Ambient Temperature Under Bias
OOC to + 70 C
Storage Temperature
-65°C to +125 0 C
Soldering Temperature of Leads (10 sec) . . . . . . .. +300 oC
Power Dissipation
2 Watts
Read Operation: Input Voltages and Supply

Stresses above those listed under"Absolute Maximum Ratings" may cause permanent damage to the device. This is a
stress rating only and functional operation of the device at
these or at any other condition above those indicated in
the operational sections of this specification is not implied.
Exposure to Absolute Maximum Rating conditions for extended periods may affect device rei iabil ity.

Voltages with respect to Vee
+0.5V to -20V
Program Operation: Input Voltages and Supply
Voltages with respect to Vee

-48V

READ OPERATION
D.C. AND OPERATING CHARACTERISTICS
.
(2)
.
TA = aoc to 70oC, Vee = +5V±5%, Voo = -9V±5%, VGG = -9V±5%, unless otherwise noted.
TypJ3) MAX.

SYMBOL

TEST

III

Address and Ch ip Select
Input Load Current

10

fJA

V IN = O.OV

I lO

Output Leakage Current

10

JJA

V OUT = O.OV, CS = Vee -2

1000

Power Supply Current

5

10

mA

VGG=Vee,CS=Vee-2
10l = O.OmA, T A = 2Soc

1001

Power Supply Current

35

SO

mA

CS=Vcc -2
10l =O.OmA, T A = 2SoC

1002

Power Supply Current

32

46

mA

CS=O.O

MIN.

UNIT

CONDITIONS

""'"

10l =O.OmA, T A = 2SoC

Note 1:
Note 2:
Note 3:

1003

Power Supply Current

38.5

60

mA

CS=Vec -2
10l =O.OmA , T A = OOC

leF1

Output Clamp Current

8

14

mA

V OUT = -l.QV, T A = OOC
V
= -1.0V, TA = 2SoC
OUT

leF2

Output Clamp Current

13

mA

IGG

Gate Supply Current

10

fJA

V,l1

Input Low Voltage for

n

0.65

-1.0

> Continuous
Operation

~

V

L Interface

V1L2

Input Low Voltage for
MOS Interface

V 1H

Address and Chip Select
Input High Voltage

IOl

Output Sink Current

VOL

Output Low Voltage

V OH

Output High Voltage

Voo

Vec- 6

V

V cc -2

Vee +0.3

V

1.6

mA

4

-.7

0.45

3.5

V OUT = 0.45V

V

IOl

V

IOH

= 1.6mA
= -2001lA

In the programming mode, the data inputs 1-8 are pins 4-11 respectively. es = GN O.
VGG may be clocked to reduce power dissipation. In this mode average 100 increases in proportion to VGG duty cycle. (See p. 5)
0
Typical values are at nominal voltages and T A = 25 C.

5-38

SILICON GATE MOS 8702A

A.C. CHARACTERISTICS

TA

= 00 C to +70°C, Vcc = +5V ±5%, Voo

=

-9V ±5%, VGG

MINIMUM

TEST

SYMBOL

= -9V ±5% unless otherwise noted
TYPICAL

MAXIMUM

UNIT

1

Freq.

Repetition Rate

tOH

Previous read data val id

100

ns

tAcc
t ovGG

Address to output delay

1.3

p.s

400

JlS
ns

Clocked VGG set up
Chip select delay

t es

[2]

MHz

1.0

teo

Output delay from CS

900

ns

too

Output deselect

400

ns

tOHC

Data out hold in clocked VGG mode (Note 1)

5

JlS

Note 1.

The output will remain valid for tOHe as long as clocked VGG is at Vee. An address change may occur as soon as the output is sensed
(clocked VGG may still be at Vee). Data becomes invalid for the old address when clocked VGG is returned to VGG.

2. For this option please specify 8702AL

CAPACITANCE*
SYMBOL

~

TEST

MINIMUM

C 1N

Input Capacitance

COUT
C VGG

Output Capacitance

TYPICAL

MAXIMUM

UNIT

8

15

pF

10

15

pF

30

pF

VGG Capacitance
(Clocked VGG Mode)

CONDITIONS

'1N= Vee }
CS = Vce
VOUT = Vee
VGG = Vce

All
unused pins
are at A.C.
ground

This parameter is periodically sampled and is not 100% tested.

B)

Clocked V GG Operation

SWITCHING CHARACTERISTICS

xl

~

CYCLE: TIME - 1 FREO

'-

VIHXI,0"lo
ADDRESS

~

I

V I------------..J

Conditions of Test:
Input pulse amplitudes: 0 to 4V; t R ' t F ::; 50 ns .
Output load is 1 TTL gate; measurements made
at output of TTL gate (t pD ~ 15 ns)

._ 90%

1L

•

\1

•
I~---

I

'
Cs

VIH

1

1

1

:

I---~Ons_____'

\1--------11---------Vcc\~ :
J
I:r---- ----i :
I

V1L

-I I.-

A) Constant VGG Operation

--XI
CYCLE TIME

I

1H

V

){~10%
I

ADDRESS

V1l

_

1H
V

cs

I/F REO

CLOCKED
GG
V
Vee;

90%

----I

t cs

ill
I.....

I

V1l

~

I

I

' :

t--

:

/:

GG

toH--1

V

I

,H

I

ADDRESS

,
I

v:

V
V1L

.A

,,,r---;;... .

VGG

10%

V OH
DATA
OUT

VOL

DATA

---fe'

I
I

-l

I

tOD~

GG

::
I

I

/

I" t l - - - - - - J I

I

I

I

~50ns

~~~:

\

: . - tACC - - - \•

V O l ~

too -

V

teo

L·'·';

DV

-

---:

I

cs
-

~~Ons

-,

I

VCC, \ ' :
CLOCKED
VGG

---7
I

NOTE 2

'\

~~t

I
I
I
I

I

1L

CS

V1l

I

I

V 1----------------I
I

---f

~. 'OHC
I

I
I

DESELECTIDN OF DATA OUTPUT IN DR·TlE OPERATION

,H

V 1H

\--

(SEE NOTE 11

-I

DATA
OUT

I

VOH 7DATA
l
OUT

:

DV

tACC

------------J, . . . .- ---

~

"I

t

{'
..J

NOTE 1: The output will remain valid tor tOHe as long as clocked VGG
is at Vee. An address change may occur as soon as the output is sensed
(clocked VGG may still be at Vee!. Data becomes invalid for the old
address when clocked VGG is returned to VGG'

f-

~OTE 2: It CS makes a transition from VI L to VIH while clocked VGG
IS at VGG. then deselection of output occurs at too as shown in static
operation with constant VGG.

5-39

SILICON GATE MOS 8702A

TYPICAL CHARACTERISTICS
OUTPUT CURRENT VS.
VDO SUPPLY VOLTAGE

'00 CURRENT VS. TEMPERATURE
39

38
37
36

1

35

33

~

32

o

_0

v oo = -9V

r\

\

'\

f'\

I" ~

31

29

I

'"

~

z

I

Vaa:l -9V

II

~

--

.P
~

~

-~

!

_.

I

-

-5

~

.~

-6

-3

~

80

100

120

AMBIENT TEMPERATURE (OCI

VOH '" O.OV

=>

TA

-3.5 t--+-~

'" 25°C

10

0

!

I

I-

ffi
a:

-I-~~iii'it---I-----j

V GG '" -9V

~

~

~

-8

= +SV

V CC

a

60

-7

V oo SUPPLY VOLTAGE (V)
I
I

I-

--~

-+-_~M--+----i

I
20 30
50 60 70 80
AjBIENT TEMPERATURE (oCI

do

a:

Vee' +5V

w

V oo

=>
u.
u
a:
=>

-3

I--- I-

0
en

I-

=-9V

I

V aa = -9V
V OH = O.OV

i:...

~ I---

=>

0

%

2-4L-_"""'--_.........._

............_

I--- ~

~

--~

rr

%

.........._----'_ _L.-----'

_0

-4

OUTPUT SINK CURRENT
VS. OUTPUT VOLTAGE
AVERAGE CURRENT VS. DUTY
CYCLE FOR CLOCKED VGG
45

~

!

...

V CC

12.0

~

:ll:

-

I-

~=>

I

~

I

0

..F

O.OV

30

6.0

ffi

>
c(

+1

[

T4

'" 25°C

20

f-

15

o
-1

-i.-

'" V 1H

+3

+2

I

.--V

I

----

'000 5

-2

I

25

10

-3

'" -9V

cs

w

C)
c(

0

-4

V oo

1001 35

'" 25°C

f-CS '"

I

'" -9V

8.0

en

., -9V

V GG

!

I

I I -L

i CLOCKED VGG

TA
I

I

!

!

40

V DD '" -9V

a:
a: 10.0
=>
u
Z

'" +5V

+4

o

V

~

10

-

V

~ ............

I

~

I

~

:

!

20

30

............

-'

~

~1.--""
i
I i
I

!

i

r

II

,

I

i
40

50

60

70

80

90

DUTY CYCLE 1%)

OUTPUT VOLTAGE (VOL TS)

ACCESS TIME VS.
LOAD CAPACITANCE

ACCESS TIME VS.
TEMPERATURE

1400 ----.,..-.,.----.,..-~--r--r---r--r-__r____,

1400

---.--..----.--..----r--r--,--r---r----,

1300 ~-I--~_l_-~_+_-f--_+___If----+-___i

1300

~--+--+-__+_-t-__+_-t--t--+---+----t

1200 ~--+--f--__+_-f--_+_-f----+-__If----+---i

1200

~-4--.j-~-.j_~-t---+--+----t-----1

1100 '----+--.j--+-+--~-+---t--+---+-----i

1100

~-4--.j-~-+---+--t---+--+----t-----1

_.....-~~.....-~

c:

c: 1000 L---L-L-~~~~~r::+=r--+----1

~ 1 000 ~-;.-~=f--+---+--+---+---t---t----1

:E

:E
~

w
~

~

w
U
U

c(

900 I---I--~_l_-~_l_-~__+_-f--_t____i

CI.l

800

~-+~I---+-____4--+- 1

TTL LOAD

700

~-4---11---+----+--+-- V

Vee

oo

~

u

-f-

U

= -9V

-

0

10

20

30

40

50

60

70

80

~~-+---4--+--~-+---+--+---t-----t

1 TTL LOAD::. 20 pf
= +5V

600 ...--t--+---t--t- Vee = -9V
VGG = -9V
500 ~-+--+--+--~__+_-f---t--t---+----t

I---I--~-l--~_+_-t--__+_-f---t-___i

0

800

700 I---t--+--+--t- Vee

f-

6001---4----+--+---+--t- VGG = -9V - TA
= 25°C
500

900 ~-+----f---t--+---t--+--_t_-t---t----t

«

= +5V

10

90 100

20

30

40

50

60

AMBIENT TEMPERATURE

LOAD CAPACITANCE (pF)

5·40

~

I

~

".,.-

70

rc)

80

90

I

I

l-

~
=>
o

l-

..-

cs=o.~t'-..... .............

:;)

I-

VOL" +.45V-

"~

0

I
40

Voo:l -9V

~~

...i:

NS=Vee

27

Vee" +5V

l-

I

I

~

=>
u

en

CS = 0.0V'

28

20

ffi

a:
a:

OUTPUTS ARE OPEN

I" I"
'l

30

---b,......:::=I===:t_ _F=l~--1

TA

-

INPUTS" Vee

I-

VOL

-

V aa = -9V

\

V GG '" -9V

-

!

'" +5V

V CC

Vee = +5V

I\.

34

~
=>
u

r\

II,

~

I

'\

OUTPUT CURRENT VS.
TEMPERATURE

90

100

SILICON GATE MOS 8702A

PROGRAMMING OPERATION
D.C. AND OPERATING CHARACTERISTICS FOR PROGRAMMING OPERATION

TA = 25°C, Vee = OV, Vss = +12V
SYMBOL

± 10%, CS

TEST

Address and Data Input
Load Current
Program and VG G
Load Current
Vss Supply Load Current
Peak 100 Supply
Load Current
Input High Voltage
Pulsed Data Input
Low Voltage
Address Input Low
Voltage
Pulsed Input Low Voo
and Program Voltage
Pulsed Input Low
VGG Voltage

ILl1 P
'LI2P
'ss
IOOp(l)
VIHP
V IL1P

V1L2P
VIL3P

VIL4P

= OV unless otherwise noted

MIN.

TYP.

MAX.

UNIT

10

rnA

VIN = -48V

10

rnA

VIN = -48V

.05
200

rnA
mA

CONDITIONS

pro,7 -48V

Voo = V
VGG = -35

-46

0.3
-48

V
V

-40

-48

V

-46

-48

V

-35

-40

V

Note 1: lOOp flows only during VOO, VGG on time. lOOp should not be allowed to exceed 300mA for greater than
supply current lOOp is typically 40 mA at 20% duty cycle.

100~sec.

Average power

A.C. CHARACTERISTICS FOR PROGRAMMING OPERATION

TAMSIENT = 25°C, Vee = OV, Vss = + 12V
TEST

SYMBOL

± 10%,
MIN.

CS = OV unless otherwise noted
TYP.

Duty Cycle (Voo , VGG )

MAX.

UNIT

20

%

3

ms

t~pw

Program Pulse Width

tow

Data Set Up Time

25

IlS

tOH

Data Hold Time

10

IlS

tvw

Voo , VGG Set Up

100

IlS

tvo

Voo , VGG Hold

10

(2)

Address Complement
Set Up

25

IlS

tACH (2)

25

J.1S

tATW

Address Complement
Hold
Address True Set Up

10

J.1S

tATH

Address True Hold

10

J.1S

tACW

Note 2. All

8 address
255) must be

100

CONDITIONS

VG G = -35V, V oo
Vprog = -48V

=

J.1S

bits must be in the complement state when pulsed Vee and VGG move to their negative levels. The addresses (0 through
programmed as shown in the timing diagram for a minimum of 32 times.

5-41

SILICON GATE MOS 8702A

SWITCHING CHARACTERISTICS FOR PROGRAMMING OPERATION
PROGRAM OPERATION
Conditions of Test:
Input pulse rise and fall times

:s 1J1sec

CS = OV
PROGRAM WAVEFORMS

---.l tACH r-I
I
I
tACW----.l',
I
I
o
BINARY COMPLEMENT OF
ADDRESS OF WORD
TO BE PROGRAMMED

ADDRESS

BINARY ADDRESS
OF WORD TO BE
PROGRAMMED

-40 to -48

I
I

I

o------------~

I

~tvoi

I
I

~

f--tATW

PULSED V oo
POWER SUPPLY

-46 to-48

0------------""'"
PULSED VGG
POWER SUPPLY

-35 to-40

o--------------~

I
I

I

PROGRAMMING
PULSE

I

1 - tATH-----"1

-46 to-48

I
I

I
I
I

I

I

I

--'ltOHr-

I

o
DATA INPUT
(DEVICE
OUTPUT
LINES)
--46 to -48

DATA STABLE
TIME

PROGRAMMING OPERATION OF THE 8702A
ADDRESS
When the Data I nput for
the Progra m Mode is:

V,L,P = ""-48V pulsed

VIHP;: "" OV

Then the Data Output
during the Read Mode is:

Logic 1 = VOH

Logic 0

WORD

= 'P' on tape

= VOL ='N' on tape

Address Logic Level During Read Mode:

Logic 0 = VIL ("" .3V)
Logic 0

A6

AS

A4

A3

A2

A1

AO

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

1

I

I

I

I

I

I

I

I
I

I

I

I
I

I

I
I

I
I

1

1

1

1

1

1

255

Address Logic Level During Program Mode:

= V I L2P

A7

Logic 1 = V,H ( "" 3V)

( "" -40V)

5-42

Logic 1

= V, HP (-- OV)

SILICON GATE MOS 8702A
PROGRAMMING INSTRUCTIONS
FOR THE 8702A

I. Operation of the 8702A in
Program Mode

II. Programming of the 8702A Using
Intel ® Microcomputers

Initially, all 2048 bits of the ROM are in
the "0" state (output low). Information
is introduced by se\ectively programming "1 "s (output high) in the proper
bit locations.

Intel provides low cost program development systems which may be used to
program its electrically programmable
ROMs. Note that the programming
specifications that apply to the 8702A
are identical to those for Intel's 1702A.

Word address selection is done by the
same decoding circuitry used in the
READ mode (see table on page 6 for
logic levels). All 8 address bits must be
in the binary complement state when
pulsed VDD and VGG move to their negative levels. The addresses must be held
in their binary complement state for a
minimum of 25 p'sec after VDD and VGG
have moved to their negative levels.
The addresses must then make the
transition to their true state a minimum
of 10 p'sec before the program pulse
is applied. The addresses should be
programmed in the sequenc~ 0 through
255 for a minimum of 32 times. The
eight output terminals are used as data
inputs to determine the information
pattern in the eight bits of each word.
A low data input level (- 48V) will program a "1" and a high data input level
(ground) will leave a "0" (see table on
page 6). All eight bits of one word are
programmed simultaneously by setting
the desired bit information patterns on
the data input terminals.
During the programming, VGG , VDD and
the Program Pulse are pulsed signals.

A. Intellec®
The Intellec series of program development systems, the Intellec
8/Mod 8 and Intellec 8/Mod 80, are
used as program development tools
for the 8008 and 8080 microprocessors respectively. As such, they are
equipped with a PROM programmer
card and may be used to program
Intel's electrically programmable
and ultraviolet erasable ROMs.
An ASR-33 teletype terminal is used
as the input device. Through use of
the InteHec software system monitor,
programs to be loaded into PROM
may be typed in directly or loaded
through the paper tape reader. The
system monitor allows the program
to be reviewed or altered at will
prior to actually programming the
PROM. For more complete information on these program development
systems, refer to the Intel Microcomputer Catalog or the Intellec
Specifications.
B. Users of the SIM8 microcomputer
programming systems may also
program the 8702A using the
MP7-03 programmer card and the
appropriate control ROMs:
SIM8 system-Control ROMs
A0860, A0861 and A0863.

5-43

III. 8702A Erasing Procedure
The 8702A may be erased by exposure to high intensity short-wave ultraviolet light at a wavelength of 2537A.
The recommended integrated dose (Le.,
UV intensity x exposure time) is
6W-sec/cm 2• Examples of ultraviolet
sources which can erase the 8702A
in 10 to 20 minutes are the Model
UVS-54 and Model S-52 short-wave
ultraviolet lamps manufactured by
Ultra-Violet Products, Inc. (5114 Walnut
Grove Avenue, San Gabriel, California).
The lamps should be used without
short-wave filters, and the 8702A to
be erased should be placed about one
inch away from the lamp tubes.

·

:,

Silicon Gate MOS 8708/8704
8192/4096 BIT ERASABLE AND ELECTRICALLY
REPROGRAM MABLE READ ONLY MEMORY
• 8708 1024x8 Organization
• 8704 512x8 Organization
• Fast Programming Typ. 100 sec. For All 8K Bits
• Low Power During Programming
• Access Time - 450 ns
• Standard Power Supplies+12V, ±5V

• Static - No Clocks Required
• Inputs and Outputs TTL
Compatible During Both Read
and Program Modes
• Three-State Output- OR-Tie
Capability

The Intel@8708/8704 are high speed 8192/4096 bit erasable and electrically reprogrammable ROM's (EPROM) ideally suited
where fast turn around and pattern experimentation are important requirements.
The 8708/8704 are packaged in a 24 pin dual-in-line package with transparent lid. The transparent lid allows the user to expose the chip to ultraviolet light to erase the bit pattern. A new pattern can then be written into the devices.
@

A pin for pin mask programmed ROM, the Intel 8308, is available for large volume production runs of systems initially using
the 8708.
The 8708/8704 is fabricated with the time proven N-channel silicon gate technology.

PIN CONFIGURATIONS
A7

24

Vee
As

BLOCK DIAGRAM
DATA OUTPUT
0, Os

I
A6

2

23

As

3

22

A4

4

21

Vea

A3

5

20

CSIWE

19

Voo

18

PROGRAM

87081
8704

CS/WE-

A2

6

A1

7

Ao

8

17

Os

01

9

16

07

02

10

15

06

AO·A g

03

11

14

Os

ADDRESS
INPUTS

Vss

12

13

04

*8704
8708

= Vss
=Ag

PIN NAMES
Ao·Ag

ADDRESS INPUTS

O,·Os

DATA OUTPUTS

CSIWE

CHIP SElECTIWRITE ENABLE INPUT

5-45

CHIP SELECT
LOGIC

OUTPUT BUFFERS

Y
DECODER

Y GATING

X
DECODER

64 X 128
ROM ARRAY

SILICON GATE MOS 8708/8704

Absolute Maximum

Ratings~·

Temperature Under Bias
Storage Temperature

,.

-25°C to +85°C
-~5°C to +125°C

All Input or Ou'tput Voltages with Respect to VBB
(except Program) . . . . . . . . . . . . . . . . . . . . .
Program Input to VBB . . . . . . . . . . . . . . . . . . . .
Supply Voltages Vcc and Vss with Respect to VBB.
Vo o with Respect to VBB . . . . . . . . . . . . . . . . .
Power Dissipation
... . .... ..

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

..
..
..
..
...

+15V to
+35V to
+15V to
+20V to
. . . . ..

-0.3V
-O.3V
-O.3V
-O.3V
1.5W

*COMMENT
Stresses above those listed under "Absolute Maximum
Ratings" may cause permanent damage to the device.
This is a stress rating only and functional operation
of the device at these or any other conditions above
those indicated in the operational sections of this
specification is not implied. Exposure to absolute
maximum rating conditions for extended periods may
affect device reliability·.

READ OPERATION
D.C. and Operating Characteristics
TA

= o°c to 70°C, Vee = +5V ±5%, Voo = +12V ±5%, VeB = -5V ±5%, VSS = ov, Unless Otherwise Noted.

.Symbol

Parameter

Min.

Typ.l1]

Max.

Unit

Conditions

III

Address and Chip Select Input Load Current

10

JlA

Ilo

Output Leakage Current

10

JlA

= 5.25V
VOUT = 5.25V, CS/WE = 5V

100

Voo Supply Current

50

65

mA

Worst Case Supply Currents:

lee

Vee Supply Current

6

10

mA

All Inputs High

IBB

VBe Supply Current

30

45

mA

CS/WE

Vil

Input Low Voltage

Vss

0.65

V

VIH

Input High Voltage

3.0

Vee+ 1

V

VOL

Output Low Voltage

V

IOl = 1.6mA

VOH1

Output High Voltage

3.7

V

IOH

VOH2

Output High Voltage

2.4

V

IOH = -1mA

Po

Power Dissipation

0.45

800

NOTES: 1. Typical values are for TA = 2Soe and nominal supply voltages.
2. The program input (Pin 18) may be tied to VSS or Vee during the read mode.

5-46

mW

VIN

= 5V; TA

= -100JlA

TA = 70°C

= O°C

SILICON GATE MOS 8708/8704
A.C. Characteristics
TA

=O°C to 70°C, Vee = +SV ±S%, Vo o = +12V ±S%, Vee = -SV ±S%, Vss = OV, Unless Otherwise Noted.

Symbol

Min.

Parameter

tAce

Address to Output Delay

teo

Chip Select to Output Delay

tOF

Chip De-Select to Output Float

0

tOH

Address to Output Hold

0

Capacitance£1]
Symbol

Typ.

Max.

Unit

280

4S0

ns

120

ns

120

ns
ns

TA = 2SoC, f = 1MHz

Parameter

Typ. Max. Unit Conditions

CIN

Input Capacitance

4

6

pF

VIN=OV

COUT

Output Capacitance

8

12

pF

VOUT=QV

Note 1. This parameter is periodically sampled and not 100% tested.

A.C. Test Conditions:
Output Load: 1 TTL gate and CL = 100pF
Input Rise and Fall Times: ~20ns
Timing Measurement Reference Levels: 0.8V and 2.8V for inputs; 0.8V and 2.4V for outputs
Input Pulse Levels: O.6SV to 3.0V

Waveforms

ADDRESS

----X--------------......J'IX,.,-------I

1

I~ tOH-----'1

I

C.S./WE

i
I

~'--------------......."A
I.--- teo ---'1

14-11- - - - t ACC

_I

5-47

I

i1

~tDF---.1

1

SILICON GATE MOS 8708/8704
PROGRAMMING OPERATION
Description
Initially, and after each erasure, all bits of the 8708/8704 are in the "1" state (Output High). Information is introduced by selectively programming "0" into the desired bit locations.
The circuit is set up for programming operation by raising the CS/WE input (Pin 20) to +12V. The word address is selected in the
same manner as in the read mode. Data to be programmed are presented, 8-bits in parallel, to the data output lines (01-08).
Logic levels for address and data lines and the supply voltages are the same as for the read mode. After address and data set up
one program pulse (Vp) per address is applied to the program input (Pin 18). One pass through all addresses to be programmed is
defined as a program loop. The number of loops (N) required is a function of the program pulse width (tpw) according to
N x tpw ~ 100 ms.
For program verification, program loops and read loops may be alternated as shown in waveform B.

Program Characteristics
TA

= 25°C, Vcc = +5V ±5%, Voo = +12V ±5%, Vss = -5V ±5%, Vss = OV, CS/WE = +12V, Unless Otherwise Noted.
Min.

Max.

Symbol

Parameter

tAS

Address Setup Time

10

llS

tcss

CS/WE Setup Time

10

llS

tos

Data Setup Time

10

llS

tAH

Address Hold Time

1

llS

tCH

CS/WE Hold Time

.5

lls

tOH

Data Hold Time

1

lls

tOF

Chip Deselect to Output Float Delay

0

tOPR

Program To Read Delay

tpw

Program Pulse Width

tpR
tpF

Typ.

Units

120

ns

10

llS

.1

1.0

ms

Program Pulse Rise Time

.5

2.0

llS

Program Pulse Fall Time

.5

2.0

llS

20

rnA

27

V

Ip

Programming Current

Vp

Program Pulse Amplitude

10
25

NOTE: Intels standard product warranty applies only to devices programmed to specifications described herein.

Erasing Procedure
The 8708/8704 may be erased by exposu re to high intensity short-wave ultraviolet Iight at a wavelength of 2537 A. The recommended integrated dose. (Le., UV intensity x exposure time) is 10W-sec/cm2 . Examples of ultraviolet sources which can erase the
8708/8704 in 20 to 30 minutes are the Model UVS-54 and Model S-52 short-wave ultraviolet lamps manufactured by Ultra-Violet
Products, Inc. (5114 Walnut Grove Avenue, San Gabriel, California). The lamps should be used without short-wave filters, and the
8708/8704 to be erased should be placed about one inch away from the lamp tubes.

5-48

SILICON GATE MOS 8708/8704

Waveforms
(Logic levels and timing reference levels same as in the Read Mode unless noted otherwise.)
A) Program Mode
CS/WE = +12V
. . . - - - - - - - - - - - - - - - O N E PROGRAM LOOP

---------------.!

I

~

ADDRESS 0

ADDRESS

__
AD_D_R_ESS_1_....c

~_--·-·-·----.lX'---A-D-D-RE-SS-1-0-23--~

26V
PROGRAM
PULSE
OV-------II

DATA
°1·0S

B) Read/Program/Read Transitions
~

PR~g~:M

--'1

ADDRESS

o

tess
26V
PROGRAM
PULSE

0--+-------"""1

DATA
°1·0 S

DATA OUT
VALID

DATA
FLOAT

DATA IN
VALID

DATA IN
VALID

5-49

DATA OUT
VALID

SILICON GATE MOS 8708/8704
Typical Characteristics

(Nominal supply voltages unless otherwise noted):
RANGE OF SUPPLY CURRENTS
VS. TEMPERATURE

OUTPUT SINK CURRENT
VS. OUTPUT VOLTAGE
10

80

r-----...----or----...----..,---,~

.----..----,....---~--~--,

ALL POSSIBLE OPERATING
CONDITIONS:
Vee = 5.25V
Voo = 12.6V

Vee = 4.75V
81----+----t----t--~1t--~---::l~

6

Vaa

60

=O°C
TA =25°C
TA =70°C ~~---#----+_'_~-+-----i

TA

= -5.25V

=i

.§

...2
Cf.)

w

a::
a::

40

;:)

0

>
..J

41----t----#-i~,r;--t----+__-__i

~
~

;:)

Cf.)

20
---SPEC

pEEE]f!1EJEZPlEzz$m:=:2!:;·m··;:: }Icc

o'---_ _
20
o

...l........-_------'

. . I -_ _""'---

.4

.2

.6

1.0

.8

MAXIMUM JUNCTION TEMPERATURE
VS. AMBIENT TEMPERATURE
150

60

100

80

ACCESS TIME VS. TEMPERATURE

r------_----..,..----,....------..

500

I

8JA = 80°CIW

I

1 TTL LOAD + 100pF

Vee = 5.25V
Voo = 12.6V
Vaa = -5.25V
100 1 - - - - -

40

400

4~=----+------+----i

300

~~

E.
u

tJ

... Continuous
Operation

4

VOUT = 0.45V
VOUT = O.OV

V

'Ol = 1.6mA

V

'OH = -100 fJA

VGG may be clocked to reduce power dissipation. In this mode average 100 increases in proportion to VGG duty cycle.
Typical values are at nominal voltages and T A = 25°C.

5-52

SILICON GATE MOS 8302

A.C. Characteristics
TA

= (1J C to +70°C, Vee = +5V ±5%, Voo

SYMBOL

MINIMUM

TYPICAL

MAXIMUM

UNIT

1

Repetition Rate

tOH

Previous read data val id

tACC
t ovGG
t cs

Address to output delay
Clocked VGG set up
Ch ip select delay

tco

Output delay from CS

too
t OHC

Output deselect

.700

MHz

100

ns

1

JJ.s

1

JJ.s
ns

200
500
300

ns
ns

5

Data out hold in clocked VGG mode (Note 1)

JJ.s

The output will remain valid for tOHC as long as clocked VGG is at Vce. An address change may occur as soon as the output is sensed
(clocked VGG may still be at Vee). Data becomes invalid for the old address when clocked VGG is returned to VGG.

Capacitance*
SYMBOL
C

-9V ±5%, VGG = -9V ±5% unless otherwise noted

TEST

Freq.

Note 1.

=

TA = 25°C
MINIMUM

TEST

,N

TYPICAL

Input Capacitance

COUT

Output Capacitance

C VGG

VGG Capacitance
(Clocked VGGMode)

MAXIMUM

UNIT

5

10

pF

5

10

pF

30

pF

CONDITIONS

"1N=

vee}

All
unused pins
are at A.C.
ground

CS = VCC
VOUT = VCC
VGG = VCC

*This parameter is periodically sampled and is not 100% tested.

B)

Clocked VGG Operation
~ CYCLE

Switching Characteristics

ADDRE~~H~

Conditions of Test:
Input pulse. amplitudes: 0 to 4V; t R , t F ~ 50 ns
Output load is 1 TTL gate; measurements made
at. output of TTL gate (tpD ::5 15 ns)

V1L

::

I
I

I
IH

V

CS

I

,,:

I

I

_I

- - C Y C L E TIME' I / F R E O -

V1L

A

n'

I

1

~tDV

1H
_

V

I

V1L

oH

:

....
1·----tAcc-----·~1

VOL

r;I

ADDRESS

--I

I

I

I

cs

,H

V

'-"L

.fi.

CLOCKED
V GG

NOTE 2 . _

~
~

V

III

I

1-+1-----....",
I

DATA
OUT
VOL

I
I
I

---l

-

too ~

O~HT i-'ACC ~
VOL

U

I

I

I

I

I

I

I

I

I

{I:

.

----------1

......

NOTE 1: The output will remain valid for tOHe as long as clocked VGG
is at Vee. An address change may occur as soon as the output is sensed
(clocked VGG may still be at Vee). Data becomes invalid for the old
address when clocked VGG is returned to VGG'

I

t co

~

...--~50ns---1
I

V

DATA

L': :
I

too --, I

GG

I

V 1L

~ ~ Ons

.·. . . .i--,I

I

I:

~

,',r---~----l

" - to

v cc, , : :

10%

I

DATA OUT
INVALID

---------r--ISr----------v.
:

t---+--

DATA OUT
INVALID

CS

"o~---f()

~ t OHC
I

1L

V GG

1
1

~---

(SEE NOTE 1)

I
I

V 1-----------------

X"----

V 1H - - - f

. - . - 'ACC ~

;

:

DESELECTlDN OF DATA OUTPUT IN OR·TlE OPERATION

,H

DESELECTION OF DATA OUTPUT IN OR·TlE OPERATION

AD:~:Y::
VIL'~

/

I':

DATA OUT
INVALID

V

:

I

/:..--------..\

'\ I

DATA
OUT

t

g~~~H --4!~--~N-~-TA-AL-~-DU-T--~\
VOL

~----

t-- --l
I
:

I

:.

GG

VOH-----~

I

--I 'cs ~

cs

CLOCKED
GG
V
VGG

V

,10
---------_
%

I

~~ons---{

'\

Vee,; :

ADDRESSfi 90%

>C

I FREO---....l

I

A) Constant VGG Operation

V

~

I

V1L

VIH

TIME

.-

NOTE 2: If CS makes a transition from VI L to VIH while clocked VGG
is at VGG, then deselection of output occurs at too as shown in static
operation with constant VGG'

5-53

SILICON GATE MOS 8302

Typical Characteristics
ACCESS TIME VS.
LOAD CAPACITANCE

100 CURRENT VS. TEMPERATURE
39

38
37

36
35

i

34

zau

33

~

II:
II:

32

u

31

0
_0

30

\

900

I

\

vee = +5V

~

\

"I"

'\

j

29

l'

'-

700

-

v GG = -9V

\

800

-

v oo = -9V

~

INPUTS:: Vee

!

I

~

I

4(

t----+---+-1 TTL LOAD

t--

CJ

300

V cc

= +5V
= -9V

I----

en

200

VGG :: -9V
250C
TA
::I

100

o

I
40

20

t----+---+-- ~

e

I--

o

20

10

30

40

50

60

80

70

.:

60

80

100

r----

t----+---+-- 0

90 100

120

-4

-3

-2

I

I

Vcc

:: +5V

;{

~

~

zau

""'""
""" VGG = -9V
VOL :: +.45V/
_ TA
=.250C

~

::)

u

~

z

400

u
u

300

4(

~

a:
a:

en

500

~

w

200
100

-

1 TTL LOAD~20 p f -

Vcc II +5V
V DO .. -9V
VGG

-

80

I

~

::)
~

:J

90

z
w

-3

i--

II:
II:

-9

!

w
II:

a:

VOH

::I

O.OV

au

:J

TA

'" 25°C

a:
::)

CJ

-3

-

V oo • -9V
-VGG - -9V
V OH " O.OV

S

,,~

~

:J

::)

~

~

:J

:J

I-

- ---

~

o

0

x

%

_0

.9-4

-4

AVERAGE CURRENT VS. DUTY
CYCLE FOR CLOCKED VGG
45

I I I I I

40

CLOCKED VGG
V

1001 35

DD

:: -9V
.. -9V

CS

:: V 1H

T

.. 25°C

A

au

CJ
4(

20

a:
w

>
4(

15
10

---

1000 5

o

o

~

~

10

--~

20

~~

30

~

~

40

~

.---~

50

DUTY CYCLE (%)

5-54

~

60

---

~ ~-

70

80

2030
5060 70 80
AiBIENT TEMPERATURE t"CI

Vee" +5V

::)

U

w

I-

10

r--......

k

I

0

~

z

VGG :: -9V

VOL· +.45V- I - -

~~

0

Ci

-10

::I

:;)

0-3.5
en

26

v GG • -9V

I

0

,

I

-7
-8
-6
V DO SUPPL Y VOLTAGE (V)
I
I
+5V
VCC

U
II:

0
_0

v oo • -9V

cs .. o.~ ~

~

r--_

-5

U

30

~~

_0

n(

;{

!
~

C
.!

+4

vee· +5V

j

I

10 20 30 40 50 60 70
AMBI ENT TEMPERATURE (OC)

Specified
Operating Range _

I

-

= -9V

I

+3

III

.!

w

~

+2

OUTPUT CURRENT VS.
TEMPERATURE

OUTPUT CURRENT VS.
VOOSUPPLY VOLTAGE

800

-

+1

-1

OUTPUT VOLTAGE (VOLTSI

900

600

6.0~--+-~T---+-----t

LOAD CAPACITANCE (pF)

ACCESS TIME VS.
TEMPERATURE

I--

8.0

:;)

AMBIENT TEMPERATURE (OC)

700

10.0

~

I I I

I
o

~

400

V OO

CS= 0.0V'

27

z

au

::)

~
au
u
u

NSIIVee

12.0

~

500

~

I

." "l'"

28

Ci

I---+---+--.!

600

w

OUTPUTS ARE OPEN
I

~

OUTPUT SINK CURRENT
VS. OUTPUT VOLTAGE

~

~

90

----

100

~I--

~

~

~rr

90

Silicon Gate MOS 8308
8192 BIT STATIC MOS READ ONLY MEMORY
Organization --1024 Words x 8 Bits
• Fast Access - 450 ns
• Directly Compatible with 8080 CPU
at Maximl)m Processor Speed

• Three State Output - OR-Ti~
Capability

• Two Chip Select Inputs for Easy
Memory Expansion

• Standard Power Supplies
+12V DC, ±5V DC

• ·Fully Decoded

• Directly TTL Compatible - All Inputs
and Outputs
The Intel® 8308 is an 8,192 bit static MOS mask prog~ammable Read Only Memory organized as 1024 words by ~-bi~s. This
ROM is designed for 8080 microcomputer system applications where high performance, large bit storage, and simple interfacing are important design objectives. The inputs and outputs are fully TTL compatible.
A pin for pin compatible electrically programmed erasable ROM, the Intel® 8708, is available for system development and
small quantity production use.
Two Chip Selects are provided - CS 1 which is negative true, and CS2/CS2 which may be programmed either negative or
positive true at the mask level.
The 8308 read only memory is fabricated with N-channel silicon gate technology. This technology provides the designer with
high performance, easy-to-use MOS circuits.

BLOCK DIAGRAM

PIN CONFIGURATION

DATA OUT 1
A7

Vee

A6

As

CS1--'

A5

Ag

CS 2 /CS 2 . -...

A4

Va8

A3

CSl

A2

\bo

A,

CS2 /CS 2

Ao

Os

0,

07

02

06

03

05

Vss

04

DATA OUT 8

OUTPUT
BUFFERS

811)2 BIT
ROM MATRIX
(1024 X 8)

Ao A,

PIN NAMES
AO-Ag

ADDR ESS INPUTS

o,-Os

DATA OUTPUTS

CS,. CS2

CHIP SELECT INPUTS

5-55

Ag

SILICON GATE MOS 8308
Absolute Maximum Ratings*
Ambient Temperature Under Bias
Storage Temperature
Voltage On Any Pin With Respect
To Vaa . . . . . . . . . . . . . . . . .
Power Dissipation

*COMMENT

-25°C to +85°C
-65°·C to-i-150°C

Stresses above those listed under"Absolute Maximum Ratings" may
cause permanent damage to the device. This is a stress rating only
and functional operation of the device at these or any other conditions above those indicated in' the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliabil ity.

-0..3V to 20V
1.0 Watt

D.C. and Operating Characteristics
TA

= O°C to +70°C, VCC = 5V ±5%; Vo o = 12V ±5%, Vas = -5V ±5%, Vss = OV Unless Otherwise Specified.
Limits

Symbol

Parameter
Min.

TypJ1]

Unit

Max.

Test Conditions

= 0 to 5.25V

ILl

Input Load Current
(All Input Pins Except CS, )

10

J.l.A

VIN

ILCL

Input Load Current on CS,

1.6

rnA

ILPC

Input Peak Load Current on CS,

4

rnA

ILKC

Input Leakage Current on CS,

10

J.l.A

= 0.45V
VIN = 0.8V to 3.3V
VIN = 3.3V to 5.25V

ILO

Output Leakage Current

10

J.l.A

Chip Deselected

VIL

Input "Low" Voltage

Vss-1

0.8V

V

VIH

Input "H igh" Voltage

3.3

Vcc+1.0

V

VOL

Output "Low" Voltage

0.45

V

VOH'

Output "High" Voltage

2.4

V

VOH2

Output "High" Voltage

3.7

V

Icc

Power ~upplV Current Vcc

.8

2

rnA

100

Power Supply Current Voo

32

60

rnA

Iss

Power Supply Current Vss

10~A

1

rnA

Po

Power Dissipation

775

rnW

VIN

= 2rnA
IOH = -4rnA
IOH = -1rnA
IOL

NOTE 1: Typical values for TA = 25° C and nominal supply voltage

D.C. OUTPUT CHARACTERISTICS
9

~A ::: 6to 76°C

~

8
~

7

D.C. OUTPUT CHARACTERISTICS

,

-10

-9

/

,~I

6
5

.1J

4

'('
/

~J

2
I

~

V
o~
o

.1

~

~

.2

V

.3

~ .........

~

V

~

~

~

-4

-3

VOL

.5

.6

.7

.8

.9

1.0

5-56

I

I

",

'lIlI

/~ ~

~

~Ill..

-........

(( 2.4

2.6

2.8 3.0
VOH

VOLTS

I I

TYPICAL

"

-2
-1

= Oto 70°C

'I',

SPEf

'" I

I II
A

~-5

SPEC

.4

t

1',

1-6

/

3

~,

-7

TYPICAL J

1

'lil ,

-8

3.2

~ ,....."

3.4 3.6

VOLTS

3.8 4 0 4 .2

SILICON
GATE - MOS 8308
-

A.C. Characteristics
TA = oo.c to'+70~C, VCC = +5V ±5%; VO_D = +12V ±5%, VBB = -5V _±5%, VSS_= OV, Unless Otherwise Specif.i~d.
Limits[2]
Symbol

Parameter

Min.

Typ.

Max.

Unit

tACC

Address to Output Delay Time

200-

450

ns

tC01

Chip Select 1 to Output Dela.y~ime

85

160

ns

teo 2

Chip Select 2 to O~tput Delay Time

125

220

Chip Deselect to Output Data float Ti~_e_

tOF

conditions~of Test for A.C. Characteristics.
VOH = 3.7V @ IOH = -1mA, CL = 100pF.

NOTE 2: Refer to

~dd

125

220

ns
.-

ns

50 nanoseconds (worst case) to specified values at

CAP~CI_!ANCE TA_=__ ~5°C, f= 1 MHz! VBB =-5V, VOO,.
Vcc and all ot~er pins ti~~ ~o Vss.

CONDITIONS OF TEST FOR
A.C. CHARACTERISTICS
Output Load
1 TTL Gate, and CLOAO = 100pF
Input Pulse Levels . . . . . . . . . . . . . . . .. .65V to 3.3V
20 nsec
Input Pulse Rise and Fall Times
Timing Measurement Reference Level
........ · .... · .. · .. 2.4V VIH, VOH; 0.8V VIL, VOL

Symbol

Test

CIN

Input Capacitance

CoUT

Output C~pacitance

Limits
Typ.

Max.
6pF
12pF

4-------- t ACC --------~I

ADDRESS

.Ao-Ag

----------~

--------------------- -------------1 . . - - - - tCo1 - - - - · 1

---------------,
~----------------

1 . . . . - - - - - - - t e 0 2 - - - - - -...1

5-57

SILICON GATE MOS 8308

Typical Characteristics

(Nominal supply voltages unless .otherwise noted.)

A OUTPUT CAPACITANCE
VS. A OUTPUT DELAY

100 VS. TE""PERATURE
(NORMALIZED)
1.4

1.2

+40

r-----~--_r__--~---,

_ +20

t----+-----+----~<------f

u

W

1.1

1.0

(I)

..5-

~

.9

~

~

.J
~

~

.8

0 t---:---+-------:::._--""'"'"f--

t-

"- ~

.7

::J
~

t-

::J

~

o

<1 -20

~--+_--_+__----+---__t

~

.6
::::;~

-40

10

20

30

40

50

60

70

80

90

L . . -_ _...I..-_ _...Io....-_ _.......I.-_ _- - '

-100

o

-50
~

AMBIENT TEMPERATURE TA (OC)

CS1 INPUT
CHARACTERISTICS

+100

+50

CAPACITANCE (pF)

TACC VS. TEMPERATURE
.(NORIVIALIZ~O)
1.4

2.5

1.3
2.5
1.2
1.1

2.0
~

1.0

.§ 1.5

)/1

-~
1.0

.5

o

/

o

~/
.5

.9
.8

\

1.5

~

~

~

~

~

.7

\\...

1.0

---

~

.6
2.0

2.5

o.-:::i:::::=
o 10

3.0

V 1N (VOLTS)

20

30

40

50

60

70

AMBIENT TEMPERATURE TA (OC)

5-58

80

90

MCS™
CUSTOM ROM
ORDER FORM

8308
ROM

CUSTOMER
P.O. NUMBER

_
.

_

OATE

_
For Intel use only

S#

_

STO

PPpp--------_

zz,

_

00
APp

_

_

OATE

.

_

All custom 8308 ROM orders must be submitted on this form. Programming information should be sent in the form of computer
punched cards or punched paper tape per the formats designated on this order form. Additional forms are available from Intel.

MARKING

INTEL PATTERN NUMBER
®

The marking as shown at the right must contain the Intel logo, the
product type (P8308), the 4-digit Intel pattern number (PPPP), a date
code (XXXX), and the 2-digit chip number (DO). An optional customer
identification number may be substituted for the ch ip number (ZZ).
Optional Customer Number (maximum 9 characters or spaces).
CUSTOMER NUMBER
_

•

I

8308

PPPP

xxxx

zz

DATE CODE

CHIP NUMBER OR
CUSTOMER NUMBER

MASK OPTION SPECIFICATIONS
A. CHIP NUMBER (CHIP SELECT
OPTION)

Must be specified 0 or 1.
The chip number will be coded in
terms of positive logic where a logic
"1" is high level input.

Programming information should be
sent in the form of computer punched
cards or punched paper tape. Ineither
case, a printout of the truth table
should be accompanied with the order.
The following general format is applicable to the programming information
sent to Intel:

Chip Select Truth Table
Chip
Number

CS1

CS2

Selected

0
1

0
0

0

1

0
1
0

1

1

1

Yes
Yes
No
No

Chip Number

B. ROM Truth Table Format

• Data fields should be ordered beginning with the least significant address
(0000) and ending with the most sig.
nificant address (1023).
• A data field should start with the
most significant bit and end with the
least significant bit.

5-59

• The data field should consist of P's
and N's. A P is to indicate a high level
output (most positive) and an N a low
level output (most negative). In terms
of positive logic, a P is defined as a
logic "1" and an N is defined as a iogic
"0". If the programming information
is sent on a punched paper tape, then
a start character, B, and an end character, F, must be used in the data field.
See paragraph 2.
1. Punched Card Format
An SO-column Hollerith card (preferably interpreted) punched by an IBM
026 or 029 keypunch should be submitted. The first' card will be a title
card; the format is as follows:

MCS™ CUSTOM ROM ORPER _FOR.M_ 8308
a. Title Card

'1

NO. OF OUTPUTS

4 or 8

TITLE CARD
DESIGNATION

CUSTOMER'S
DIVISION OR

CUSTOMER'S

COMPANY NAME
I '
~"/~ G.:"-'·i-i·iNl('·~

I II
II
I
III

LOCATION

INTEL
CUSTOMER:S
~

i
,-:~AI?~

::.,.o#1'i::

CORP

I

I

III

~

PIN

h?14:'

\.!iLI~

P/Nl

I I I I II II
I
I I
I

1

DECIMAL NUMBER
INDICATING THE
TRUTH TABLE NUMBER

6~30

(h',

31-34
35-54
55-57
58-66
67
68-75

I

I

~ ~ ~ ~ ~!~, ~ ~ ~ ~~~ ~ ~ ~ ~ I~!~ ~~~~~~~~ ~~ ~ ~~~~ ~!~~~ ~~!~~~~~~~ ~~~~~~~~~~~~I~~~~'~~!~ ~ ~I~ ~~~, ~,,!
1I1111111 i 11111111111111

Column
1
2-5

1 1111111111111111111111111111111111111111111111111111111

2222211221121122212122222'21222122 il21112 222222222222222222212221222222 2121l2121?

I) II J3) ) ) 31 )11) ) lll) )I) ) ) )) )) ) ) ) 3l ) ) ) I) )Illl ) )1) I J3 )) )) ) ) )) ) I) )] ] )) II) ] ) ) ) ) ) ) 1))
4U44uuU4u44u44U44u4u4UUUU4U4444UU444UU4UUIU444u41U444~~44

~ ! ~ SS5SSSI ~ I S ~ 5SIS SS5SSSSS5S ~ SSS S55 5ISS 5 5SS ~ SSSS5SSSSSSSSS s' SSSIS 5SS5S5SIS IS) SSSS

76-78

666666 &6 6 6 &66661666666166666666666666666666666 &6661666666666 6 ~ &&6 666666666666666
II"

II I T I I I I I ,,"

88 8 8 8818 8 8 88 88 88 88 8 8 88 8 8 88888888888 8888 8 8 8 8 8 8888888888888 8 ~
99 H H 919
' ......

II

I ••

g.~

ea68 GH& U

9 9 ql9 9199 9 9 919 9 99999999999999999199 J 9 919 9 9 gq 9 9999

),.

79-80

I 111 I 1 III I 1111 I I I I I I 11 I 111 I 1 I I 11 T 111111111 I 1 I 11111' I' 11111111 j 1 I

'I 'l '. J • ,.,.:.:: .LO' :\:.:' ••••, 1Q)1

.'.l ~"'l

J:

'J'. J\" J~ J:I)1 ,,, •• ,:.,.:

l .••• ' " , • • . ' \:

~'J'

.1", ,•• ' ,f •• •

8881118 8 adB P

r, q 913 9 9 q 9 n 9 q ~
. .. ~. fl'!' .. •• •

'.

qq

q

•

b. fQr_a 1024 wQrd X 8-bit organization only, cards 2 and the following
cards should be punched as shown.
MSB
(OUTPUT 8l

DECIMAL WORD
ADDRESS BEGINNING

LSB
(OUTPUT 1)

~

DECIMAL NUMBER
INDICATING THE

8 DATA F.IELDS

EACH CARD

Column

Data'

1-5

Punch the 5-digit decimal equivalent of
the binary coded location which begins each card. The address is right
justified, Le., 00000, 00008, 00016,
etc.
Blank
Data Field
Blank
Data Field
Blank
Data Field
Blank
Data Field
Blank
Data Field
Blank
Data Field
Blank
Data Field
Blank
Punch same 2-digit decimal number as in
title card.

6
7-14
15
16-23

TRUTH TABLE NUMBER

r - - - - - - + - - t - - - . L . - - - - - - _ rJ,

;33

34-41

11111111 1I11II1I 1111I1I1 11111111 11111111 11111111 11111111 11111111

42

1111100000000000000000000000000 U0 000000000000000000000000000000000000000000 u 0011
• 11' I I "

",'

"

'·\'I·:III'~:·:.:.: •. I:\:::tI~10111lIJ.. nlll:III"'U'/fI""''':lIh':III:II~III6I'I.lt"'II;lhHIIU·I'I'·;
,·.·j·.·I·.·· ",n

22222 1111111 2121222212212 , 11 2111 22 22222222 222222 ? Z212222211 2'12 22 ~ 222 222; 222 i ? ~ ; 2

43-50
51

3] J J ] )) J ) ) 1 ) ) ) ) J JJ ) ) ) ) ] ] ] JJ

52-59

1I1111I1I1I1111111111111111I111111111111I111111111111111111I1111111111111111111I

U 4 C.: u. U U:4 4 .. H 4. 4 c::
~~

S ~ ~ S~ I S11111 ~ S sSSIII ~

J j ) ) ] J)

~. t

J ))) ) ] ) ] ) J J J lJ J lJ ) ] 13 J J )) )) J ) ] J J JJ

t.:.· 14 C.:: 4 44

~

J]

13J 1) 1) J J J

4 H 4 4 4: 4 H 4 4: 4 U H: 4 H: ~ 4 ~:

~::::

60
61-68
69

4 ~::

s) S1111. ) ;. i j II i ) Iss sill; i ; ) 1111I i iSS II) sIII ~ i ) II ~ ; II) ) ) )

H b E~ bt 0 6 Ii 6& 6 0 t 666 t ~ b0 ~ ~ 0 ~ 6 60 6 ~ 0 ii£ i: DO 0 0 ~ ~ c ~ ~ : ~ 0 t bEt 0 ~ 0 ~
; I; II: ~ 1: II; 111111111111//11111111 i 11111111: i 11/1; ...... ; I: I

H H H H H 66 6 6b 6 66 6 & 6 Et ( i

1111111: 11: : : : : 1111;':

70-77
78
79-80

868S8868Pfltg86G8888a888aci8888886~888888688666886&e8~~~Eae~li:~:i~o:~i,'~~:ii~i=:

•q Q q H

9h

~"O;"

I

:.,.

~ ~ ~

" 9 qg
•

9 q 0;

~ ~

It"

;. •

go C q q H 99 9 q 9 9 n 9 Q 5 ~ .; ; '...• , • ; • , ,
.' . . ,

.•••

I

~

:

I ~

:

f

2. Paper Tape Format
1" wide paper tape using 7- or 8-bit
ASCII code, such as a model 33 ASR
teletype produces, or the 11/16" wide
paper tape using a 5-bit Baudot code,
such as a Telex produces.
The format requi rements are as follows:
a. All word fields are to be punched in
consecutive order, starting with word
field 0 (all addresses low). There mu~t
be exactly 1024 word fields for the
1024 X 8 ROM organization.
b. Each word field must begin with
the start character B and end with the
stop character F. There must be exactly 8 data characters between the B
and F.
Start Character ~

,

Leader: Rubout Key for TWX and Letter
Key for Telex (at least 25 frames).

c,.. .

NO OTHER CHARACTERS, SUCH
AS RUBOUTS, ARE ALLOWED ANYWHERE IN A WORD FIELD. If in preparing a tape an error i~ made, the entire word field, including the Band F,
must be rubbed out. Within the word
field, a P results in a high level output
and an N results in a low level output.
c. Preceding the first word field and
following the last word field, there
must be a leader/trailer length of at
least 25 characters. This should consist
of rubout or null punches (letter key
for Telex tapes).
d. Between word fields, comments not
containing B's or F's may be inserted.
Carriage return and line feed characters
should be inserted as a "comment")
Stop Character

I

, I

Data
Punch·a T
Blank
Customer Company Name
Blank
Customer's Company Division or location
Blank
Customer Part Number
Blank
Punch the Intel 4-digit basic part number
and in ( ) the number of output bits,
e.g., ·8308(8).
Blank'
.
Punch a 2-digit decimal number to identify the truth table number (mask
programmed ch ip select number).

Data Field

just before each word field (or at least
between every four word fields). When
these carriage returns, etc., are inserted,
the tape may be easily listed on the
teletype for purposes of error checking. The customer may also find it
helpful to insert the word number (as
a comment) at least every four word
fields.
e. Incl uded in the tape before the
leader should be the customer's complete Telex or TWX number and, if
more than one pattern is being transmitted, the ROM pattern number.
f. MSB and LSB are the most and least
significant bit of the device outputs.
Refer to the data sheet for the pi n
numbers.

MSB

I

LSB

,

+

BPPPNNNNN FBNNNNNNPP F

BNPNPPPNNF

' I

I i '

I
Word'Field 0

I
WordiField 1

5-60

Word Field 1023

Trailer: Ruboul Key for TWX and Leuer
Key for Telex (al leasl 25 frames),

intel®

Silicon Gate MOS ROM 8316A

16,384 BIT STATIC MOS READ ONLY MEMORY
Organization-2048 Words x 8 Bits
Access Time-SSO ns max
--

• Single + 5 Volts Power Supply Voltage
• Directly TTL Compatible - All Inputs
and Outputs
• Low Power Dissipation of 31.4 /LW/Bit
Maximum
• Three Programmable Chip Select
Inputs for Easy Memory Expansion

.

• Three-State Output Capability
• Fully Decoded Decode

OR-Tie

On Chip Address

• Inputs Protected - All Inputs Have
Protection Against Static Charge

®

The Intel 8316A is a 16,384-bit static MOS read only memory organized as 2048 words by 8 bits. This ROM is
designed for microcomputer memory applications where high performance, large bit storage, and simple interfacing are important design objectives.
The inputs and outputs are fully TTL compatible. This device operates with a single +5V power supply. The
three chip select inputs are programmable. Any combination of active high or low level chip select inputs can be
defined and the desired chip select code is fixed during the masking process. These three programmable chip
select inputs, as well as OR-tie compatibility on the outputs, facilitate easy memory expansion.
The 8316A read only memory is fabricated with N-channel silicon gate technology. This technology provides the
designer with high performance, easy-to-use MOS circuits. Only a single +5V power supply is needed and all
devices are directly TTL compatible.

PIN CONFIGURATION

BLOCK DIAGRAM
0, 02 03 04

as

06 07 Os

A,o
Ag
As
(/)

A7
A6

a:

CHIP
SELECT
PROG.

w

I.L
I.L

:J
CD
~

:J

As

0...

A4

(/)
(/)

~

w

a:
A3

0
0

«

A2
A1
A

CHIP
SELECT
"'--CS 2
INPUT
BUFFERS

"-cs3

o

PIN NAMES
AO· A,o
01. 0 8
CS1· CS3

"""-CS,

16,384 BIT
CELL MATRIX

ADDRESS INPUTS
OATA OUTPUTS
PROGRAMMABLE CHIP SELECT INPUTS

5-61

SI~ICON GATE MOS ROM 8316A
ABSOLUTE MAXIMUM RATINGS·
Ambient Temperature Under Bias
O°C to 70°C
-65°C to +150°C
Storage Temperature
Voltage On Any Pin With Respect
To Ground. . . . . . . . . . . . . . . . . . . . .. -0.5V to +7V
Power Dissipation
~ . . 1.0 Watt

*COMMENT: Stresses above those Iisted under"Absolute Maximum
Ratings" may cause permanent damage to the device. This is a stress
rating only and functional operation of the device at these or any
other conditions above those indicated in the operational sections of
this specification is not implied. Exposure to absolute maximum rating
conditions for extended periods may affect device reliability.

D.C. AND OPERATING CHARACTERISTICS.
T A = O°C to +70°C, Vee

= 5V

±5% unless otherwise specified
LIMITS

SYMBOL

PARAMETER

MIN.

TYP.(1)

TEST CONDITIONS

UNIT

MAX.

= 0 to 5.25V

ILl

Input Load Current
(All Input Pins)

10

IlA

VIN

ILOH

Output Leakage Current

10

IlA

ILOL

Output Leakage Current

-20

IlA

= 2.2V,
CS = 2.2V,

ICC

Power Supply Current

98

mA

All inputs 5.25V Data Out Open

VIL

Input" Low" Voltage

-0.5

'0.8

V

VIH

Input "High" Voltage

2.0

VCC+ 1.OV

V

VOL

Output" Low" Voltage

0.45

V

VOH

Output "H igh" Voltage

40

CS

= 2.0 mA
I 0 H = -1 00 ,uA
IOl

V

2.2

= 4.0V
VOUT = 0.45V
VOUT

(1) Typical values for T A = 25°e and nominal supply voltage.

A.C. CHARACTERISTICS
TA = O°C to +70°C, Vee

= +5V ±5% unless otherwise specified
LIMITS
PARAMETER

SYMBOL

MIN.

Address to Output Delay Time

teo

Chip Select to Output Enable Delay Time

tOF

Chip Deselect to Output Data Float Delay Time

Output Load ... 1 TTL Gate, and CLOAD = 100 pF
Input Pulse Levels . . . . . . . . . . . . . . . 0.8 to 2.0V
Input Pulse Rise and Fall Times. (10% to 90%) 20 nS
Timing Measurement Reference Level
Input
1.5V
Output
0.45V to 2.2V

0

CAPACITANCE(2) TA

= 25°C, f =

UNIT

MAX.

400

tA

CONDITIONS OF TEST FOR
A.C. CHARACTERISTICS

Typ.(1)

850

nS

300

nS

300

nS

1 MHz
LIMITS

SYMBOL

TEST

TYP.

MAX.

CIN

'All Pins Except Pin Under
Test Tied to AC Ground

4 pF

10 pF

COUT

All Pins Except Pin Under
Test Tied to AC Ground

8 pF

15 pF

(2) This parameter is periodically sampled and is not 1000A» tested.

5-62

SILICON GATE MOS ROM 831.6A
WAVEFORMS

ADDRESS

tOF

PROGRAMMABLE
CHIP SELECTS

OU~TVALID

5-63

1111.

S.ILICO.N GATE MOS ROM 8316A
TYPICAL D.C. CHARACTERISTICS
ACCESS TIME VS. AMBIENT
TEMPERATURE

V,N LIMITS VS. TEMPERATURE

900 . - - - - - - , . . - - - , - - - - - - . - - - - - - - .

800

1.8

r----,r----r--.,r---r---.,r---r--_

r----;----t----:::::;~--t---__I

TYPICAL

1.6 t - - - - 1 t - - - - - t - - - - 1 t - - - t - - - I - - - - f - - - - - - f

600

....-~--+----t-----+---~

en
t-l

~

1.4 t - - - t - - - - - - t - - t - - - t - - - t - - - t - - - - f

z

->

400 r-----:=--...-==----t------t------I

1.2

200 t - - - - - t - - - . : . . - + - - - - - + - - - - - - t

t---t---l--t---t--------"t---t-------4

VCC:;;: 5.0V

1.0

20

60

1ooo.---'1-----1_---'I--_"--_"--_.&...._--1

o

80

OUTPUT SINK CURRENT VS.
OUTPUT VOLTAGE

60

70

-30

-25

25

./

20

/

15

-l

9

/

10

v

V

~ I--

-20

TYPICAL

<'
E

V

-15

~

9

-10

jV

TA = 25°C
VCCMIN
I

\

\

~

\

TYPICAL

~\

TA

= 25°C

I\..VCC MIN

-5

/
o

1000

50

OUTPUT SOURCE CURRENT VS.
OUTPUT VOLTAGE

30

<'
E

20

10

~

~

3

VOL (VOLTS)

VOH (VOLTS)

ACCESS T"ME VS. LOAD
CAPACITANCE

STATIC 'CC VS. AMBIENT TEMPERATURE
WORST CASE

---....--~--...,.--~~-......,

100 - - - - - - -.........~---------.

WORST CASE

800 I - - - - - + - - - - + - - - - t - - - - t - - - - - t

80

I-----+---~!-----+------I

600 I - - - - - - + - - - - - + - - - - + - - - - + - - - - - t

TYPICAL

4OO1-----fl-=:;;.----+----t----t-----t

6Oi------+----t-----t-------t

200 I - - - - - + - - - - I - - - - - - t - - - - t - - - - - t

o

100

200

300

400

O~-------I--------20
60
80

500

CLOAO (pfd)

5-64

MCS™
CUSTOM ROM
ORDER FORM

8316A
ROM

CUSTOMER,-----------------P.O. NUMBER

----.;.

_

OATE

_
For Intel use only

S#

----:.

STO

_

pppp--------

zz,

_

00
APp

_

_

OATE

_

All custom 8316A ROM orders must be submitted on this form. Programming information should be sent in the form of computer
punched cards or punched paper tape per the formats designated on this order form. Additional forms are available from Intel.

MARKING

INTEL PATTERN NUMBER

The marking as shown at the right must contain the Intel@logo, the
product type (P8316A), the 4-digit I ntel pattern number (PPPP), a date
code (XXXX), and the 2-digit chip number (DD). An optional customer
identification number may be substituted for the chip number (ZZ).
Optional Customer Number (maximum 9 characters or spaces).

CUSTOMER"NUMBER

•

I

_

8316A

xxxx

DATE. CODE

zz
.CHI"P"NUMBER OR
CUSTOMER NUMBER

MASK OPTION SPECI FICATIONS
A. CHIP NUMBER
(Must be
specified-any number from 0 through

7-00).
The chip number will be coded in
terms of positive logic where a logic
1" is a high level input.
II

Chip
Number

o
1
2
3
4

5

CS3

CS2

CS1

0
0

0

0
1

a

a

a

1
0
1
1
100
101

1

a

6

1.

7

111

B. ROM Truth Table Format
Programming information should be
sent in the form of computer punched
cards or punched paper tape. Ineither
case, a printout of the truth table
should be accompanied with the order.
The following general format is applicable to the programming information
sent to Intel:
• Data fields·should be ordered beginning with the least significant address
(0000) and ending with the most significant address (2047).
• A data field should start with the
most significant bit and end with the
least significant bit.

5-65

• The data field should consist of P's
and N's. A P is to indicate a high level
output (most positive) and an N a low
level output (most negative). I n terms
of positive logic, a"P is defined .as a
logic 111" and an N is defined as a logic
110". If the programming information
is sent on a punched paper tape, the~
a start character, B, and an end character, F, must be used in the data field.
1. Punched Card Format
An SO-column Hollerith card (preferably interpreted) punched by an J8M
026 or 029 keypunch should be submitted. The first card will be a title
card; the format is as follows:

a. Title Card

4 or 8

DESIGNATION

1

1I

NO. OF OUTPUTS

TITLE CARD

CUSTOMER'S
INTEL PIN
DIVISION OR
LOCATION
CUSTOMER'S PIN
,----....1..-------,,1
r--L-,
~

CUSTOMER'S

I

COM~ANY NAME

I '

DECIMAL NUMBER

INDICATING THE
TRUTH TABLE NUMBER

r--;,~·'I·~l.~I:.~·LL[!":':_~.~·r"!:-,""·~.;~'~l~r.·)~·~CO~~R~P--:.--!;:'~,"~:i':!":,ri~~~l;L""':'t4":":"ll.~.
"':'C~:\L""':!I~.~....:-~l2~J~4:;.\-.l-...:.:.(h~~·.~~{J~O
I II
II
III
I

I

I
III

•

I I I I II II
I I
I

I
I

Column

Data

1
2-5
6-30
31-34
35-54

Punch aT
Blank
Customer Company Name
Blank
Customer's Company Division or location
Blank
Customer Part Number
Blank
Punch the Intel 4-digit basic part number
and in ( ) the number of output bits,
e.g., 8316A(8).
Blank
Punch a 2-digit decimal number to identify the truth table number (mask
programmed ch ip select number).

55-57
58-66

~ ~ ~ ~ ~!~! ~,~ I~ I~ ,~! ,~ ~ ~ ~ ~!~ ~~~~~~~~~~ ~ ~~!~~I~~~ ~~,~~~~~~~~ e~~~~e~~~~~~I~I~~~~~,!~ ~,~,~~\~~'~~!
Itlllllll!II!!!!!!II!IIIIIII!!llllllllllllllllllllllll11111111111111111111111\!1

2222222222222222222122222'222222222122222222222222222 22222221222222222'22222222227

67

1111)) 11 311111111111 3111 311111 313313313311333313133333333333 I 333333 II 33331333333

68-75

4 U 444 U4 4 4 4 44 4 4 4 4 4 4 4 4 44 4'" 44 4 4 4 4 ~ U U 4 4 4 4 44 4 4 4 4 4 4 4 4 4 4 ~ 4 44 44 4414 4444 4 4414 4 444 444 4

SS SS SS S SS~ SI SS SSI SSSS SS SS ~ SSS SSS55 SSI S5 5 SS SS SS5 S5555 S5 SS5 S5 S551 S5 SSS 5 5S151 SS5555

76-78
79-80

.66666666666666616666661666666666666& 6 6& 6 &&6& 6 6& &6&16 66&6 6& 666L666666 6666666 666 66

," , 11111'11'" 111 1 r 11 11111'" 1 III 11111 11111 11111 11111 11111,," 11 U 111" 111" 1"
8883881888888888888888888888888888888888888888888888888 8 88 8 e8888 8 8 8 8 8881118 8888

@

999 9 ~ 99199 ~ 999199199 99 91 99 999999999999999991993991 9 99 99 9 9 999 ~ ~ ~ 9 99 99 9 99 9 ~ 9 9 q 999 q
': II"

'"

.0"':

.

'''''I''·I'':t:'I:''/lr.l.;'"alOlll1I1!11\.1I1111101l1:'IUhIP·'''~·,,1\;'/10':."
.. ··, ... ··,:·:·:·

'''I~'1

,,,,.,.0':":;'.', "

··t·· .•

b. For a 2048 word X 8-bit organization only, cards 2' and the following
cards should be punched as shown.

DECIMAL WORD

~~~:~~R~EGINNING

MSB
(OUTPUT 8)

I

,L, I

LSB

DECIMAL NUMBER

I08U::~: ~IELDS

I·

.

7-14

15

rl,

I

16-23
33
34-41
42
43-50

I,Ili'"

I1I11I11 11111111 11111111 11111111 11111111 11111111 IlIlIill 11111111
1111100000000000000000000000000000000000000000000000 0000000000000 0000 0000000 0 011

I ~ :; i;;;i'i 'i'[ 'I"; 'I' 'I '; '; 'I'~:I~: ',;1:,17:; ~~ ~ I I iii ~ i l; ~ ~~;II"tl;l·tlr-r';';'~l ¥;l~'t~I[~'II~'i;at"j'II~i:lt",'~::,~: ~'~. ~l j"11 :\' :Il~

51

222 212 21211 n 2212222222222222122 ZZ222 222 222 222222222222222 22 222 222222 2222 Z 22222 Z

52-59
60
61-68

333JJ33333131333333J3333331JJJJlJ3J33333333333333333'33333333333333JJ333JJJ333JJJ
~

~ ~,u l ••

ss 5 ~ 55I ~ 11111 ~ ~ 5551115 5 i S1111

C, ( I ••• ~ ~ 444444444 4 ~ 444444444444.4 44 ~ 4: 4 H 4444 ~ ~.
j II S) 15 5S1115 :. :. :. 11111 :. ,i 5SII s SIII 5 ~ 5115 511 5) S5

)):.)

69
70-77
78
79-80

,H 6 &t ~ 66' £& 666 66 66 6 66 Et t b i: b ~ lib ~ 11 61i 6ii 6 ii £6 &6 6 £ L0 ~ ~ ii ii 6 6 ii 6 C6 ii Eii ii ii ii 0 ~ 0 ii t ii 50 0 i: &E E0 L6 ii

, " 111III 1; : : ? i I111 i :; I; III : 1111/111111111 II 1111111 / 111/111111111 / /111 ; ill; 11; : 1
868888888 PEt 8888888888888 Ii 88 8 8 8 8 &a8 8 8 8 8 8 8 8 8 &8 8 8 8 &&e8 8 ~ aEaa~ 8 58 &38 8 ~ 6 Eet 5 6 0 tee i

1.

!

"" ~ 9 ~ ~ ~ ~ s ~ q ~ ~ .q. ~ ~ ~ ~ ) ~ .~ 9 ~ ~. ~.~ .~ ~ ~ 9 Q 0 ~ ~ ~ ~ ~ ~ 9, ~ ~ ~ ~, ~. ~ ~ ~ ~. ~ ~.i ~ , 1 ~

2. Paper Tape Format
1" wide paper tape using 7- or 8-bit
ASCII code, such· as a model 33 ASR
teletype produces, or the 11/16" wide
paper tape usi ng a 5-bit Baudot code,
such as a Telex prod uces.
The format requirements are 'as follows:
a. All word fields are to be punched in
consecutive order, starting with word
field 0 (all addresses low). There must
be exactly 2048 word fields for the
2048 X 8 ROM organization.
b. Each word field must begin with
the start character B and end with the
stop character F. There must be exactly 8 data characters between the B
and F.
Start Character ~_

,

Leader: Rubout Key for TWX and Letter
Key for Telex (at least 25 frames).

t t : .; .: •• ; 1 '1

'~ .1 .: ~ ~

. ,

.~

•••

Punch the 5-digit decimal equivalent of
the binary coded location which begins each card. The address is right
justified, Le., 00000, 00008, 00016,
etc.
Blank
Data Field
Blank
Data Field
Blank
Data Field
Blank
Data Field
Blank
Data Field
Blank
Data Field
Blank
Data Field
Blank
Punch same 2-digit decimal number as in
title card.

6

~~~;~~I:;L~~EUMBER

.':.":;.'!.' F'f1J-'rthr1rdt F'f'F'F'WthF' F'F'ftrtrtftH' f'f'F'rtttf'F'f1 F'Htf·ttff·f-'f-' t1Ufcttl'tF'F'f-' f1f1F'f-'t1tHif' f-'ttr'1f-'f'Wtf-'

U 44 U U U 4 U 4 U U 44 4 44

Data

Column
1-5

c.-

'~ ~ ".~ ~

NO OTHER CHARACTERS, SUCH
AS RUBOUTS, ARE ALLOWED ANYWHERE IN A WORD FIELD. If in prepari ng a tape an error is made, the entire word field, including the Band F,
must be rubbed out. Within the word
field, a P results in a high level output
and an N results in a low level output.
c. Preceding the first word field and
following the last word field, there
must be a leader/trai ler length of at

just before each word field (or at least
between every four word fields). When
these carriage returns, etc., are inserted,
the tape may be easily listed on the
teletype for purposes of error checking. The customer may also find it
helpful to insert the word number (as
a comment) at least every four word
fields.

least 25 characters. This should consist
of rubout or null punches -(Jetter key
for Telex tapes).

e. Included in the tape before the
leader should be the customer's complete Telex or TWX number and, if
more than one pattern is being transmitted, the ROM pattern number.

d. Between word fields, comments not
containing B's or F's may be inserted.
Carriage return and line feed characters
should be inserted as a "comment")

f. MSB and LSB are the most and least
significant bit of the device outputs.
Refer to the data sheet for the pin
numbers.

Stap Character

--1

, I

Data Field

I

BPPPN NNNN FBNNNNNNPP F

I

1
Ward'Field 0

L..'

---r-

WardlField 1

5-66

----J

MSB

LSB

t

t

BNPNPPPNNF
I

Word F i~'d 2048

Trailer: Rubaut Key far TWX and Let~~r
Key for Telex {at least .25 framesL

RAMs
8101-2
8111-2

8102-2
8102A-4
81078-4

5101
8210
8222

Silicon Gate MOS

8101-2

1024 BIT (256 x 4) STATIC MOS RAM
WITH SEPARATE 1/0
• 256 x 4 Organization to Meet Needs
for Small System Memories
• Access Time - 850 nsec Max.
• Single + 5V Supply Voltage
• Directly TTL Compatible - All Inputs
and Output
• Static MOS - No Clocks or
Refreshing Required
• Simple Memory Expansion - Chip
Enable Input

• Inputs Protected - All Inputs Have
Protection Against Static Charge
• Low Cost Packaging - 22 Pin Plastic
Dual-In-Line Configuration
• Low Power -

Typically 150 mW

• Three-State Output Capability

OR-Tie

• Output Disable Provided for Ease of
Use in Common Data Bus Systems

®

The Intel 8101-2 is a 256 word by 4 bit static random access memory element using normally off N-channel
MOS devices integrated on a monolithic array. It uses fully DC stable (static) circuitry and therefore requires
no clocks or refreshing to operate. The data is read out nondestructively and has the same polarity as the
input data.
The 8101-2 is designed for memory applications where high performance, low cost, large bit storage, and simple interfacing are important design objectives.
It is directly TTL compatible in all respects: inputs, outputs, and a single +5V supply. Two chip-enables
allow easy selection of an individual package when outputs are OR-tied. An output disable is provided so that
data inputs and outputs can be tied for common I/O systems. Output disable is then used to eliminate any
bidirectional logic.
®

The Intel 8101-2 is fabricated with N-channel silicon gate technology. This technology allows the design and_
production of high performance, easy-to-use MOS circuits and provides a higher functional density on a monolithic chip than either conventional MOS technology or P-channel silicon gate technology.
Intel's silicon gate technology also provides excellent protection against contamination. This permits the use
of low cost silicone packaging.
LOGIC SYMBOL

PIN CONFIGURATION
A3

22

Vee

Ao

01,

A2

21

A4

A,

DO,

A,

20

RIW

A2

01 2

CEl

A3
A4

00 2

Ao

4

As

5

A6

6

19
18

00

17

CE2

16

0°4

8

15

01 4

01,

9

14

0°3

DO,

10

13

01 3

01 2

11

12

0°2

A7

@

AO

---0

ROW
SELECT

01 3

As
003
A 8101-2 01
4
6
A7
0°4

8101-2

GNo

BLOCK DIAGRAM

CELL ARRAY
32 ROWS
32 COLUMNS

Vee

~GND

R/W

00

RIW

CE2

CEl
m~-.~

PIN NAMES

CE2~---I

DIN

DATA INPUT

00

OUTPUT DISABLE

Ao-A.,

ADDRESS INPUTS

DOUT

DATA OUTPUT

RIW

READIWRITE INPUT

Vee

POWER (+5V)

m,CE2

CHIP ENABLE-

00

5-67

::>--4 > o - ~

o=

PIN NUMBERS

SILICON GATE MOS 8101-2

Absolute Maximum Ratings*

*COMMENT:
Stresses above those listed under ''Absolute Maximum
Rating" may cause permanent damage to the device. This
is a stress rating only and functional operation of the device at these or at any other condition above those indicated in the operational sections of this specification is
not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability.

Ambient Temperature Under Bias. . . . .. O°C to 70° C
0

0

Storage T emperatu re .. . . . . . . . . . -65 C to + 150 C
Voltage On Any Pin
With Respect to Ground. . . . . . . ..
Power Dissipation

-0.5V to +7V

. . . . . . . . . . . .. 1 Watt

D.C. and Operating
TA = o°c to 70°C, Vee

= 5V

Charact~ristics

±5% unless otherwise specified.
Typ.[1]

Max.

Unit

10

pA

V,N

110 Leakage Current[2]

15

pA

CE = 2.2V, VO UT = 4.0V

ILO L

1/0 Leakage Current[2]

-50

J1A

CE

lecl

Power Supply Current

60

rnA

V,N = 5.25V, 10 = OmA
TA = 25°C

70

mA

VIN = 5.25V. 10 = OmA

Min.

Parameter

Symbol

Input Current

ILl
I LOH

-

30

~I~~;--l-p~~-;s~;~~c~;~;~~

--1~~:~;-_:
I
VOL

= 0 to 5.25V
= 2.2V,

VOUT

TA = O°C

_

+0.45

VIOL

- V____

10H

= 2.0mA

= -150 p.A

1. Typical values are for T A = 25() e and nominal supply voltage.
2. Input and Output tied together.

OUTPUT SINK CURRENT VS.
OUTPUT VOLTAGE

OUTPUT SOURCE CURRENT VS.
OUTPUT VOLTAGE
:

~

~

-10 .. _.-

AMBIENT TEMPERATURE

~O"l:

l- ---l-----.-i-.-t-.-.--

:

-f

I

!

!

I

I

t'

:

r.'I

I

~l~t-+-- ---T~-I!
I
.-+----+----. I !
25 C

,

_0

I

~.

--,- -

I

-_.V u
4.75V
OUTPUT "HI(iH" TYPICAL

t.---"-'-~---+------""!I--t--o

+---;-

L-.-----'-_.....L.-----lo....-~_"O"-

I

= 0.45V

~_!~~~-~~~-==--------~

Output "Low" Voltage

~E~~:=~utP~-t-·7~igh-~;\/oltage-~------ ---- --i2-+---=~== ~=
NOTE:

Test Conditions

_

1

VOL (VOLTS)

VOH IVOL lS)

5-68

SILICON GATE MOS 8101-2

A.C. Characteristics
READ CYCLE

TA

= o°c

to 70°C, Vee

±5~/~, unless otherwise specified.

= 5V

=I~

tRey

Read Cycle

tA

Access Time

-----

Chip Enable To Output

too

Output Disable To Output

tOF [1]

Data Output to High Z State

- - _ . _ - _ .. _---._-----.

-'-----

--

Max.

Test Conditions

Unit

~--_._---

ns

.- --.--

r

_ _ _ _ ._.__u. ___________

teo

I

Previous Data Read Valid

tOH

Typ.

Min.

Parameter

Symbol

after change of Address

---_._----0

850

ns

~ - - -~ . _ - - - - ~ . _ - - -

6~._~~
550
ns
200~--~~-1

~-

--

0

(See below)

i

ns

WRITE CYCLE
Parameter

Symbol

I

Min.

i,

850

ns

150

ns

tweY

Write Cycle

tAW

Write Delay

tew

Chip Enable To Write

tDW

Data Setup

tOH

Data Hold

twp

Write Pulse

!

630

tWR

Write Recovery

:

50

Typ.

Max.

-T 750

-1

Test Conditions

Unit

ns

500

ns

100

ns

(See below)

---_..._ - - - - - - j - - - - - - - - t - - - - - - - , . . . - - '

,
i

ns

Capacitance

A. C. CONDITIONS OF TEST

ns

I

_---L-

T A = 25°C, f = 1 MHz
-

Input Pulse Levels:

+0.65 Volt to 2.2 Volt
Symbol

Input Pulse Rise and Fall Times:

! Typ.

20nsec

Timing Measurement Reference Level:
1 TTL Gate and CL

Output Load:

Limits (pF)

Test

1.5 Volt
~.:

100pF

Max.

CIN

Input Capacitance
(All Input Pins) V IN = OV

4

8

CoUT

Output Capacitance V OUT = OV

8

12

~-

Waveforms
WRITE CYCLE l2]

READ CYCLE

ADDRESS

CE2 -

00
(COMMON lID) 131

I

-....Il-

CE2

......

t

co - - .

' \ '00 ~.
I '--

tA

-1--- - - - - -y
OUT _ _ j
..A

DATA -

==:>c

/
-----"

ODJ

/'OH
-..J

•

t OF 11;

.'

•

IJATAOUT

V_A_L_ID

DATA
IN

_

.-.

RW

=x

tDf'

j.

- .--., t OH / . - · -

-

~_~_~:_L_I~
tow

-J .
---

tAW ; . . . . . - -

'\

~p

.
NOTES: 1. tDF is with respect to the trailing edge of CE1, CE2, or

OD, whichever occurs first.

2. During the write cycle, 00 is a logical 1 for common 1/0 and "don't care" for sepJ~ate I/O operation.
3. 00 should be tied low for separate I/O operation.

5-69

t

-_.__...:,

tw

~

R

!
I

Silicon Gate MOS 8111-2
1024 BIT (256 x 4) STATIC MOS RAM
WITH COMMON I/O AND OUTPUT DISABLE
•
•
•
•
•

Organization 256 Words by 4 Bits
Access Time - 850 nsec Max.
Common Data Input and Output
Single + 5V Supply Voltage
Directly TTL Compatible - All Inputs
and Output
• Static MOS - No Clocks or
Refreshing Required
• Simple Memory Expansion - Chip
Enable Input

• Fully Decoded Decode

On Chip Address

• Inputs Protected - All Inputs Have
Protection Against Static Charge
• Low Cost Packaging -18 Pin Plastic
Dual-In-Line Configuration
• Low Power -

Typically 150 mW

• Three-State Output Capability

OR-Tie

The Intel®8111-2 is a 256 word by 4 bit static random access memory element using normally off N-channel
MOS devices integrated on a monolithic array. It uses fully DC stable (static) circuitry and therefore requires
no clocks or refreshing to operate. The data is read out nondestructively and has the same polarity as the
input data. Common input/output pins are provided.
The 8111-2 is designed for memory applications in small systems where high performance, low cost, large bit
storage, and simple interfacing are important design objectives.
It is directly TTL compatible in all respects: inputs, outputs, and a single +5V supply. Separate chip enable
(CEl leads allow easy selection of an individual package when outputs are OR-tied.
The Intel®8111-2 is fabricated with N-channel silicon gate technology. This technology allows the design and
production of high performance, easy-to-use MOS circuits and provides a higher functional density on a monolithic chip than either conventional MOS technology or P-channel silicon gate technology.
Intel's silicon gate technology also provides excellent protection against contamination. This permits the use
of low cost silicone packaging.
PIN CONFIGURATION

LOGIC SYMBOL

A3

18

Vee

AO

A2

17

A4

A,

I/O,

Az

I/O z

16

A,

R/W

@

15

tEl

A3

1/0 3

14

1/04

A4

1/04

13

1/03

As

A7

12

1/02

GNO

11

I/O,

10

CE2

Ao

4

As

5

A6

6

00

8111-2

9

BLOCK DIAGRAM

-------0

ROW
SELECT

MEMORY ARRAY
32 ROWS
32 COLUMNS

8111-2

PIN NAMES
AO-A7
00

ADDRESS INPUTS
OUTPUT DISABLE

RIW

READIWR ITE INPUT

CE,

CHIP ENABLE 1

CE2

CHIP ENABLE 2

1/0,- 1/04

DATA INPUT/OUTPUT

o'

5-71

Vee

~GNO

PIN NUMBERS

SILICON GATE MOS 8111-2

Absolute Maximum Ratings*

*COMMENT:
Stresses above those listed under ''Absolute Maximum
Rating" may cause permanent damage to the device. This
is a stress rating only and functional operation of the device at these or at any other condition above those indicated in the operational sections of this specification is
not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability.

Ambient Temperature Under Bias. . . . .. O°C to 70°C
-65°C to +150°C

Storage Temperature

Voltage On Any Pin
With Respect to Ground . . . . . . . ..

-0.5V to +7V

Power Dissipation

1 Watt

D.C. and Operating Characteristics
TA

= O°C to 70°C, VCC = 5V ±5%
Symbol

, unless otherwise specified.

Parameter

Min.

Typ.r 1 ]

Max.

Unit

10

J.1A
J.1A

Input Load Current

III

I/O Leakage Current

15
-50

J1A

60

mA

70

mA

IlOl
ICC1

Power Supply Current

ICC2

Power Supply Current

VIL

Input Low Voltage

-0.5

+0.65

V

VIH

Input High Voltage

2.2

V

Val

Output Low Voltage

Vcc
0.45

VOH

Output High Voltage

NOTES:

30

2.2

= 0 to 5.25V
CE = 2.2V, VI/O = 4.0V
CE = 2.2V, VI/a = 0.45V
VIN = 5.25V
11/0 = OmA, TA = 25°C
VIN = 5.25V
11/0 = OmA, TA = O°C
VIN

IlO H

I/O Leakage Current

Test Conditions

V

10l

V

10H

= 2.0mA
= -150 J.1A

1. Typical values are for T A = 25° C and nominal supply voltage.

OUTPUT SINK CURRENT VS.
OUTPUT VOLTAGE

OUTPUT SOURCE CURRENT VS.
OUTPUT VOLTAGE
AMBIENT TEMPERATURE
-15 ~~-==--~O°C -t----+---I----+--;
25°C
70°C

i

15 ..--+---+--+-~~--+-------t

i

-10 ~----4-..-+---+--t----t--+----1

!

10

~--4---+--'~-~-+--+------4

!
~

..J

o

.2
.-.----+--~-

-5

o

L----L-_..L-.-..L.---.;;;~__.._.

_ _. - .

0.5

1

1.0
VOL (VOLTS)

V OH (VOLTS)

5-72

1.5

SILICON GATE MOS 8111-2

A.C. Characteristics
READ CYCLE TA = o°c to 70°C, Vee

=

5V ±5%, unless otherwise specified.

Symbol

Parameter

tRCY
tA
tco
too
tOF [1]

Read Cycle
Access Time
Chip Enable To Output
Output Disable To Output
Data Output to High Z State

tOH

Previous Data Read Valid
after change of Add ress

Typ.

Min.

Max.

Unit

Test Conditions

ns
ns
ns
ns
ns

(See below)

850
850
650
550
200

0

ns

0

WRITE CYCLE
Symbol

Parameter

twCY
tAW
tcw
tow
tOH
twP
tWR

Timing Measurement Reference Level:
Output Load:

Unit

500
100
630
50

Capacitance
20nsec
1.5 Volt

1 TTL Gate and CL = 100pF

Test Conditions

ns
ns
ns
ns
ns
ns
ns

150
750

+0.65 Volt to 2.2 Volt

Input Pulse Rise and Fall Times:

Max.

850

A. C. CONDITIONS OF TEST
Input Pulse Levels:

Typ.

Min.

Write Cycle
Write Delay
Chip Enable To Write
Data Setup
Data Hold
Write Pulse
Write Recovery

TA = 25°C, f

Symbol

CIN
GoUT

(See below)

=

1 MHz
Limits (pF)

Test

Typ.

Max.

4

8

10

15

Input Capacitance
(All Input Pins) VIN = OV
Output Capacitance VOUT = OV

Waveforms
READ CYCLE

WRITE CYCLE

1..-------tReY-----~

----twey-----.. I

ADDRESS

CHIP
ENABLES

ADDRESS

_ ........._""I..- - - t e w - - -..I

.........- " " 1 " - - teo

tCE1, CE2)

CHIP
ENABLES

OUTPUT
DISABLE

OUTPUT
DISABLE
~
~ t OF

I
DATA I/O

DATA OUT
VALID

DATA IN
STABLE

DATA I/O

_---+
READ/
WRITE

"'" f4---lwp ------..............- tWR~

1~-tAW--.I""-----"I

NOTE: 1. tOF is with respect to the trailing edge of eEl, CE2, or 00, whichever occurs first.

5-73

tOH

----.I....- - tow - - - .

Silicon Gate MOS 8102-2
1024 BIT FULLY DECODED STATIC MOS
RANDOM ACCESS MEMORY
• Simple Memory Expansion Enable Input

• Access Time - 850ns Max.
• Single + 5 Volts Supply Voltage
• Directly TTL Compatible - All Inputs
and Output
• Static MOS - No Clocks or
Refreshing Required
• Low Power - Typically 150 mW
• Three-State Output - OR-Tie
Capability

• Fully Decoded Decode

Chip

On Chip Address

• Inputs Protected - All Inputs Have
Protection Against Static Charge
• Low Cost Packaging -16 Pin Plastic
Dual-In-Line Configuration

The Intel@8102-2 is a 1024 word by one bit static random access memory element using normally off
N-channel MOS devices integrated on a monolithic array. It uses fully DC stable (static) circuitry and
therefore requires no clocks or refreshing to operate. The data is read out nondestructively and has the
same polarity as the input data.
The 8102-2 is designed for microcomputer memory applications where high performance, low cost, large
bit storage, and simple interfacing are important design objectives.
It is directly TTL compatible in all respects: inputs, output, and a single +5 volt supply. A separate chip
enable (CE) lead allows easy selection of an individual package when outputs are OR-tied.
The Intel®8102-2 is fabricated with N-channel silicon gate technology. This technology allows the design
and production of high performance, easy-to-use MOS circuits and provides a higher functional density on
a monolithic chip than either conventional MOS technology or P-channel silicon gate technology.
Intel's silicon gate technology also provides excellent protection against contamrnation. This permits the
use of low cost silicone packaging.

LOGIC SYMBOL

PIN CONFIGURATION
A6

16

A7

BLOCK DIAGRAM

Ao

As

2

15

As

RIW

3

14

Ag

A,

4

13

CE

A2

5

12

DATA OUT

AJ

6

11

DATA IN

A7

A4

7

10

Vee

As
Ag

Ao

8

9

A,
A2
AJ
A4
As

8102-2

GND

DIN
CELL
ARRAY
32 ROWS
32 COLUMNS

8102-2

A6

R/W

DOUT

CE

R/W

COLUMN I/O CIRCUITS

DATA
IN

PIN NAMES
DIN
Ao- Ag
RIW

DATA INPUT

CE

ADDRESS INPUTS

DOUT OATA OUTPUT
POWER (+5V)
Vee

READIWRITE INPUT

CHIP ENABLE

0= PIN NUMBERS

5-75

DATA
OUT

SILICON GATE MOS 8102-2

ABSOLUTE MAXIMUM RATINGS·
*COMMENT:
Stresses above those listed under "Absolute Maximum Rating" may cause permanent damage to the
device. This is a stress rating only and functional
operation of the device at these or at any oth~r
condition above those indicated in the operational
sections of this specification is not implied. Exposure to absolute maximum rating conditions for
extended periods may affect device reliability.

Ambient Temperature Under Bias
Storage Temperature
Voltage On Any Pin
With Respect To Ground

-O.5V to +7V

Power Dissipation

. 1 Watt

D.C. AND OPERATING CHARACTERISTICS

= OOC

TA

to +70°C, Vee = 5V ±5% unless otherwise specified

SYMBOL

LIMITS

PARAMETER
--

TYP.(1)

MIN.

MAX.
10

,

III

INPUT LOAD CURRENT
(ALL INPUT PINS)

I LOH

OUTPUT LEAKAGE CURRENT

I lOL

OUTPUT LEAKAGE CURRENT
POWER SUPPLY CURRENT

CC1

--

~--

30

I CC2

TEST CONDITIONS

p.A

VIN = 0 to 5.25V

10

IJA

CE = 2.2V, VOUT = 4.0V

-100

IJA

CE = 2.2V, VOUT = O.45V
ALL INPUTS = 5.25V
DATA OUT OPEN
TA = 25°C

60

'

i

UNIT

I,

mA

i

I

70

POWER SUPPLY CURREN:=]

mA

ALL INPUTS = 5.25V
DATA OUT OPEN
TA = OOC

I
I

i

I

V

Vee

i

V

+0.45

!

V

'Ol= 1.9mA

I

V

'OH= -100IJA

Vil

INPUT "LOW" VOLTAGE

-0.5

+0.65

V1H

INPUT "HIGH" VOLTAGE

2.2

OUTPUT "LOW" VOL-rAGE

VOL
VOH

2.2

OUTPUT "HIGH" VOLTAGE

I

!

I
I

Typical values are for T A = 25°C and nominal supply voltage.

(1)

TYPICAL D.C. CHARACTERISTICS
POWER SUPPLY CURRENT VS.
SUPPLY VOLTAGE

POWER SUPPL V CURRENT VS.
AMBIENT TEMPERATURE
80

I

~

0

50

I

~4~!

60

!

w

I

I

.

V

--+--T~'-- cc

70

,

I

I

-'~--i---±

Y:

SPEC.
'-"-- POINTS

I

= 525V

_ I:

50

n

I._

,..- ..

~

_

t?

1-

~

.

·l - -,-+----+---1

+_.-

I

- -+-- --.~!
I

\

-_+____f

I

30


<{

- -

+- -

AMBI~NT TEMPERAl URE ~ 25°C

E

i i i

<{

w

40

4 - -

40

___

o~.

a:
w
>

--.-i

20 - _ ..

t


«
u

40

..s

..s
w

«
a:
w

>
«

40

u
~

_u
30

20

10

V

/

o(-.(v~

~

'............ ""

0

20
10 ' - -_ _

o

10

~

_

_

20

_

_

"

_

"

"

30

"

'

O

-

'

_

40

.

.

I

o

o

.

_

-

50

-

I

__

.

.

60

3

70

4

5
Vee (VOLTS)

AMBIENT TEMPERATURE (OC)

5-80

6

SILICON GATE MOS 8102A-4

A. C. Characteristics

TA = O°C to 70°C, Vee = 5V ±5% unless otherwise specified
Limits

Parameter

Symbol

TypJ1 ]

Min.

Max.

Unit

READ CYCLE

450

ns

tRC

Read Cycle

tA

Access Time

450

ns

tco

Chip Enable to Output Time

230

ns

tOHl

Previous Read Data Valid with Respect to Address

tOH2
WRITE CYCLE

Previous Read Data Valid with Respect to Chip Enable

40

ns

0

ns
ns
ns

twc

Write Cycle

tAW

Address to Write Setup Time

450
20

twP

Write Pulse Width

300

ns

tWA

Write Recovery Time

0

ns

tow

Data Setup Time

300

ns

tOH

Data Hold Time

0

ns

tcw

Chip Enable to Write Setup Time

300

ns

NOTE:

1. Typical values are for TA = 25° C and nominal supply voltage.

Capacitance l21 TA
A. C. CONDITIONS OF TEST
Input Pulse Levels:

Output Load:

LIMITS (pF)
Typ.,[1] MAX.

TEST

SYMBOL
0.8 Volt to 2.0 Volt

Input Rise and Fall Times:
Timing Measurement
Reference Levels

= 25°C, f = 1 MHz

INPUT CAPACITANCE
(ALL INPUT PINS) V1N

C 1N

10nsec

Inputs:
Output:

1.5 Volts
0.8 and 2.0 Volts

C OUT

1 TTL Gate! and CL = 100 pF

=:

OUTPUT CAPACITANCE

VOUT = OV
NOTE:

2. This parameter is periodically sampled
and is not 100% tested.

Waveforms
READ CYCLE

WRITE CYCLE

twe

tRC

ADDRESS

CD
teo
CHIP
ENABLE

CHIP
ENABLE
tA

DATA
OUT

'ew

twP

READI
WRITE

CD
®
fj)

1.5 VOLTS

2.0 VOLTS
0.8 VOLTS

OV

tow

DATA
IN

5-81

DATA CAN
CHANGE

DATA STABLE

3

5

7

10

SILICON GATE MOS 8102A-4

Typical D. C. and A. C. Characteristics
POWER SUPPLY CURRENT VS.
SUPPLY VOLTAGE

POWER SUPPLY CURRENT VS.
AMBIENT TEMPERATURE
45

35

I I

40

30

VeeMAX.-

ct

............

30

25

r---___
-..............
TYPICAL
~

!

-

........

/r
/

10

o

10

20

30

40

50

60

5

70

I
1

T (OC)
A

Vee (VOLTS)

OUTPUT SOURCE CURRENT VS.
OUTPUT VOLTAGE

OUTPUT SINK CURRENT VS.
OUTPUT VOLTAGE
30

-30

-25
-20

ct
!

~PICAL

/

20
15

20

15

V

./

25

35

i~

I

TA "'25°C-

f--

-15

"

\ ..
\

%

~

-10

25
20
TYPICAL
TA

~

;:

25°C

Vee MIN.

10

'~

-5

V

/
j'

15

J

~

/

TYPICAL

= 25'C

TA

Vee MIN.

I

'""'"

VOH (VOLTS)

VOL (VOLTS)

ACCESS TIME VS. Vee
NORMALIZED TO Vee = 5.0V

VIN LIMITS VS. TEMPERATURE

1.05

1.8

TA
1.6...----+--_+_-

~
....

~

,......,.....1-

1.00
1.4...----+--_+_-+--+----+--t----t

Z

>1.2 ...----+--_+_-+---+----+--t----t

0.95

""

..

.l

700C

CYCLE TIME = 350ns

~

Vee" 5.0V
1.0 0

10

20

30

40

50

60

70

4.0

4.5

5.5

5.0

TA (OC)

6.0

Vee (VOLTS)

ACCESS TIME VS.
LOAD·CAPACITANCE

ACCESS TIME VS.
AMBIENT TEMPERATURE

350 ,...----,----,----r---r----'T"""'-.....,

TA " 25°C
Vee MIN.
1 TTL LOAD

Vee MIN.
1 TTL LOAD
"100pF

c;.

250 t - - - - - t - - - - - - i

250 t-----+--TY.......
P-ICA-L-+----+----I:=........,~--1

-=T---+---+--~

TYPICAL
c

..-:.
150 t - - - - - - I - - - - t - - + - - - t - - - - t - - - i

150 t-----+--+----+--+-----+--t----t

OUTPUT REFERENCE LEVEL" , .5V

OUTPUT REFERENCE LEVELS: VOH '" 2.0V
VOL aO.8V

5O~---I._---I._---.l.---'-----""'"

5OL.-----J...._..L-----L._.....L----L_.........- - - '

o

10

20

30

40

50

60

o

70

100

200

300
C L (pF)

TA (OC)

5-82

400

500

600

Silicon Gate MOS 81078·4
FULLY DECODED RANDOM ACCESS
4096 BIT DYNAMIC MEMORY
* Access Time·· 270 ns max.

*

Read, Write Cycle Times--470 ns max.
* Refresh Period -- 2 ms

• Low Cost Per Bit
• Low Standby Power
• Easy System Interface
• Only One High Voltage
Input Signal- Chip Enable
• TTL Compatible -- All Address,
Data, Write Enable,
Chip Select Inputs
• Read-Modify-Write Cycle
Time _. 590 ns

• Address Registers
Incorporated on the Chip
• Simple Memory ExpansionChip Select Input Lead
• Fully Decoded - On Chip
Address Decode
• Output is Three State and
TTL Compatible
• Industry Standard 22-Pin
Configuration

The Intel 81078 is a 4096 word by 1 bit dynamic n-channel MOS RAM. It was designed for memory applications where
very low cost and large bit storage are important design objectives. The 81078 uses dynamic circuitry which reduces the
standby power dissipation.
Reading information from the memory is non-destructive. Refreshing is most easily accomplished by performing one read
cycle on each of the 64 row addresses. Each row address must be refreshed every two milliseconds. The memory is refreshed whether Chip Select is a logic one or a logic zero.
The 81078 is fabricated with n-channel silicon gate technology. This technology allows the design and production of
high performance, easy to use MOS circuits and provides a higher functional density on a monolithic chip than other
MOS technologies. The 81078 uses a single transistor cell to achieve high speed and low cost. It is a replacement for
the 81078.

PIN CONFIGURATION

LOGIC SYMBOL

81078
Vee

Vss

Ag

As

A,

A,o

A]

A2

A"

~
Vee

CS

A O 0----.

Ao

A,

As
A6
A]

CE

DouT

NC

Ao

As

A,

A.1

A,o

A2

A3

A"

WE

CS

0----.

A2

DIN

AJ

AJ
A4

o.N

Vee

BLOCK DIAGRAM

81078

0----.

ROW DECODE
and BUFFER
REGISTER

A4
~

64

MEMORY
ARRAY

64 x 64

0----.

f64

DOUT

As

Ag
CE 0----.

TIMING
CONTROL
GENERATOR

COLUMN
AMPLIFIERS

CE WE

64

PIN NAMES
DIN

0----.

Ao-A"
CE

ADDRESS INPUTS*

VBB

POWER (-5V)

WE 0----.

CHIP ENABLE

Vee

POWER (+5V)

CS

CS

CHIP SELECT
DATA INPUT

VOO
Vss

POWER (+12V)

DIN
DOUT

DATA OUTPUT

WE

WRITE ENABLE

NC

NOT CONNECTED

GROUND

* Refresh Address A o -As'

5-83

0----.

I/O

.......0

"be

~
~

Vee
Vss

.......0

"BB

SILICON GATE MOS 81078·4

Absolute Maximum Ratings*
ooc to 70°C

Temperature Under Bias

Storage Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. -65°C to +150 0 C
All I nput or Output Voltages with Respect to the most Negative Supply Voltage, Vee . . . . . . . . . . . . . . . . .. +25V to -O.3V

Supply Voltages Vee, Vcc, and Vss with Respect to Vee. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. +20V to -O.3V
Power Dissipation

1.25W

*COMMENT:
Stresses above those listed under ''Absolute Maximum Ratings" may cause permanent damage to the device. This is a stress rating
only and functional operation of the device at these or any other conditions above those indicated in the operational sections of
this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability.

D.C. and Operating Characteristics
T A = 0° C to 70° C, Voo = + 12V ± 5%, Vcc = +5V ± 5%, Vss [1] = -5V ± 5%, Vss = OV, unless otherwise noted.
Symbol

Parameter

Min.

Limits
Typ.[2]

Max.

Unit

Conditions

III

Input Load Current
(all inputs except CE)

.01

10

JJA

VIN

= VIL MIN to V,H MAX

Ilc

Input Load Current

.01

10

JJA

V,N

= V,L MIN

Illol

Output Leakage Current
for high impedance state

.01

10

JJA

CE = VILC or CS = V,H
Vo =OV to 5.25V

to V,H MAX

1001

Voo Supply Current
during CE off[3]

110

200

JJA

CE

= -1V to +.6V

'002

Voo Supply Current
during CE on

80

100

mA

CE

= V,HC, T A = 25°C

100 AV1

Average Vo o Current

55

80

mA

IOOAV2

Average Voo Current

27

40

rnA

Cycletime=470ns, }
tCE = 300ns
Cycle time =1000ns,
tCE = 300ns

ICC1 [4]

Vec Supply Current
during CE off

.01

10

JJA

Iss

VeB Supply Cu rrent

5

100

JJA

Vil

Input Low Voltage

-1.0

0.6

V

VIH

Input High Voltage

2.4

VCC+l

V

VllC

CE Input Low Voltage

-1.0

+1.0

V

VIHC

CE Input High Voltage

Voo-l

Voo+1

V

Val

Output Low Voltage

0.0

0.45

V

Vec

V

VO H

Output High Voltage

2.4

TA

-

CE = V'LC or CS = V,H

tT= 20ns - See Figure 4

= 2.0mA
'OH = -2.0mA

IOl

NOTES:

1. The only requirement for the sequence 'of applying voltage to the device is that VOO, VCC, and VSS should never be .3V more
negative than VSS.
2. Typical values are for TA = 25° C and nominal power supply voltages.
3. The I DO and ICC currents flow to VSS' The I Be current is the sum of all leakage currents.
4. During CE on

VCC supply current is dependent on output loading, VCC is connected to output buffer only.

5-84

= 250C

SILICON GATE MOS 81078·4
Read and Refresh Cycle [1) (Numbers in parentheses are for minimum cycle timing in ns)
~--------------

t Cy (470) ----------------------~

ADDRESS
AND~

ADDRESS CAN CHANGE

0

\'IL
1 4 - - - - - - - - - - - tce (300)

tAC(O)-.......-~

V,HC

----------~

----+-----+-I..-oI!""!!-----------------------.. .

CE

\'JH - -...--~-+------------------------_t-;-.....,r_----.,...--

t cO (2S0)

OoUT .....

VoL - -

IMP~6~NCE

V_A_L_ID_-_-_-:.::=~~~:~~~:~

1-_....iI...

-II.~-----------------

t ACc (270)

Write Cycle

tCF(O)

.1

- - - - - - t Cy (470) --- - - - - - -

\'JH

®
®

ADDRESS
ANDCS

\'JL

t:(~ ~

- - - - - - - - - . 1.._----..--

ADDR ESS STAB LE

ADDRESS CAN CHANGE

:

------. -----..1

CD

. . - - - - t AH (SO)-----.
- t ce (300) _ . _ - - V1HC - - - - - - - - i -

._----_._--~

~~~---------------------.....

®

CE

. . - - - - - tw ' 1 S 0 ) - - - -

o

V'LC - - - -.....-..11

1 4 - - - - - - - - t cw (1S0)
V1H

-----4-----~

------~-----------~
WE CAN CHANGE

V1L

------t--------------I--...----....

-----~~------_t_---

\'JH ------+----------~
DtN CAN CHANGE

DIN

\'JL ------t-----------~

'bH------D

OUT

'-IMP~~~~CE-.~_.......

VOL - - - -

-

--I11111111'.---

U_N_D_E_FI_N_E_D_ _......

-----~
_IM_P~_ri~~_CE_ _ '

--,.teF(O)

NOTES: 1.
2.
3.
4.
5.
6.
7.

For Refresh cycle row and column addresses must be stable before tAC and remain stable for entire tAH period.
VIL MAX is the reference level for measuring timing of the addresses, CS, WE, and DIN.
VIH MIN is the reference level for measuring timing of the addresses, CS, WE, and DIN.
VSS +2.0V is the reference level for measuring timing of CEo
VOO -2V is the reference level for measuring timing of CEo
VSS +2.0V is the reference level for measuring the timing of 00UT.
During CE high typically O.5mA will be drawn from any address pin which is switched from low to high.

5-85

SILICON GATE MOS 81078·4
A. C. Characteristics

TA

= oOc to

0

70 C, Voo

=

12V

± 5%, VCC = 5V ± 10%, Va a

READ, WRITE, AND READ MODIFY/WRITE CYCLE vss
Symbol

Parameter

Min.

Max.

Unit

2

ms

tREF

Time Between Refresh

tAC

Address to CE Set Up Time

0

ns

tAH

Address Hold Time

100

ns

tcc

CE Off Time

130

tT

CE Transition Time

10

tCF

CE Off to Output
High Impedance-State

0

=

= -5V

± 5%,

OV, unless otherwise noted.
Conditions

tAC is measured from end of address transition

ns
40

ns
ns

READ CYCLE
Symbol

Parameter

Min.

Max.

Unit

Conditions

Cycle Time

470

tCE

CE On Time

300

tco

CE Output Delay

250

ns

C10ad

tACC

Address to Output Access

270

ns

Ref =

tWL

CE to WE

0

ns

twc

WE to CE on

0

ns

tCY

ns

4000

tT = 20ns

ns
=

50pF, Load = One TTL Gate,

2.0V.
tACC = tAC + tco + 1tT

WRITE CYCLE
Symbol

Parameter

Min.

Max.

Unit

tCY

Cycle Time

470

tCE

CE On Time

300

tw

WE to CE Off

150

ns

tcw

CE to WE

150

ns

tow [2]

DIN to WE Set Up

0

ns

tOH

DIN Hold Time

0

ns,

twP

WE Pulse Width

50

ns

ns

4000

Conditions
tT

= 20ns

ns

Read Modify Write Cycle
Symbol

Parameter

Min.

Max.

ns

t RwC

Read Modify Write( RMW)
Cycle Time

590

t CRW

CE Width During RMW

420

!wc

WE to CE on

0

ns

tw

WE to CE off

150

ns

twp

WE Pulse Width

50

ns

tow

DIN to WE Set Up

0

ns

t OH

DIN Hold Time

0

ns

tco

CE to Output Delay

250

ns

tACC

Access Time

270

ns

4000

Conditions

Unit
tT = 20ns

ns

5-86

C

10ad

= 50pF, Load = One TTL Gate,

Ref = 2.0V

tACC = tAC + tco + ltT

SILICON GATE MOS 81078·4

Typical Characteristics
Fig. 1. 100 AV VS. TEMPERATURE

Fig. 2. TYPICAL 100 AVERAGE VS. CYCLE TIME

2.0 . - - - - - - - . - - - - - - - . . . - - - - - - ,

1.751--------4------+-----;
39 1-----4---+-.....-....::IIlr-+-----I1--

>

~ 1.51----------+----- -+-----_1

TA

!

0

w

>

1.25

~~":;;~~~b_,~~J;~RAIYl~1ike the 81078. The 8222 is designed
,'<:i"~:/:,

for large, asynchronously driven, dynamic memory systems.

0

~ '~

,

~~';;~~;~'~"!J;F~j»)

eft

BLOCK DIAGRAM

PIN CONFIGURATION

START CYCLE
REFRESH
REQUEST
LOGIC

CYC. REQ.

a

BUSY

ACK
REF. ON

REFREQ
CYREQ
STARTCY
ADDRESS INPUT A 2

CENTER

ADDRESS INPUT A 1
ADDRESS INPUT A o

A 4 ADDRESS INPUT

ADDRESS OUTPUT 00

As ADDRESS INPUT

OUTPUT
ADDRESSES
Ao-A s

MUX
INPUT
ADDRESSES

ADDRESS OUTPUT 0 1

Vee

ADDRESS OUTPUT 02

04 ADDRESS OUTPUT

GROUND

03 ADDRESS OUTPUT

cX/Rxl--I

-=-

5-99

REF.
REa.

osc.

D

I/O
8212
8255
8251

Schottky Bipolar 8212
EIGHT-BIT INPUT/OUTPUT PORT
• 3.65V Output High Voltage
for Direct Interface to 8080
CPU or 8008 CPU
• Asynchronous Register
Clear
• Replaces Buffers, Latches
and Multiplexers in Microcomputer Systems
• Reduces System Package
Count

• Fully Parallel 8-Bit Data
Register and Buffer
• Service Request Flip-Flop
for Interrupt Generation
• Low Input Load Current .25 mA Max.
• Three State Outputs
• Outputs Sink 1.5 mA

The 8212 input/output port consists of an 8-bit latch with 3-state output buffers along with control and device selection
logic. Also included is a service request flip-flop for the generation and control of interrupts to the microprocessor.
The device is multimode in nature. It can be used to implement latches, gated buffers or multiplexers. Thus, all of the principal peripheral and input/output functions of a microcomputer system can be implemented with this device.

PIN CONFIGURATI"ON

LOGIC DIAGRAM
SERVICE REQUEST FF

\

vee

OS1
MO

INT

01,

Dl a

DO,

OOa

01 2

01 7

0°2

0°7

01 3

01 6

00 3

0°6

01 4

015

0°4

0°5

STB

CLR

GND

DS 2

DEVICE SELECTION

-~

[DOS1

I!D OS2
~ MO - - - - + -........L-~

[i> STB - - - - . . . - - - -

11> 01 3 - - - - - - -....................
[[> 01 4 ---------+--+-4
PIN NAMES
01,.01&

DATA IN

oo,-DOa
DSi-DS2
MD

DATA OUT

STB
INT
CLR

[9DI5-------~
.......

DEVICE SELECT
MODE
STROBE
INTERRUPT (ACTIVE LOW)
CLEAR (ACTIVE LOW)

[g> 01 8 - - - - - - - - - 1 -.......

(ACTIVE LOW)

5-101

OUTPUT
BUFFER

SCHOTTKY BIPOLAR 8212
Functional Description
Data Latch
The 8 flip-flops that make up the data latch are of a
"0" type design. The output (Q) of the flip-flop will
follow th~ data input (0) while the clock input (C) is
high. Latching will occur when the clock (C) returns
low.
The data latch is cleared by an asynchronous reset
input (CLR). (Note: Clock (C) Overides Reset (CLR).)
Output Buffer
The outputs of the data latch (Q) are connected to
3-state, non-inverting output buffers. These buffers
have a common control line (EN); this control line
either enables the buffer to transmit the data from
the outputs of the data latch (Q) or disables the
buffer; forcing the output into a high impedance
state. (3 -state)
This high-impedance state allows the designer to
connect the 8212 directly onto the microprocessor
bi-directional data bus.

Service Request Flip-Flop
The (SR) flip-flop is used to generate and control
interrupts in microcomputer systems. It is asynchronously set by the CLR input (active low). When
the (SR) flip-flop is.set it is in the non-interrupting
state.
The output of the (SR) flip-flop (Q) is connected to
an inverting input of a "NOR" gate. The other input
to the "NOR" gate is non-inverting and is connected
to the device selection logic (081 • 082). The output
of the "NOR" gate (INT) is active low (interrupting
state) for connection to active low input priority
generating circuits.
SERVICE REQUEST FF

\
DEVICE SELECTION

-~

[I> OS1
[g> OS2

~ MO - - - - t o 4 '_ _~

[ j j > S T B - -............
OUTPUT
BUFFER

Control Logic
The 8212 has control inputs 051, 052, MO and
STB. These inputs are used to control device selection, data latching, output buffer state and service
request flip-flop.

DATA LATCH

[ [ > 0 1 2 - - - - - - - - + -.....

DS1, DS2 (Device Select)

These 2 inputs are used for device selection. When
OS1 is low and OS2 is high (OS1 • OS2) the device is
selected. In the selected state the output buffer is
enabled and the service request flip-flop (SR) is
asynchronously set.
MD (Mode)
This input is used to control the state of the output
buffer and to determine the source of the clock input
(C) to the data latch.
When MO is high (output mode) the output buffers
are enabled and the source of clock (C) to the data
latch is from the device selection logic (051 • OS2).
When MD is low (input mode) the output buffer state
is det~rmined by the device selection logic (OS1 •
OS2) and the source of clock (C) to the data latch is
the.STB (Strobe) input.

ff§> D IS - - - - - - -..............

~ 01 7

~D18-------~.....

IE> C L R - - - - - 0 0 1

~ ~ _.......--'

(ACTIVE LOW)

STB
~

MD
0
0

,
, ,,

0
0

STB (Strobe)
This input is used as the clock (C) to the data latch
for the input mode MO = 0) and to synchronously
reset the service request flip-flop (SR).

-------+-1-1

0

5-102

,,

, ,,
, -,-

~

Note that the SR flip-flop is negative edge triggered.

0
0

(DS,-DS2)
0
0
0
0

0

C'i:R -

1---

DATA OUT EaUALS
3-STATE

3=STAte-----DATA LATCH
DATA LATCH
DATA LATCH
DATA IN
DATA IN
DATA IN

RESETS DATA LATCH
SETS SR FLlP·FLOP
(NO EFFECT ON OUTPUT BUFFER)

CLR

0

,,,
0

1

(OS1-0S2)
0

STB

1
1
0

'-

,
,

0
0
0
0

~I

,, ,
, ,

-SR

0
1
1

-INTERNAL SR FLIP-FLOP

tNT

0
0
0
0

SCHOTTKY BIPOLAR 8212

Applications Of The 8212 -- For Microcomputer Systems
I
II
III
IV
V
VI

Basic Schematic Symbol
Gated Buffer
Bi-Directional Bus Driver
Interrupting Input Port
Interrupt Instruction Port
Output Port

VII
VIII
IX

8080 Status Latch
8008 System
8080 System:
8 Input Ports
8 Output Ports
8 Level Priority Interrupt

I. Basic Schematic Symbols
Two examples of ways to draw the 8212 on system
schematics-(1) the top being the detailed view
showing pin numbers, and (2) the bottom being the
symbolic view showing the system input or output

as a system bus (bus containing 8 parallel lines).
The output to the data bus is symbolic in referencing 8 parallel lines.

BASIC SCHEMATIC SYMBOLS
OUTPUT DEVICE

INPUT DEVICE

11~-~­

3
5

3

01

5
7
9
16

7
9
16

18

8212

(DETAILED)

4
6

01 STB DO

8
10
8212

15

18
20

20

-

17
19

--

22 INT CLR 21
23 /
MD '" 14

I~

DS 2
13

INPUT
STROBE

SYSTEM
INPUT

2

1

Vee

_ - - - . . . . - OUTPUT
FLAG

(SYMBOLIC)

8212

CLR

INT

INT

GND

DATA BUS

SYSTEM
OUTPUT

8212

CLR

DATA BUS

GATED BUFFER

II. Gated Buffer ( 3· STATE)

3-STATE

The simplest use of the 8212 is that of a gated
buffer. By tying the mode signal low and the strobe
input high, the data latch is acting as a straight
through gate. The output buffers are then enabled
from the device selection logic 051 and 052.
When the device selection logic is false, the outputs

Vee - - - - - - - . . - - - 8TB

INPUT
DATA
(250 ~A)

are 3-state.
When the device selection logic is true, the input
data from the system is directly transferred to the
output. The input data load is 250 micro amps. The
output data can sink 15 milli amps. The minimum
high output is 3.65 volts.

"""'------C)I

8212

CLR

GATING {
CONTROL

(081-082)

5-103

---......--------'

OUTPUT
DATA
(15mA)
(3.65V MIN)

SCHOTTKY BIPOLAR 8212
III. Bi-Directional Bus Driver

BI-DIRECTIONAL BUS DRIVER

A pair of 8212's wired (back-to-back) can be used
as a symmetrical drive, bi-directional bus driver.
The devices are controlled by the data bus input
control which is connected to D81 on the first 8212
and to D82 on the second. One device is active, and
acting as a straight through buffer the other is in
3-state mode. This is a very useful circuit in small
system design.

STB

DATA---~

BUS

DATA BUS
CONTROL
(o= L - R)
(I = R -

1----'---......... OATA

8212

BUS

GND

L)
STB

8212

GND

INTERRUPTING INPUT PORT

IV. Interrupting Input Port
This use of an 8212 is that of a system input port
that accepts a strobe from the system input source,
which in turn clears the service request flip-flop
and interrupts the processor. The processor then
goes through a service routine, identifies the port,
and causes the device selection logic to go true enabling the system input data onto the data bus.

DATA
BUS

INPUT
STROBE
STB

SYSTEM
INPUT

SYSTEM
RESET
PORT
{
SELECTION
(DS1.DS2)

--------'

TO PRIORITY CKT
_ - . . . - (ACTIVE LOW)
OR .
TO CPU
INTERRUPT INPUT

INTERRUPT INSTRUCTION PORT

V. Interrupt Instruction Port
The 8212 can be used to gate the interrupt instruction, normally RESTART instructions, onto the data
bus. The device is enabled from the interrupt
acknowledge signal from the microprocessor and
from a port selection signal. This signal is normally
tied to ground. (081 could be used to multiplex a
variety of interrupt instruction ports onto a common bus).

DATA
BUS
STB

RESTART
INSTRUCTION
(RST 0 - RST 7)

(DSI) PORT SELECTION -

........~

INTERRUPT ACKNOWLEDGE - . . . - - _..........

5-104

SCHOTTKY BIPOLAR 8212
VI. Output Port (With Hand-Shaking)

OUTPUT PORT (WITH HAND-SHAKING)

The 8212 can be used to transmit data from the data
bus to a system output. The output strobe could be
a hand-shaking signal such as "reception of data"
from the device that the system is outputting to. It
in turn, can interrupt the system signifying the reception of data. The selection of the port comes
from the device selection logic. (OS1· OS2)

DATA
BUS
r----~-

OUTPUT STROBE

STB

8212

INT

SYSTEM
INTERRUPT

SYSTEM OUTPUT

CLR 11.>----...-- SYSTEM RESET

L..--

..._-

}

PORT SELECTION
(LATCH CONTROL)
(OS1.0S2)

VII. 8080 Status Latch
Note: The mode signal is tied high so that the output
on the latch is active and enabled all the time.
It is shown that the two areas of concern are the
bidirectional data bus of the microprocessor and the
control bus.

Here the 8212 is used as the status latch for an 8080
microcomputer system. The input to the 8212 latch
is directly from the 8080 data bus. Timing shows
that when the SYNC signal is true, which is connected to the OS2 input and the phase 1 signal is
true, which is a TTL level coming from the clock
generator; then, the status data will be latched into
the 8212.

8080 STATUS LATCH

DO

0,

SYNC
OBIN

19

-17
STATUS
LATCH

15

3

f\

ovJ

OATA BUS

2
22

12V

9

8
°2 7
°3 3
°4 4
Os
5
°6 6
°7

8080

1

10

"'"'---

5
7

\.. -4 ~)

CLOCK GEN.
& DRIVER

9

--

(1TTL)
I""--

16
18
20
22

0,

4
°0 I6- - - INTA
I - - - WO
STACK
~ HLTA
OUT
8212
17
~ M1
19
~ INP
21
I - - - MEMR

T1

L-

1

J..L

CLR
14 OS2 MO OS,

BASIC
2
CONTROL
BUS
SYNC

r<:

·13 12

I

I

5-105

OATA

11

I

OBIN
STATUS

T2

SCHOTTKY BIPOLAR 8212
VIII. 8008 System
This shows the 8212 used in an 8008 microcomputer
system. They are used to multiplex the data from
three different sources onto the 8008 input data bus.
The three sources of data are: memory data, input
data, and the interrupt instruction. The 8212 is also
used as the uni-directional bus driver to provide a
proper drive to the address latches (both low order
and high order are also 8212's) and to provide adequate drive to the output data bus. The control of
these six 8212's in the 8008 system is provided by
the control logic and clock generator circuits. These
circuits consist of flip-flops, decoders, and gates to
generate the control functions necessary for 8008
microcomputer systems. Also note that the input
data port has a strobe input. This allows the proces-

sor to be interrupted from the input port directly.
The control of the input bus consists of the data bus
input signal, control logic, and the appropriate
status signal for bus discipline whether memory
read, input, or interrupt acknowledge. The combination of these four signals determines which one of
these three devices will have access to the input
data bus. The bus driver, which is implemented in
an 8212, is also controlled by the control logic and
clock generator so it can be 3-stated when necessary and also as a control transmission device to
the address latches. Note: The address latches can
be 3-stated for DMA purposes and they provide 15
miHi amps drive, sufficient for large bus systems.

8008 SYSTEM
INPUT
DATA
BUS

BUS
DRIVER

ADDRESS
LATCHES

LOW ORDER
(8 BITS)

MEMORY
DATA

------vee

INPUT
STROBE

00-07

INPUT
DATA

HIGH ORDER
(6 BITS)

SYNC

¢1

INT
READY ~
¢2
I

t

l
BUS
I • • • • • • DATA
OUT

L-..----......----0111 MEM READ
"""--'----------4----rJIII INPUT
- - - - - - - - - 4 - - - - - o I I I I N T ACK
INTERRUPT
INSTRUCTION

8212

- - - - - . . . . . . - - - - - t l D A T A BUS IN
' - f - - I - - - - - - - - - - - - . q , N T REO.
WAIT REQ.------l.MI

'-

(04,5,6,7)

I
b - - - - - - - - - ... WR
I
.. OUT
I

J

CONTROL LOGIC
& CLOCK GEN.

5-106

SCHOTTKY BIPOLAR 8212 .
IX. 8080 System
This drawing shows the 8212 used in the I/O section
of an 8080 microcomputer system. The system consists of 8 input ports, 8 output ports, 8 level priority
systems, and a bidirectional bus driver. (The data
bus within the system is darkened for emphasis).
Basically, the operation would be as follows: The 8
ports, for example, could be connected to 8 keyboards, each keyboard having its own priority level.
The keyboard could provide a strobe input of its
own which would clear the service request flip-flop.
The INT signals are connected to an 8 level priority
encoding circuit. This circuit provides a positive
true level to the central processor (lNT) along with
a three-bit code to the interrupt instruction port for
the generation of RESTART instructions. Once the
processor has been interrupted and it acknowledges
the reception of the interrupt, the Interrupt Acknowledge signal is generated. This signal transfers data
in the form of a RESTART instruction onto the buffered data bus. When the DBIN signal is true this
RESTART instruction is gated into the microcomputer, in this case, the 8080 CPU. The 8080 then performs a software controlled interrupt service routine,
saving the status of its current operation in the
push-down stack and performing an INPUT instruction. The INPUT instruction thus sets the INP status

bit, which is common to all input ports.
Also present is the address of the device on the
8080 address bus which in this system is connected
to an 8205, one out of eight decoder with active low
outputs. These active low outputs will enable one of
the input ports, the one that interrupted the processor, to put its data onto the buffered data bus to be
transmitted to the CPU when the data bus input
signal is true. The processor can also output data
from the 8080 data bus to the buffered data bus
when the data bus input signal is false. Using the
same address selection technique from the 8205
decoder and the output status bit, we can select
with this system one of eight output ports to transmit the data to the system's output device structure.
Note: This basic I/O configuration for the 8080 can
be expanded to 256 input devices and 256 output
devices all using 8212 and, of course, the appropriate decoding.

5-107

Note that the 8080 is a 3.3-volt minimum high input
requirement and that the 8212 has a 3.65-volt minimum high output providing the designer with a 350
milli volt noise margin worst case for 8080 systems
when using the 8212.

SCHOTTKY BIPOLAR 8212

(See Note 1)

AO - '

A 1 --+8080
ADDRESS .:...
BUS

A 2 --+-

8205

ST;~;T:¢ ST:212 t :7: :~ l l ltn ~

::=:-

~ ~ E1
~ --0 E2
::Vee- ..E_3_ _..

~ ;:N~~-

I/O DEVICE
SELECTOR

:IIII[

INP - -......----t-t-t-t-t-+--+-t------------+-6

8212

_~L~ee?

=> ~:~~T

STROBE 2 ---. STB
INPUT ~
PORT 2

L-Y

STATUS
BITS -

8212

8212

~ OUTPUT
PORT 2

W

~ CLR

_

INT

OUT ----t------r-t-t-t-t----ir+-t-----------+--+----1~:::::f_4

r-

D:J:~!I.

DalN-t?!NrJ

~
~

8212

I

8212

~

I

I
0 '1IO-++++----4~
1 IO-++++-.-.....~
2 1O-++++---oIt--.....

H

I

~
--I

................

I

v~e

~

I:
I
L __ II_

8212

u

+--.s>

GND

-----..----t:

INTERRUPT
INSTRUCTION
PORT (RST)

~

L-~

:111

8212

y

~ OUTPUT

W

PORT 4

_~L:ee y

ST;~;;~¢ ST:212 ~m:~~j!II!:w::7::~3 8212 t> ~~~~~T
~ ~~~~_. I! ! -~~e I

I
I

..I

I

PRIORITY
ENCODER &
INTERRUPT
GENERATING
LOGIC CIRCUITS
(USER DESIGNED)

CLR

~f

:::::

i

I

GND

y

1G~D

I

ttm::zb ill\:,z:Zht~

8212

1O-++++---oIt---------<:::JIINT

5 1O-++++---oIt--_

=:

I

INPUT ~
PORT 4 L.-,I

3 IO-++++-.....-~

4

Ill::

STROBE 4 --. STB

I

I

I

-

-

I

I

PORT 3

0-<1

-,

I

~
8080 --...J..

~ OUTPUT

I
I
I
Vee I
I

BUFFERED
DATA
BUS

INT
ACK

ST;;;;T::: ST:212 m::ili::~Jtmm:~ 8212 W
_----L.-,I-<~J11INT CLR -Y[[~\! . : CLR
. 1G~D L-_ :::[:[ ,_-.J Vee Y

--------004----------1

ST;;;;T:¢

ST:2~ : : : : : : : :~

.......------<=.11 INT CLR ~~

II::::::::::::::::::::?
:~:~:

8212

~ OUTPUT

hi" PORT 6

~ CLR

1G~D L-_ \l~\l -~ Vee I

BI-DI RECTIONAL
BUS DRIVER

STROBE 7 ---+- STB
8212

8212

~OUTPUT
PORT 7

W

SYSTEM--.....RESET
Note 1. This basic I/O configuration for the 8080 can be expanded to 256 input devices and 256 output devices all using 8212 and the appropriate decoding.

5-108

SCHOTTKY BIPOLAR 8212
Absolute Maximum Ratings·
Temperature Under Bias Plastic .. -65°C to + 75°C
Storage Temperature

-65°C to +160°C

All Output or Supply Voltages

- 0.5 to + 7 Volts

,All Input Voltages

-1.0 to 5.5 Volts

Output Currents

*COMMENT: Stresses above those listed under "Absolute Maximum Ratings"
may cause permanent damage to the device. This is a stress rating only and
functional operation of the device at these or at any other condition above
those indicated in the operational sections of this specification is not implied.

125 mA

D.C. Characteristics
= O°C to + 75°C 'Vee = +5V ±5°k

TA

Symbol

Parameter

Limits
Min.

Typ.

Unit

Test Conditions

Max.

IF

Input Load Current
ACK, 05 2 , CR, Oll-Ols Inputs

-.25

mA

VF = .45V

IF

Input Load Current
MO Input

-.75

mA

VF = .45V

IF

Input Load Current
OSI Input

-1.0

mA

VF = .45V

IR

Input Leakage Current
ACK, OS, CR, Oil-Dis Inputs

10

}lA

VR

= 5.25V

IR

Input Leakage Current
MO Input

30

JvtA

VR

= 5.25V

IR

Input Leakage Current
OSI Input

40

{tA

VR

= 5.25V

Vc

Input Forward Voltage Clamp

-1

V

Ie

= -5 mA

V1L
V1H

Input "Low" Voltage

.85

V

VOL

Output "Low" Voltage

VOH
Ise

Output "High" Voltage

3.65

Short Circuit Output Current

-15

Input "High" Voltage

11 01

Output Leakage Current
High Impedance State

lee

Power Supply Current

2.0

V
.45
4.0

90

5-109

V
V

-75
20

mA

130

mA

{tA

= 15 mA
10H = -1 mA
Va = OV
Va = .45V/ 5.25V
lal

SCHOTTKY BIPOLAR 8212
Typical Characteristics
INPUT CURRENT YS. INPUT YOLTAGE
o

r

Vee

Vee

(;"

....z

TA =o°c""'"

'/

w

-150

«

E

= 25°C
V : / TA =75°C
V
/ TA

I-

zw

I-

I:::J

~

60

a:
a:
:::J
u

u

a.

=+5.0V

801-----1----1----+--------4

I

«
-100
..=:
~

100 ....----.,...----.,...----~--____.

~~~

=+5.0V

-50

:::J

OUTPUT CURRENT VS. OUTPUT "LOW" YOLTAGE

:;)

....a.
:;)

-200

40

0

20
-250

-300

-3

-2

o

-1

+1

+2

O'---~~'-----'-----.L..------'

o

+3

.2

INPUT VOLTAGE (vt

DATA TO OUTPUT DELAY
YS. LOAD CAPACITANCE

O---.......---------------.--~-5

.8

.6

OUTPUT "LOW" VOLTAGE (V)

OUTPUT CURRENT YS.
OUTPUT "HIGH" YOLTAGE
Vee

.4

50

=+5.0V

I

Vee =- +5.0V
TA = 25°C

I-----+----+----+------#~----I

40

«

E.

-10
TA

!

=75"C

>
et

~

w

I-

z
w

a:
a:

TA = 25"C

:::J

u

I-

:::>

0
I:::J
CL
I:::J

-15

1----+------.,~~-4---=
TA =

-20

O"'C

0
0

CL

......- ~

et
et

-'

I-

-25

.,.,-""-

0

.,.,-""-

~~

~.,.,-

.,.,---

-

\ ++ .,.,-"".- .,.,20

I-

I:::J

0

30

~

.,.,-

.,.,-0iI'

~

10
-30

-35

O.

22

1.0

3.0

2.0

4.0

5.0

100

50

150

200

250

OUTPUT "HIGH" VOLTAGE (V)

LOAD CAPACITANCE (pF)

DATA TO OUTPUT DELAY
YS. TEMPERATURE

WRITE ENABLE TO OUTPUT DELAY
YS. TEMPERATURE
40

T
Vee = +5.0V

300

1

vee

=+5.0V
I

20

E.
et

«

18

CL

\.';,'c"

16

0
0

I-

et
et

w

1..0'/

~

I:::J

~

//
~

w

0
I:::J

I

>

III

.:
>

35

,," "
~"

14

30

o
oI-

25

I:::J
CL
I:::J

"

-

c

t--

\.'c~
"

5TB<
05 2

W

~

~

co
~

I-

20

w
w

0

--~

---- ... -------~----

"filii'

,,-""- ____ f'" -\'
-\.'-,

.,.,-

~

--t +_

t-_
............

05,<:: ~ ~

I-

~
~

12

10
-25

o

25

50

75

10
-25

100

TEMPERATURE (OC)

--

15

o

25

50

TEMPERATURE rc)

5-110

75

100

SCHOTTKY BIPOLAR 8212
Timing Diagram

1.5Vy----------y.5V

DATA

_____ -J.

I;==t
pw

1.5vl

STB or oSl • oS2

~twE=J

~I_

tH

:.j'----

' -1._5V

_

-/'10-:-------

OUTPUT

1.5Vj

oSl. OS2

________l_tE_~ r

~E~~~W_)

_

X

OUTPUT

\1.5V
__

~-t-D-~----

~----,~t-

I~tpw~I

1.5V\.

eLR

.5fV

11.5V

~~~~~~~~~~~~1r-----

><"-:._5V

DO

_____ J

r1.5V

.

_ _ _ _ _ _ _--+-_--_--_-_tS
_E_T_--__'-_"
STB or

_

1.SV X- - - ----------- -- 'i1.5V

DATA

OS, •

DS2

~
'OUTPUT

-j

tPD-j

J{SV- - - - - - - - - --

_ _ _ _ _ _ _ .J

-----,I

STB

_

_'I~

tH

!--tpw

\~1.5V

_
1.5V
~tPw-~ts
I

NOTE: ALTERNATIVE TEST LOAD

Vcc
10K
OUT

0---....----.
CL

·lK

5-111

Y

VOH
VOL

SCHOTTKY BIPOLAR 8212
A.C. Characteristics
TA = O°C to + 75°C
Symbol

Vee

=

+5V ± 5%
Limits

Parameter

Typ.

Min.

Unit

t pw

Pulse Width

t pd

Data To Output Delay

30

ns

t we

Write Enable To Output Delay

40

ns

t set

Data Setu·p Time

15

ns

th

Data Hold Time

20

ns

tr

Reset To Output Delay

40

ns

ts

Set To Output Delay

30

ns

te

Output Enable/Disable Time

45

ns

tc

Clear To Output Delay

55

ns

CAPACITANCE *
Symbol

F

30

= 1 MHz

VsrAs

= 2.5V

Vee

Test Conditions

Max.
ns

=

Test

+5V

TA = 25°C

LIMITS
Typ.

Max.

CIN

DS I MD Input Capacitance

9 pF

12 pF

CIN

DS 2 , CK, ACK, Oil-Dis
Input Capacitance

5 pF

9 pF

COUT

DOl-DOs Output Capacitance

8 pF

12 pF

*This parameter is sampled and not 100% tested.

Switching Characteristics
TEST LOAD

CONDITIONS OF TEST
Input Pulse Amplitude = 2.5 V
Input Rise and Fall Times 5 ns
Between 1V and 2V Measurements made at 1.5V
with 15 rnA & 30 pF Test Load

15mA & 30pF

300
TO
D.U.T.

600

* INCLUDING JIG &

5-112

PROBE CAPACITANCE

Silicon Gate MOS 8255
PROGRAMMABLE PERIPHERAL INTERFACE
• Direct Bit Set/Reset Capability
Easing Control Application Interface
• 40 Pin Dual In-Line Package
• Reduces System Package Count

• 24 Programmable I/O Pins
• Completely TTL Compatible
• Fully Comp.atible with MCS™-8 and
MCSTM'_80 Microprocessor Families

The 8255 is a general purpose programmable I/O device designed for use with both the 8008 and 8080
microprocessors. It has 24 I/O pins which may be individually programmed in two groups of twelve and
used in three major modes of operation. In the first mode (Mode 0), each group of twelve I/O pins may be
programmed in sets of 4 to be input or output. In Mode 1, the second mode, each group may be programmed
to have 8 lines of input or output. Of the remaining four pins three are used for handshaking and interrupt
control signals. The third mode of operation (Mode 2) is a Bidirectional Bus mode which uses 8 lines for a
bidirectional bus, and five lines, borrowing one from the other group, for handshaking.
Other features of the 8255 include bit set and reset capability and the ability to source 1mA of current at
1.5 volts. This allows darlington transistors to be directly driven for applications such as printers and high
voltage displays.

PIN CONFIGURATION
PA3

1

PA2

2

39

PA5

PAl

3

38

PA6

PAO

4

37

PA7

AD

5

36

WR

cs

G

35

RESET

GNO

7

34

DO

Al

8

33

01

AO

9

32

O2

PC7

10

31

03

PCG

11

30

04

PC5

12

29

Os

PC4

13

28

06

PCO

14

27

~

8255

8255 BLOCK DIAGRAM

S~~~lEI~S

1--

+SV
--GND

1'\.....-----./

PCl

15

26

V
CC

PC2

16

25

PB7

PC3

17

24

PB6

PBO

18

23

PB5

PB1

19

22

PB4

PB2

20

21

PB3

I/~-~

1'\......--.-.... /

iffi

A,

PIN NAMES
DATA BUS (BI-DIRECTIONAL)
RESET INPUT

CS

CHIP SELECT
READ INPUT

WR

WRITE INPUT

AO,A1

PORT ADDRESS

PA7·PAO.

PORT A (BIT)

PB7·PBO

PORT B (BIT)

PC7·PCO

PORT C (BIT)

VCC

+5 VOLTS

GND

gVOLTS

1'0
PC3·PCO

0

- - - 0 :~~~~
I C~~~~~L

./'--""_ ,
1'\......--.-

Ao---I
RESET---I

0 7 -00
RESET

1'0
PCrPC4

BI·DIRECTIONAl DATA BUS

WR

RD

1'0
1'\.,....---./ PA7·PAO

cs------'

5-113

/

1/0

PBrPBo

SILICON GATE MOS 8255
8255 BASIC FUNCTIONAL DESCRIPTION

(RD)

General

Read: A II10w" on this input pin enables the 8255 to send
the Data or Status information to the 8080 CPU on the
Data Bus. In essence, it allows the 8080 CPU to II read from"
the 8255.

The 8255 is a Programmable Peripheral Interface (PPI) device designed for use in 8080 Microcomputer Systems. Its
function is that of a general purpose I/O component to interface peripheral equipment to the 8080 system bus. The
functional configuration of the 8255 is programmed by the
system software so that normally no external logic is necessary to interface peripheral devices or structures.

(WR)

Write: A "low" on this input pin enables the 8080 CPU to
write Data or Control words into the 8255.

(AO and A1)

Data Bus Buffer

Port Select 0 and Port Select 1: These input signals, in conjunction with the RD and WR inputs, control the selection of
one of the three ports or the Control Word Register. They
are normally connected to the least significant bits of the
Address Bus (A o and A 1 ).

This 3-state, bi-directional, eight bit buffer is used to interface the 8255 to the 8080 system data bus. Data is transmitted or received by the buffer upon execution of INput
or OUTput instructions by the 8080 cPU. Control Words
and Status information are also transferred through the Data
Bus buffer.

8255 BASIC OPERATION
AO
0
1
0

RD

WR

CS

0
0
0

1
1
1

0
0
0

PORT A ~ DATA BUS
PORT B => DATA BUS
PORT C=> DATA BUS
OUTPUT OPERATION
(WRITE)

0
0

0

1
1

0

1
1
1
1

0
0
0
0

0
0
0
0

DATA BUS => PORT A
DATA BUS => PORT B
DATA BUS~ PORT C
DATA BUS => CONTROL

X

X

X

1

1

1

X
0

1

0

A1

Read/Write and Control Logic

0
0

The function of this block is to manage all of the internal
and external transfers of both Data and Control or Status
words. It accepts inputs from the 8080 CPU Address and
Control busses and in turn, issues commands to both of the
Control Groups.

1

1
1

INPUT OPERATION (READ)

DISABLE FUNCTION

Chip Select: A "low" on this input pin enables the communication between the 8255 and the 8080 CPU.

8255 Block Diagram
5-114

DATA BUS=> 3-STATE
ILLEGAL CONDITION

SILICON GATE MOS 8255
(RESET)

Ports A, B, and C

Reset: A "high" on this input clears all internal registers including the Control Register and all ports (A, B, C) are set
to the input mode.

The 8255 contains three 8-bit ports (A, S, and C). All can
be configured in a wide variety of functional characteristics
by the system software but each has its own speci al featu res
or "personality" to further enhance the power and flexibil ity of the 8255.

Group A and Group B Controls
The functional configuration of each port is programmed
by the systems software. In essence, the 8080 CPU "outputs" a control word to the 8255. The control word contains information such as "mode", "bit set", "bit reset"
etc. that initializes the functional configuration of the 8255.

Port A: One 8-bit data output latch/buffer and one 8-bit
data input latch.
Port B: One 8-bit data input/output latch/buffer and one
8-bit data input buffer.

Each of the Control blocks (Group A and Group B) accepts
"commands" from the Read/Write. Control Logic, receives
"control words" from the internal data bus and issues the
proper commands to its associated ports.

Port C: One 8-bit data output latch/buffer and one 8-bit
data input buffer (no latch for input). This port can be divided into two 4-bit ports under the mode control. Each 4bit port contains a 4-bit latch and it can be used for the
control signal outputs and status signal inputs in conjunction with Ports A and B.

Control Group A - Port A and Port C upper (C7-C4)
Control Group B - Port B and Port Clower (C3-CO)
The Control Word Register can Only be written into. No
Read operation of the Control Word Register is allowed.

8255 BLOCK DIAGRAM

PIN CONFIGURATION
PA3

1

PA2

2

39

PA5

PAl

3

38

PA6

PAO

4

37

PA7

AD

5

36

WR

cs

6

35

RESET

GNO

7

34

DO

A1

8

33

0,

AO

9

32

O2

PC7

10

31

03

PC6

11

30

04

PC5

12

Os

PC4

13

06

PCO

14

PC1

15

PA4

8255

0,
26

V
CC

P86

PC2

16

PC3

17

24

P80

18

23

P85

P81

19

22

P84

P82

20

21

P83

P87

PIN NAMES
0 7 -00

5-115

DATA BUS (BI-DIRECTIONAL)

RESET

RESET INPUT

CS

CHIP SELECT

RD

READ INPUT

WR

WRITE INPUT

AO,A1

PORT ADDRESS

PA7·PAO

PORT A (BIT)

PB7·PBO

PORT B (BIT)

PC7·PCO

PORT C (SfT)

VCC
GND

+5VOL1S
"VOLTS

j

1

SILICON GATE MOS 8255
8255 DETAILED OPERATIONAL DESCRIPTION
CONTROL WORD

Mode Selection
There are three basic modes of operation that can be selected by the system software:
Mode 0 - Basic Input/Output
Mode 1 - Strobed Input/Output
Mode 2 - Bi-Directional Bus

~

When the RESET input goes "high" all ports will be set to
the Input mode (Le., all 24 lines will be in the high impedance state). After the RESET is removed the 8255 can
remain in the Input mode with no additional initialization
required. During the execution of the system program any
of the other modes may be selected using a single OUTput
instruction. This allows a single 8255 to service a variety of
peripheral devices with a simple software maintenance routine.

GROUPB

'"

PORT C (LOWER)
1 = INPUT
0= OUTPUT

~

PORTB
1 = INPUT
0= OUTPUT

MODE SELECTION
0= MODE 0
1 = MODE 1

The modes for Port A and Port B can be separately defined,
while Port C is divided into two portions as required by the
Port A and Port B definitions. All of the output registers, including the status fl ip-flops, will be reset whenever the
mode is changed. Modes may be combined so that their
functional definition can be "tailored" to almost any I/O
structure. For instance; Group B can be programmed in
Mode 0 to monitor simple switch closings or display computational results, Group A could be programmed in Mode 1
to monitor a keyboard or tape reader on an interrupt-driven
basis.

;I'

GROUP A

'"

PORT C (UPPER)
1 = INPUT
0= OUTPUT

PORTA
1 = INPUT
0= OUTPUT
MODE SELECTION
00= MODE 0
01 = MODE 1
1X =MODE 2

MODE SET FLAG
1 = ACTIVE

Mode Definition Format

C

MODE

1

--....rL.~~8~B-1/-o..J;itllfTm=;;;;:;;:::;:t:=::::;:::;:;:::;;J.i-~~:~I.J/O
Pa,.PBo

MODE 2

CONTROL
OR I/O

CONTROL
OR I/O

~"'----rrrnmi
I/O

I

CONtROL

PA7 ·pAo

A

r

The Mode definitions and possible Mode combinations may
seem confusing at first but after a cursory review of the
complete device operation a simple, logical I/O approach
will surface. The design of the 8255 has taken into account
things such as efficient PC board layout, control signal definition vs PC layout and complete functional flexibility to
support almost any peripheral device with no external logic.
Such design represents the maximum use of the available
pins.

~I.DIRECTIONAL
Single Bit Set/Reset Feature

I

Any of the eight bits of Port C can be Set or Reset using a
single OUTput instruction. This feature reduces software
requirements in Control-based applications.

Basic Mode Definitions and Bus Interface
5-116

SILICON GATE MOS 8255
When Port C is being used as status/control for Port A or B,
these bits can be set or reset by using the Bit Set/Reset operation just as if they were data output ports.

CONTROL WORD

r

07

t

06

I 1
05

04

I 0 3 1 O2 I

0,

I

DO

I

L

I I x,I
,x
X

I

Interrupt Control Functions
BIT SET/RESET
1 =SET
0:: RESET

DON'T
CARE
BIT SELECT
o1 2 3 4
o1 o1 o
o0 1 1 o
o0 o0 1

5 6 7
1 o1
0 1 1 B,-l
1 1 1 B21

801

When' the-' 8255 is programmed to operate in Mode 1 or
Mode 2, control signals are provided that can be used as
interrupt request inputs to the CPU. The interrupt request
signals, generated from Port C, can be inhibited or enabled
by setting or resetting the associated INTE flip-flop, using
the' Bit set/reset function of Port C.
This function allows the Programmer to disallow or allow a
.specific I/O device to interrupt the CPU without effecting
any other device in the interrupt structure.
INTE flip-flop definition:

BIT SET/RESET FLAG
Om ACTIVE

(BIT-SET) - INTE is SET - Interrupt enable
(BIT-RESET) - INTE is RESET - Interrupt disable
Note: All Mask flip-flops are automatically reset during
mode selection and device Reset.

Bit Set/Reset Format

Operating Modes

Mode 0 Basic Functional Definitions:

Mode 0 (Basic Input/Output)

• Two 8-bit ports and two 4-bit ports.
• Any port can be input or output.
• Outputs are latched.
• Inputs are not latched.
• 16 different Input/Output configurations are possible
in this Mode.

This functional configuratioD provides simple .1 nput and
Output operations for each ,of the three ports. No "handshaking" is required, data is simply written to or read from
a specified port.

BASIC INPUT
TIMING (07-00
FOLLOWS INPUT,
NO LATCHING)

INPUT

---------

tDELAYTIME
FROM RD

t DELAY TIME

FROM INPUT DATA

-------X
-------

X-----------

~ SET·UP VIOLATION

BASIC OUTPUT
TIMING (OUTPUTS
LATCHED)
OUTPUT
tDATA - .
SET·UP

Mode 0 Timing
5-117

SILICON GATE MOS 8255
MODE 0 PORT DEFINITION CHART
A

B

GROUPA

GROUPB

PORTC

PORTC

04

03

01

DO

PORTA

0
0
0
0
0
0
0
0

0
0
0
0

0
0
1
1
0
0

0
1
0

OUTPUT

OUTPUT

OUTPUT
OUTPUT

1

1
0
0

1

OUTPUT

INPUT

7

INPUT

INPUT

0

INPUT

OUTPUT

8

OUTPUT

OUTPUT

1

INPUT

OUTPUT

9

OUTPUT

INPUT

1

0

INPUT

OUTPUT

10

INPUT

OUTPUT

1

0
0

1

1

INPUT

OUTPUT

11

INPUT

INPUT

1

1

0

INPUT

INPUT

12

OUTPUT

OUTPUT

1
1

1
1
1

0
0
1
1

1
1

1
1
0
0

1
1
1

1

#

PORT B
OUTPUT

OUTPUT

0
1

OUTPUT

INPUT

OUTPUT

2

INPUT

OUTPUT

3
4

INPUT

INPUT

OUTPUT

OUTPUT

(UPPER)

1

OUTPUT

OUTPUT

0

OUTPUT

INPUT

1

OUTPUT

INPUT

0

OUTPUT

INPUT

5
6

(LOWER)
OUTPUT

OUTPUT

INPUT

INPUT

OUTPUT

1

INPUT

INPUT

INPUT

INPUT

INPUT

13
14

OUTPUT

0

INPUT

OUTPUT

1

INPUT

INPUT

15

INPUT

INPUT

MODE 0 CONFIGURATIONS
CONTROL WORD #2

CONTROL WORD #0
~

06

05

04

03

O2

0,

D7

DO

.1

A

06

05

04

03

02

8

.

c{

,4

c{

I

,,4
,.1 8

B

05

04

03

02

0,

07

DO

8

A

06

05

04

D3

O2

0,

PA7·pAo

,/4 --.1

8

I

DO

A

,.1 8

-

,4

-

8255

8255

° 7-°0

,4

CONTROL WORD #3

CONTROL WORO #1

06

,,8

8255

B

07

00

A

8255

.

0,

4

c{

°7·°0

;

B

PC,-PC4

,4

8

.

.,

c{

PC3·PCO

,4
I

B

Ps.,.PBo

5-118

I

' 8

Ps.,.PBO

SILICON GATE MOS 8255
CONTROL WORD #8

CONTROL WORD #4

07

A

06

Os

04

03

,02

A

B

,

,4

.

.

,4

18
I

c{

07

,8

A

-,

c{

-,

•

06

05

04

03

O2

04

,4

,,4
,8
I

c{

pc'-PC4
0 7 -00

PC3 -PCO

B

P~-PBO

07

B

06

06

04

O2

0,

,8

PA7 ·pAo

,4

-,

,4

-,

,8
I

PC7 ·PC4

PC3 -PCO

P~.PBO

DO

A

14

c{

,,4
-,'

8

B

,,8
14

,1 4
,8

-,

CONTROL WORD #11

03

07

A

8

06

05

PA7 ·pAo

A

8255

0 7-00

03

-,

CONTROL WORD #7

04

,8
I

8255

c{

05

.

CONTROL WORD #10

8255

06

DO

A

03

A

07

0,

PA7 -PAo

CONTROL WORD #6

05

18

-,

8255

B

06

,4

CONTROL WORD #9

8255

07

,8

-,

B

P~.PBO

05

.

I

,,4

-,

CONTROL WORD #5

0,

.

8255

c{

•

DO

,18

8255

.

0,

8

PA7 ·pAo

8255

c{
B

4

PC7 ·PC4
0 7 .00

4

8

PC3 ·PCO

P~.PBo

c{
B

5-119

4

4

8

PC7 ·PC4

PC3 -PCO

PS,-PBo

SILICON GATE MOS 8255
CONTROL WORD #12

07

06

05

04

CONTROL WORD #14

03

O2

07

01

A

06

05

04

03

O2

,8

.

8255

c{ ·
B

,4

.

/

,,4

06

05

04

c{

•

,8

B

~

I

CONTROL WORD #13

07

DO

A

F

8255

•

0,

.
.

,8
I

,4
I

,4

.

,8
I

CONTROL WORD #15

03

O2

0,

07

DO

A

06

05

04

03

O2

0,

,8

DO

,8

A

7

8255

8255

c{

, 4

c{

I

,4
7

B

,4
1

,4
7

,8

B

I

,,8

P~.PBO

Mode 1 Basic Functional Definitions:

Operating Modes

• Two Groups (Group A and Group B)
• Each group contains one 8-bit·data-port and one 4-bit
control/data port.
• The 8-bit data port can be either input or output.
Both inputs and outputs are latched.
• The 4-bit port is used for control and status of the
8-bit data port.

Mode 1 (Strobed Input/Output)
This functional configuration provides a means for .transferring I/O data to or from a specified port in conjunction
with strobes or "handshaking'~ signals. In Mode 1, Port A
and Port B use the Iines on Port C to generate or accept
these "handshaking~' signals.

5-120

SILICON GATE MOS 8255
Input Control Signal Definition
MODE 1 (PORT A)

STB (Strobe (nput)

A "low" on this input loads data into the input latch.

CONTROL WORD

IBF (Input Buffer Full F/F)

STB A

A "high" on this output indicates that the data has been
loaded into the input latch; in essence, an acknowledgement
ISF is set by the falling edge of the STB input and is reset
by the rising edge of the RD input.

IBF A

INTRA

RD

INTR (Interrupt Request)

I/O

A "high" on this output can be used to interrupt the CPU
when an input device is requesting service. INTR is set by
the rising edge of STB if IBF is a "one" and INTE is a
"one". It is reset by the falling edge of RD. This procedure
allows an input device to request service from the CPU by
simply strobing its data into the port.

MODE 1 (PORT B)

INTE A

Controlled by bit set/reset of PC 4.
INTE B

Controlled by bit set/reset of PC2.

Mode 1 Input

MODE 1 (STROBED INPUT)
BASIC TIMING

IBF
(INPUT BUFFER FULL)

"""""""'..........,~

NO PROTECTION
FOR THIS OPERATION

DATA
INPUT

INTERNAL
INPUT LATCH

\

INTR

Basic Timing Input
5-121

\-_--------

SILICON GATE MOS 8255
Output Control Signal Definition

OBF (Output Buffer Full F/F)

MODE 1 (PORT A)

The OBF output will go ~'Iow" to indicate that the CPU has
written data out to the specified port. The OBF F/F will be
set by the rising edge of the WR input and reset by the failing edge of the ACK input signal.

CONTROL WORD

r- - -,
I INTE I
I __
A .JI

ACK (Acknowledge Input)

A "Iow" on this input informs the 8255 that the data from
Port A or Port B has been accepted. In essence, a response
from the peripheral device ind icating that it has received
the data output by the CPU.
INTR (Interrupt Request)

MODE 1 (PORT B)

A "high" on this output can be used to interrupt the CPU
when an output device has accepted data transmitted by the
CPU. INTR is set by the rising edge of ACK if OBF is a
"one" and INTE is a "one". It is reset by the falling edge
ofWR.

P~.PBo

0 7 0 6 Os 0 4 0 3 O2 0, Do
PC,

INTEA

Controlled by bit set/reset of PC 6.
INTE B

Controlled by bit set/reset of PC 2.

Mode 1 Output

(OUTPUT BUFFER FULL)

/

NO PROTECTION
FOR THIS OPERATION

DATA BUS

OUTPUT

8

CONTROL WORD

\
~-

Basic Timing Output
5-122

-- - ----- - - ------

OBFB

SILICON GATE MOS 8255
Combinations of Mode 1
Port A and Port B can be individually defined as input or
output in Mode 1 to support a wide variety of strobed I/O
applications.

PA7 -PAo

PA 7 -PAO

8

PC4

STBA

PCs

IBFA

8

PC 7

OBFA

PC6 - + - - ACKA
CONTROL WORD

PC3

PC 3

INTRA

2
PC6 • 7 ..-.;-.-.. I/O

P~-PBO

INTRA

2
PC4 • 5

I/O

PB7 -PBo

8

PC,

INTR B

PC 2

STBB

PC,

IBFB

PCo

INTR B

PORT A - (STROBED OUTPUT)
PORT B - (STROBED INPUT)

PORT A - (STROBED INPUT)
PORT B - (STROBED OUTPUT)

Operating Modes

Output Operations

Mode 2 (Strobed Bi-Directional Bus I/O)

OBF (Output Buffer Full)

This functional configuration provides a means for communicating with a peripheral device or structure on a single
8-bit bus for both transmitting and receiving data (bi-directional bus I/O). "Handshaking" signals are provided to maintain proper bus flow discipline in a similar manner to Mode
1. Interrupt generation and enable/disable fu nctions are
also available.

The OBF output will go "low" to indicate that the CPU has
written data out to Port A.

Mode 2 Basic Functional Definitions:
• Used in Group A only.
• One 8-bit, bi-directional bus Port (Port A) and a 5-bit
control Port (Port C).
• Both inputs and outputs are latched.
• The 5-bit control port (Port C) is used for control
and status for the 8-bit, bi-directional bus port (Port
A).

Bi-Directional Bus I/O Control Signal Definition
INTR (Interrupt Request)

A high on this output can be used to interrupt the CPU for
both input or output operations.

ACK (Acknowledge)

A "Iow" on this input enables the tri-state output buffer of
Port A to send out the data. Otherwise, the output buffer
will be in the high-impedance state.
INTE 1 (The INTE Flip-Flop associated with OBF)

Controlled by bit set/reset of PCs.

Input Operations
STB (Strobe Input)

A "low" on this input loads data into the input latch.
IBF (Input Buffer Full F/F)

A "h igh" on th is output indicates that data has been loaded
into the input latch.
INTE 2 (The INTE Flip-Flop associated with IBF)

Controlled by bit set/reset of PC4.
5-123

SILICON GATE MOS 8255

CONTROL WORD

OBF A
pC 200

ACKA

1 = INPUT
0= OUTPUT

r--l

PORTB
1 = INPUT
0= OUTPUT

IN;E
L __

I

J

PC4

.

STBA

PCs
GROUP B MODE
0= MODE 0
1 = MODE 1

AD

Mode 2 Control Word

PC200

Mode 2

\'----"

INTR

1

IBF

DATA BUS
(BETWEEN I/O CHIP AND I/O DEVICE)

-

-

-

-

-

-

IBFA

WR

-

DATA
I/O DEVICE

-+-

Mode 2 (Bi-directional) Timing

5-124

I/O CHIP

DATA
I/O CHIP -+ I/O DEVICE

.

3
I

/

• I/O

SILICON GATE MOS 8255

MODE 2 AND MODE 0 (OUTPUT)

MODE 2 AND MODE 0 (INPUT)

PC3

INTRA

PC3

PA7 -PAO

~
PC 6

CONTROL WORD

PA7 -PAo
OBFA

.

P~

ACKA

CONTROL WORD

PC4

STBA

PC5

IBFA

.

ACKA

PC4

.

STBA

I/O

PC2.()

AD

IBFA

PC5

PC2.()
1 = INPUT
0= OUTPUT

3

PC2.()

OBFA

PC6

0 7 0 6 0 5 0 4 0 3 O2 0, DO

0 7 0 6 05 04 03 O2 0, DO

PC 2.()
1 = INPUT
O=OUTPUT

INTRA

.

3

I

I

I/O

"

RO
8

PB 7 -PBO

P~-PBO

WR

WR

MODE 2 AND MODE 1 (OUTPUT)

MODE 2 AND MODE 1 (INPUT)

PC3

PC3

A

~

A.

PA77 PAo (

PA7 -PAo ~

8
~

°

2

PC 7
CONTROLWOR

PC6

0, DO
0

°

2

PC6

0, DO
1

PC4

PC4

PCs

PC s
t-...

PB7 -PBO

8

A

)

PB7 -PBO

PC2
RO

PC,

WR

PCO

y

'f

PC7
CONTROLWOR

-".

8

PC2
ACK B

RO

WR

Mode 2 Combinations
5-125

..

PC,

PCO

K

.....,

.

8

I

SILICON GATE MOS 8255
MODE DEFINITION SUMMARY TABLE

PAO
PA1
PA2
PA3
PA4
PAS
PAe
PA7

IN
IN
IN
IN
IN
IN
IN
IN

MODE 0
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT

PBO
P81
PB2
PB3
PB4
PB5
PBe
PB7

IN
IN
IN
IN
IN
IN
IN
IN

OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT

IN
IN
IN
IN
IN
IN
IN
IN

OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT

PCO
PC,
PC2
PC3
PC4
PCS
PC6
PC7

IN
IN
IN
IN
IN
IN
IN
IN

OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT

INTRB
IBFB
STBB
INTRA
STBA
IBFA
I/O
I/O

INTRB
OBFB
ACKB
INTRA
I/O
I/O
ACKA
OBFA

IN

IN
IN
IN
IN
IN
IN
IN
IN

MODE 1
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT

IN

Special Mode Combination Considerations
There are several combinations of modes when not all of the
bits in Port C are used for control or status. The remaining
bits can be used as follows:
If Programmed as Inputs All input lines can be accessed during a normal Port C
read.

MODE 2
GROUP A ONLY

•...

...
~

...

•...

•
~

•

~

...

~

-----

MODE 0

-----

OR MODE
ONLY

allows the programmer to test or verify the "status" of each
peripheral device and change the program flow accordingly..
There is no special instruction to read the status information from Port C. A normal read operation of Port C is
executed to perform this function.
INPUT CONFIGURATION
Os

Bits in Clower (PC3-PCO) can be accessed using the bit
set/reset function or accessed as a threesome by writing
into Port C.

03

Do

I

i

GROUP A

GROUPS

OUTPUT CONFIGURATION
07

Source Current Capability on Port B and Port C

06

Os

04

i

GROUP A

03

O2

01

Do

i

GROUPB

Mode 1 Status Word Format

Reading Port C Status
In Mode 0, Port C transfers data to or from the peripheral
device. When the 8255 is programmed to function in Modes
1 or 2, Port C generates or accepts "hand-shaking" signals
with the peripheral device. Reading the contents of Port C

1

I/O
I/O
I/O
INTRA
STBA
'IBFA
ACKA
OBFA

If Programmed as Outputs Bits in C upper (PC7-PC4) must be individually accessed
using the bit set/reset function.

Any set of eight output buffers, selected randomly from
Ports Band C can source lmA at 1.5 volts. This feature
allows the 8255 to directly drive Darlington type drivers
and high-voltage 'displays that require such source current.

•
•

~

i

GROUP A

i

GROUP B

(DEFINED BY MODE 0 OR MODE 1 SELECTION)

Mode 2 Status Word Format

5·126

SILICON GATE MOS 8255
INTERRUPT
REQUE

STi

APPLICATIONS OF THE 8255

PC 3

The 8255 is a very powerful tool for interfacing peripheral
equipment to the 8080 microcomputer system. It represents
the optimum use of available pins and is flexible enough to
interface almost any I/O device without the need for additional external logic.

-

MODE 1 _
(INPUT)

Each peripheral device in a Microcomputer system usually
has a "service routine" associated with it. The routine manages the software interface between the device and the CPU.
The functional definition of the 8255 is programmed by the
I/O service routine and becomes an extension of the systems software. By examining the I/O devices interface characteristics for both data transfer and tim ing, and matching
this information to the examples and tables in the Detailed
Operational Description, a control word can easily be developed to initialize the 8255 to exactly "fit" the application. Here are a few examples of typical applications of the
8255.

PA,

Ro
R,

PAo

8255

PA 2

R2

PA 3

R3

PA4

R4

PAs
PA6

Rs
SHIFT

PA7

CONTROL

PC4

STROBE

PCs

ACK

FULLY
DECODED
KEYBOARD

~

-

MODE 1 _
(OUTPUT)

INTERRUPT
REQUEST

PB o
PB,

Bo
B,

PB 2

B2

PB 3

B3

PB4

B4

PBs

BURROUGHS
SELF·SCAN
DISPLAY

PB 6

Bs
BACKSPACE

PB7

CLEAR

PC,

DATA READY

PC 2

ACK

PC 6

BLANKING
CANCEL WORD

PC o L.fC 7

UPT~

INTERR
REQUEST
HIGH-SPEED
PRINTER

Keyboard and Display Interface
MODEl
(OUTPUT)

STi

INTERRUPT
REQUE

HAMMER
RELAYS
DATA READY

PC 3

ACK
PAPER FEED
FORWARD/REV
8255

MODE 1
(INPUT) -

PAo

Ro

PA,

R,

PA2

R2

PA3

R3

PA4

R4

FULLY
DECODED
KEYBOARD

PAs

Rs

PA6

SHIFT

PA7

CONTROL

RIBBON

PC 4

STROBE

CARRIAGE SEN.

PC s

ACKNOWLEDGE

PC 6

BUSY LT

PC 7

TEST LT

DATA READY
8255

ACK
MODEl
(OUTPUT)

PAPER FEED

I

FORWARD/REV

PC,

DATA READY

PC 2

ACK

f-------_-INTERRUPT
REQUEST

CONTROL LOGIC AND DRIVERS

PB o

....

PB,

....

PB 2
MODE 0
(INPUT) -

Printer Interface

PB3

....

PB 4

--

-----

'0

TERMINAL
ADDRESS

~

't>

"0
....

--"",

PBs
PB 6

....

PB 7

....

--

-~

Keyboard and Terminal Address Interface
5-127

SILICON GATE MOS 8255
INTERRUPT
REQUE

STi

IP~
PAl
I

LSB

r--

PC3

PA2

JPA

PA3

PBO

Do

PB,

0,

PB 2

O2
03

PB3

4

MODE 0
(OUTPUT)

PAS
; PA

PB4
PBs

f-----------..

12-BIT
D-A
CONVERTER
(DAC)

6

PA7
PC4
PCS

---.

ANALOG OUTPUT

,PC

O

BIT

06

PC4
PCS

ACK (IN)

PC7

_Pe 6

PC2

SAMPLE EN

PC 3

STB

PBO

LSB

DATA STB

DATA READY
ACK (OUT)

8255

OUTPUT EN

PC2

TRACK "0" SENSOR

PCo

SYNC READY

PC,

INDEX

PAO

ENGAGE HEAD

I

SET/RESETl

DS

07

STB DATA

PC,

,...-

r-

8-BIT
A-D
CONVERTER
(ADC)

PB,
PB2

..-- ANALOG INPUT

PAl

FORWARD/REV.

P~

READ ENABLE

PB4

MODE 0 _ P~
PA4
(OUTPUT)

PBS

PAs

ENABLE CRC

PB6

PAG

TEST

PB 3

MODE 0
(INPUT)

P~

MSB

_PA 7

Digital to Analog, Analog to Digital

i

WRITE ENABLE
DISC SELECT

BUSY LT

Basic Floppy Disc Interface

INTERRUPT

INTERRUPT

REQUEST

REQUEST

...-------------.--.

I

PC3 ""-PAo

~------t~. Ro

PAl

R,

CRT CONTROLLER

PAo ....- - - - - 1 RO
PAl
R,

PA 2

R2
R3

• CHARACTER GEN.

PA 2

R2

• REFRESH BUFFER

PA 3

R3

PA4

R4

• CURSOR CONTROL

PA4

R4

PAs

RS
SHIFT
CONTROL

PAs
PAG
PA7

Rs
RG

PA 3

MODE 1
(OUTPUT) -

PA6
PA
7

PC 7

8255

I-------t~.

MODE 1
(INPUT) -

DATA READY

PC 6

ACK

PCS

BLANKED

PC

BLACK/WHITE

4

PC3

L.-

PCG

COLUMN STB
CURSOR HN STB

PB O I--------t~.

l

PB,
PB2
PB3
PB4
PBs
PB6

.....----_..
,-P~

STOP/GO

....

...

MACHINE TOOL
PCo

MODE 0
(INPUT)

2

PCO

R7

8255

L.-

PC,

8 LEVEL
PAPER
TAPE
READER

PC4 ....- - - -.... STB
PCs
ACK

- PC I--------li~. ROW STB

MODE 0 _
(OUTPUT)

FLOPPY DISK
CONTROLLER
AND DRIVE

04

PB7

MSB

'- PC7

.

MODE 2- PB6

PC6

8255

.

START/STOP

PC .....- - - - - 1 LIMIT SENSOR (H/V)
1

{

PC2 ....-----IOUTOF FLUID

I

PB

CHANGE TOOL

PB2

UP/DOWN

PB 3

HOR. STEP STROBE

I PB: 1--------t~.LEFT/RIGHT

!
i

CURSOR/ROW/COLUMN
:-- ADDRESS
! H& V

1
1

MODE 0

J

(OUTPUT) lPB4

I

J

.._------------~

...

VERT. STEP STROBE

PBs

SLEW/STEP

PBG

FLUID ENABLE

. . . .__..
PB7

1._-----------_..
EMERGENCY STOP

Machine Tool Controller Interface

Basic CRT Controller Interface
5-128

SILICON GATE MOS 8255

I

SYSTEM BUS (0, A, AND C)

r---

~----

I- - - - - ,

,--

~v

~V

"",,-/7

"v'7

8080
CPU

MEMORY
ROM AND
RAM

8255

8255
MODE 2

..t.

A

t- - - - - ,

1-- --.---

I
I
I
8255
MODE 2

~~

~

MASTER CPU
MASTER

I/O

L

8080
CPU

8080
CPU

MEMORY

MEMORY

I/O

I/O

J

Distributed I ntell igence Multi-Processor Interface

5-129

I

I
I
I

SILICON GATE MOS 8255
D.C. CHARACTERISTICS TA = o°c to 70°C; Vee = +5V ±5%; vss = OV
Typ.

Symbol

Parameter

Vil

Input Low Voltage

V IH

Input High Voltage

Val

Output Low Voltage

VOH

Output High Voltage

IOH[1]

Darlington Drive Current

2.0

rnA

Ice

Power Supply Current

40

rnA

Min.

Max.

Unit

.8

V

Test Conditions

V

2.0
.4
2.4

V

IOl = 1.6mA

V

IOH = -50JlA (-1 OOJlA for D.B. Port)
VOH=1.5V, REXT=390n

NOTE:
1. Available on 8 pins only.

A.C. CHARACTERISTICS TA = o°c to 70°C; Vee = +5V ±6%; Vss = OV
Min. Typ. Max.

Unit

Symbol

Parameter

twP

Pulse Width of WR

tow

Time D.B. Stable Before WR

10

ns

two

Time D.B. Stable After WR

65

ns

tAW

Time Address Stable Before WR

20

ns

tWA

Time Address Stable After WR

35

ns

tew

Time CS Stable Before WR

20

ns

twe

Time CS Stable After WR

35

ns

tWB

Delay From WR To Output

tRP

Pulse Width of RD

tlR

430

500

ns

ns

430

ns

RD Set-Up Time

50

ns

tHR

Input Hold Time

50

ns

tRO

Delay From RD = 0 To System Bus

350

ns

too

Delay From RD = 1 To System Bus

150

ns

tAR

Time Address Stable Before RD

50

ns

teR

Time CS Stable Before RD

50

ns

tAK

Width Of ACK Pulse

500

ns

tST

Width Of STB Pulse

350

ns

tps

Set-Up Time For Peripheral

150

ns

tpH

Hold Time For Peripheral

150

ns

tRA

Hold Time for A1, Ao After RD = 1

379

ns

'IRe

Hold Time For CS After RD = 1

-

ns

5

tAD

Time From ACK = 0 To Output(Mode 2)

500

tKO

Time From ACK = 1 To Output Floating

300

ns

two

Time From WR = 1 To OBF = 0

300

ns

tAO

Time From ACK = 0 To OBF = 1

500

ns

tSI

Time From STB = 0 To IBF

600

ns

tRI

Time From RD = 1 To IBF = 0

300

ns

-

5-130

ns

Test Condition

SILICON GATE MOS 8255

..
~

t RP

~

~

7

I[
~tHR-----"

.--t'R---'

K

>:

INPUT

~tRA--"

tAR

:~

~~

A1,AO

t RC

~tCR----'

\~

JV

:0-

~

----- -- -- ----

..

t RD

..

too

Mode 0 (Basic Input)

~

..

twp

{
,--

f--

7

\

~twD--'

~tDW~

)(
tAW
A1,AO

twA

)(
..

cs

K

..

t cw

JK

..

twc

\\

OUTPUT

..

~

J

)(

.

twB

Mode 0 (Basic Output)

5-131

-------.

r--

SILICON GATE MOS 8255

IBF
~tRI

INTR

INPUT FROM
PERIPHERAL

_

I . . . - - - - - tps - - - - - . ·

Mode 1 (Strobed Input)

INTR

OUTPUT

Mode 1 (Strobed Output)

5-132

SILICON GATE MOS 8255 .

WR

tAO

OBF

INTR

ACK

STB

IBF

PERIPHERAL

_

BUS

DATA FROM
PERIPHERAL TO 8255
DATA FROM
8255 TO 8080

Mode 2 (Bi-directional)

5-133

Silicon Gate MOS 8251
PROGRAMMABLE COMMUNICATION INTERFACE
.. Synchronous and Asynchronous
Operation
• Synchronous:
5-8 Bit Characters
Internal or External Character
Synchronization
Automatic Sy.nc Insertion
• Asynchronous:
5-8 Bit Characters
Clock Rate -1,16 or 64 Times
Baud Rate
Break Character Generation
1, 1 1h, or 2 Stop Bits
False Start Bit Detection

• Baud Rate - DC to 56 k Baud ( Sync Mode)
DC t09.6k Baud (Async Mode)
• Full Duplex, Double Buffered,
Transmitter and Receiver
• Error Detection - Parity, Overrun,
and Framing
• Fully Compatible with 8080 CPU
• 28-Pin DIP Package
• All Inputs and Outputs Are
TTL Compatible
• Single 5 Volt Supply
• Single TTL Clock

The 8251 is a Universal Synchronous/Asynchronous Receiver / Transmitter (USA RT) Chip designed for data
communications in microcomputer systems. The USART is used as a peripheral device and is programmed
by the CPU to operate using virtually any serial data transmission technique presently in use (including IBM
Bi-Sync). The USART accepts data characters from the CPU in parallel format and then converts them into
a continuous serial data stream for transmission. Simultaneously it can receive serial data streams and convert them into. parallel data characters for the CPU. The USART will signal the CPU whenever it can accept
a new character for transmission or whenever it has received a character for the CPU. The CPU can read the
complete status of the USART at any time. These include data transmission errors and control signals such
as SYNDET, TxEMPT. The chip is constructed using N-channel silicon gate technology.
PIN CONFIGURATION
O2

03

01
Do

RxD

Vee

GND

RxC

04

DTR

05

RTS

06

DSR

07

RESET

fXC

CLK

WR

TxD

CS
C/O
RD
RxRDY

BLOCK DIAGRAM

TxRDY

TxEMPTY

TxE

CTS
SYNDET
TxRDY

Pin Function

Pin Name

Pin Function

07-0 0
C/O

Data Bus (8 bits)
Control or Data is to be Written or Read
Read Data Command
Write Data or Control Command
Chip Enable
Clock Pulse (TTL)
Reset
Transmitter Clock
Transmitter Data
Receiver Clock
Receiver Data
Receiver Ready (has character for 8080)
Transmitter Ready (ready for char. from 8080)

DSR
DTR
SYNDET
RTS
CTS
TxE

Data Set Ready
Data Terminal Ready
Sync Detect
Request to Send Data
Clear to Send Data
Transmitter Empty
+5 Volt Supply
Ground

CLK
RESET
TxC
TxD
RxC
RxD
RxRDY
TxRDY

TxD

(p.... S)

TRANSMIT
CONTROL

Pin Name

AD
WR
Cs

TRANSMIT
BUFFER

0 7 -0 0

Vee
GND

RxD

/

INTERNAL
DATA BUS

5-135

RxRDY
RxC
..... SYNDET

SILICON GATE MOS 8251
8251 BASIC FUNCTIONAL DESCRIPTION
General

C/D (Control/Data)

The 8251 is a Universal Synchronous!Asynchronous Receiver/Transmitter designed specifically for the 8080 Microcomputer System. like other I!O devices in the 8080 Microcomputer System its functional configuration is programmed
by the systems software for maximum flexibility. The 8251
can support virtually any serial data technique currently
in use (including IBM "bi-sync").

This input, in conjunction with the WR and RD inputs informs the 8251 that the word on the Data Bus is either a
data character, control word or status information.
1 = CONTROL 0 = DATA

In a communication environment an interface device must
convert parallel format system data into serial format for
transmission and convert incoming serial format data into
parallel system data for reception. The interface device must
also delete or insert bits or characters that are functionally
unique to the communication technique. In essence, the
interface should appear "transparent" to the CPU, a simple
input or output of byte-oriented system data.

CS (Chip Select)
A "low" on this input enables the 8251. No read ing or writing will occur unless the device is selected.

Data Bus Buffer
This 3-state, bi-directional,8-bit buffer is used to interface
the 8251 to the 8080 system Data Bus. Data is transmitted
or received by the buffer upon execution of INput or OUTput instructions of the 8080 CPU. Control words, Command
words and Status information are also transferred through
the Data Bus Buffer.

ReadlWrite Control logic
This functional block accepts inputs from the 8080 Control
bus and generates control signals for overall device operation.
It contains the Control Word Register and Command Word
Register that store the various control formats for device
functional definition.

RESET (Reset)
A "high" on this input forces the 8251 into an "Idie" mode.
The device will remain at "Idle" until a new set of control
words is written into the 8251 to program its functional
definition.

ClK (Clock)
The ClK input is used to generate internal device timing
and is normally connected to the Phase 2 (TTL) output of
the 8224 Clock Generator. No external inputs or outputs
are referenced to ClK but the frequency of ClK must be
greater than 30 times the Receiver or Transmitter clock inputs for synchronous mode (4.5 times for asynchronous
mode).

c/o

RD

WR

CS

o
o

0
1
0
1
X

1
0
1
0
X

0
0
0
0
1

1
1
X

WR (Write)
A "Iow" on this input informs the 8251 that the CPU is
outputting data or control words, in essence, the CPU is
writi ng out to the 8251.

RD (Read)
A "Iow" on this input informs the 8251 that the CPU is inputting data or status information, in essence, the CPU is
reading from the 8251.
5-136

8251 => DATA BUS
DATA BUS => 8251
STATUS=> DATA BUS
DATA BUS=> CONTROL
DATA BUS=> 3-STATE

SILICON GATE MOS 8251
Modem Control

TxE (Transmitter Empty)

The 8251 has a set of control inputs and outputs that can
be used to simplify the interface to almost any Modem.
The modem control signals are general purpose in nature
and can be used for functions other than Modem control,
if necessary.

When the 8251 has no characters to transm it, the T x E output will go "high". It resets automatically upon receiving a
character from the CPU. TxE can be used to indicate the
end of a transmission mode, so that the CPU "knows" when
to "turn the line around" in the half-duplexed operational
mode.

DSR (Data Set Ready)

In SYNChronous mode, a "high" on this output indicates
that a character has not been loaded and the SYNC character or characters are about to be transmitted automatically
as "fillers".

The DSR input signal is general purpose in nature. Its condition can be tested by the CPU using a Status Read operation. The DSR input is normally used to test Modem conditions such as Data Set Ready.

DTR (Data Termin·al Ready)
The DTR output signal is general purpose in nature. It can
be set "low" by programming the appropriate bit in the
Command Instruction word. The DTR output signal is normally used for Modem control such as Data Terminal Ready
or Rate Select.

RTS (Request to Send)
The RTS output signal is general purpose in nature. It can
be set "low" by programr:ning the appropriate bit in the
Command Instruction word. The RTS output signal is normally used for Modem control such as Request to Send.

CTS (Clear to Send)
A "low" on this input enables the 8251 to transmit data
(serial) if the Tx EN bit in the Command byte is set to a

"one."
Transmitter Buffer
The Transmitter Buffer accepts parallel data from the Data
Bus Buffer, converts it to a serial bit stream, inserts the appropriate characters or bits (based on the 'communication
technique) and outputs a composite serial stream of data on
the TxD output pin.

Transmitter Control
The Transmitter Control manages all activities associated
with the transmission of serial data. It accepts and issues
signals both externally and internally to accomplish this
function.

TxC (Transmitter Clock)
The Transmitter Clock controls the rate at which the character is to be transmitted. In the Synchronous transmission
mode, the frequency of TxC is equal to the actual Baud
Rate (1 X). In Asynchronous transmission mode, the frequency of TxC is a multiple of the actual Baud Rate. A
portion of the mode instruction selects the value of the
multiplier; it can be 1x, 16x or 64x the Baud Rate.
For Example:
If Baud Rate equals 110 Baud,
TxC equals 110 Hz (1x)
TxC equals 1.76 kHz (16x)
TxC equals 7.04 kHz (64x).
If Baud Rate equals 9600 Baud,
TxC equals 614.4 kHz (64x).

TxRDY (Transmitter Ready)
This output signals the CPU that the transmitter is ready
to accept a data character~ It can be used as an interrupt to
the system or for the Polled operation the CPU can check
TxRDY using a status read operation. TxRDY is automatically reset when a character is loaded from the CPU.

The falling edge of TxC shifts the serial data out of the
8251.
5-137

SILICON GATE MOS 8251
Receiver Buffer
The Receiver accepts serial data, converts this serial input
to parallel format, checks for bits or characters that are
unique to the communication technique and sends an
"assembled" character to the CPU. Serial data is input to
the RxD pin.

When used as an input, (external SYNC detect mode), a
positive going signal will cause the 8251 to start assembling
data characters on the falling edge of the next RxC. Once
in SYNC, the "high" input signal can be removed. The duration of the high signal should be at least equal to the period
of RxC.

Receiver Control
This functional block manages all receiver-related activities.

RxRDY (Receiver Ready)
This output indicates that the 8251 contains a character that
is ready to be input to the CPU. RxRDY can be connected
to the interrupt structure of the CPU or for Polled operation the CPU can check the condition of RxRDY using a
status read operation. RxRDY is automatically reset when
the character is read by the CPU.

RxC (Receiver Clock)
The Receiver Clock controls the rate at which the character
is to be received. In Synchronous Mode, the frequency of
RxCisequal to the actual Baud Rate (1x). In Asynchronous
Mode, the frequency of RxC is a multiple of the actual
Baud Rate. A portion of the mode instruction selects the
value of the multipl ier; it can be 1x, 16x or 64x the Baud
Rate.
For Example:

If Baud Rate equals 300 Baud,
RxC equals 300 Hz (1 x)
RxC equals 4800 Hz (16x)
RxC equals 19.2 kHz (64x).
If Baud Rate equals 2400 Baud,
RxC equals 2400 Hz (1 x)
RxC equals 38.4 kHz (16x)
RxC equals 153.6 kHz (64x).

Data is sampled into the 8251 on the rising edge of RxC.
NOTE: In most communications systems, the 8251 will be
handling both the transmission and reception operations of
a single link. Consequently, the Receive and Transmit Baud
Rates will be the same. Both TxC and RxC will require identical frequencies for this operation and can be tied together
and connected to a single frequency source (Baud Rate
Generator) to simpl ify the interface.

\

\

\

CONTROL BUS
I/O R

\

n

I/OW RESET

(

C/O

\

cs

~7
0 7 -00

t'\

RD

(

WR

RESET

8251

8251 Interface to 8080 Standard System Bus

5-138

t/>2
(TTL)

DATA BUS

SYNDET (SYNC Detect)
This pin is used in SYNChronous Mode only. It is used as
either input or output, programmable through the Control
Word. It is reset to "low" upon RESET. When used as an
output (internal Sync mode), the SYNDET pin will go
"high" to indicate that the 8251 has located the SYNC
character in the Receive mode. If the 8251 is programmed
to use double Sync characters (bi-sync), then SYNDET will
go "high" in the middle of the last bit of the second Sync
character. SYNDET is automatically reset upon a Status
Read operation.

\

ADDRESS BUS
Ao

ClK

SILICON GATE MOS 8251
DETAILED OPERATION DESCRIPTION
General
The complete functional definition of the 8251 is programmed by the systems software. A set of control words must
be sent out by the CPU to initialize the 8251 to support the
desired communications format. These control words will
program the: BAUD RATE, CHARACTER LENGTH,
NUMBER OF STOP BITS, SYNCHRONOUS or ASYNCHRONOUS OPERATION, EVEN/ODD PARITY etc. In the
Synchronous Mode, options are also provided to select either
internal or external character synchronization.

All control words written into the 8251 after the Mode Instruction will load the Command Instruction. Command Instructions can be written into the 8251 at any time in the
data block during the operation of the 8251. To return to
the Mode Instruction format a bit in the Command Instruction word can be set to initiate an internal Reset operation
which automatically places the 8251 back into the Mode
Instruction format. Command Instructions must follow the
Mode Instructions or Sync characters.

Once programmed~ the 8251 is ready to perform its communication functions. The TxRDY output is raised "high"
to signal the CPU that the 8251 is ready to receive a character. This output (TxRDY) is reset automatically when the
CPU wdtes a character into the 8251. On the other hand,
the 8251 receives serial data from the MODEM or I/O device, upon receiving an entire character the RxRDY output
is raised "high" to signal the CPU that the 8251 has a complete character ready for the CPU to fetch. Rx RDY is reset
automatically upon the CPU read operation.

MODE INSTRUCTION

C/O:: 1

SYNC CHARACTER 1

C/o = 1

SYNC CHARACTER 2

C/D:: 1

COMMAND INSTRUCTION

C/D:: 0

DATA

C/o:: 1

COMMAND INSTRUCTION

C/o:;;: 0

DATA

C/O:::: 1

COMMAND INSTRUCTION

}

The 8251 cannot begin transmission until the TxEN (Transmitter Enable) bit is set in the Command Instruction and
it has received a Clear To Send (CTS) input. The TxD output will be held in the marking state upon Reset.

Programming the 8251
Prior to starting data transmission or reception, the 8251
must be loaded with a set of control words generated by
the CPU. These control signals define the complete functional definition of the 8251 and must immediately follow
a Reset operation (internal or external).

C/O:: 1

SYNC MODE
ONLY·

·The second SYNC character is skipped if MODE instruction
has programmed the 8251 to single character Internal SYNC
Mode. Both SYNC characters are skipped if MODE instruction
has programmed the 8251 to ASYNC mode.

Typical Data Block

The control words are split into two formats:
1. Mode Instruction
2. Command Instruction

Mode Instruction
This format defines the general operational characteristics
of the 8251. It must follow a Reset operation (internal or
external). Once the Mode instruction has been written into
the 8251 by the CPU, SYNC characters or Command instructions may be inserted.

Command Instruction
This format defines a status word that is used to control
the actual operation of the 8251.
Both the Mode and Command instructions must conform to
a specified sequence for proper device operation. The Mode
Instruction must be inserted immediately following a Reset
operation, prior to using the 8251 for data communication.

5-139

SILICON GATE MOS 8251
Mode Instruction Definition
The 8251 can be used for either Asynchronous or Synchronous data communication. To understand how the Mode
Instruction defines the functional operation of the 8251 the
designer can best view the device as two separate components
sharing the same package. One Asynchronous the other
Synchronous. The format definition can be changed lion
the fly" but for explanation purposes the two formats will
be isolated.

I~ I I I I~
81

EP

PEN

1 L 1 1 B21 B1

I

L

BAUD RATE FACTOR
0

1

0

1

0

0

1

1

SYNC
MODE

(1X)

(16X)

(64X)

CHARACTER LENGTH
0

Asynchronous Mode (Transmission)
Whenever a data character is sent by the CPU the 8251
automatically adds a Start bit (low level) and the programmed number of Stop bits to each character. Also, an even
or odd Parity bit is inserted prior to the Stop bit(s), as defined by the Mode Instruction. The character is then transmitted as a serial data stream on the TxD output. The serial
data is shifted out on the falling edge of TxC at a rate equal
to 1, 1/16, or 1/64 that of the TxC, as defined by the Mode
Instruction. 8 REAK characters can be continuously sent to
the TxD if commanded to do so.
When no data characters have loaded into the 8251 the
TxD output remains "high" (marking) unless a Break (continuously low) has been programmed.

1

0

1

0

0

1

5

6
BITS

BITS

BITS

1

7

8

BITS

PARITY ENABLE
1 = ENABLE
0= DISABLE
EVEN PARITY GENERATION/CHE CK
0=000
1 = EVEN
NUMBER OF STOP BITS

0

1

0

0

0

1

1
1

INVALID

1
BIT

1%
BITS

2
BITS

Mode Instruction Format, Asynchronous Mode

Asynchronous Mode (Receive)
The RxD line is normally high. A falling edge on this line
triggers the beginning of a START bit. The validity of this
START bit is checked by again strobing this bit at its nominal center. If a low is detected again, it is a valid START
bit, and the bit counter will start counting. The bit counter
locates the center of the data bits, the parity bit (if it exists) and the stop bits. If parity error occurs, the parity error flag is set. Data and parity bits are sampled on the RxD
pin with the rising edge of RxC. If a low level is detected as
the STOP bit, the Framing Error flag will be set. The STOP
bit signals the end of a character. This character is then
loaded into the parallel I/O buffer of the 8251. The RxRDY
pin is raised to signal the CPU that a character is ready to
be fetched. If a previous character has not been fetched by
the CPU, the present character replaces it in the I/O buffer, and the OVERRUN flag is raised (thus the previous
character is lost). All of the error flags can be reset by a
command instruction. The occurrence of any of these errors will not stop the operation of the 8251.

TRANSMITTER OUTPUT

TxD

ST~

MARKING

BITS

L

RECEIVER INPUT

START
BIT

RxD

ST6;"l

BrTS

DATA: B\-IT_S_....-._ _...

TRANSMISSION FORMAT
CPU BYTE (5·8 BITS/CHAR)

DATA

C~~RACTER

ASSEMBLED SERIAL DATA OUTPUT (TxD)
DATA CHARACTER

STO[]
BITS

......- - - . . a - - - . . . & - - - - f

RECEIVE FORMAT
SERIAL DATA INPUT (RxD)
DATA CHARACTER

STOtJ
BITS

f----.&.---.Iooo----t

CPU BYTE (5·8 BITS/CHAR)*

DATA CH:;ACTER

*NOTE: IF CHARACTER LENGTH IS DEFINED AS 5,6 OR 7
BITS THE UNUSED BITS ARE SET TO "ZERO".

Asynchronous Mode
5-140

L

SILICON GATE MOS 8251
Synchronous Mode (Transmission)
The TxD output is continuously high until the CPU sends
its first character to the 8251 which usually is a SYNC
character. When the CTS line goes low, the first character
is serially transmitted out. All characters are shifted out on
the falling edge of TxC. Data is shifted out at the same
rate as the TxC.

CHARACTER LENGTH

Once transmission has started, the data stream at TxD output must continue at the TxC rate. If the CPU does not provide the 8251 with a character before the 8251 becomes
empty, the SYNC characters (or character if in single SYNC
word mode) will be automatically inserted in the TxD data
stream. In this case, the TxEMPTY pin is raised high to signal that the 8251 is empty and SYNC characters are being
sent out. The TxEMPTY pin is internally reset by the next
character bei ng written into the 8251.

L.....-

-..

L.....-

..

o

1

0

o

0

1

1

5
BITS

6
BITS

7
BITS

8
BITS

PARITY ENABLE
(1 = ENABLE)
(0 = DISABLE)
EVEN PARITY GENERATION/CHECK
1 c EVEN
0=000

' " - - - - - - - - - - - . . EXTERNAL SYNC DETECT
1 = SYNDET IS AN INPUT
= SYNDET IS AN OUTPUT

o

Synchronous Mode (Receive)
" - - - - - - - - - - - - -.... SINGLE CHARACTER SYNC
1 = SINGLE SYNC CHARACTER
0= DOUBLE SYNC CHARACTER

In this mode, character synchronization can be internally
or externally achieved. If the internal SYNC mode has been
programmed, the receiver starts in a HUNT mode. Data on
the Rx.D pin is then sampled in on the rising edge of RxC.
The content of the Rx buffer is continuously compared
with the first SYNC character until a match occurs. If the
8251 has been programmed for two SYNC characters, the
subsequent received character is also compared; when both
SYNC characters have been detected, the USART ends the
HUNT mode and is in character synchronization. The SYNDET pin is then set high, and is reset automatically by a
STATUS READ.

Mode Instruction Format, Synchronous Mode

CPU BYTES (5-8 BITS/CHAR)
DATA

In the external SYNC mode, synchronization is achieved by
applying a high level on the SYNDET pin. The high level can
be removed after one RxC cycle.

C~~RACTERS

ASSEMBLED SERIAL DATA OUTPUT (TxD)

DATACHA~~AC_T_E_RS

Parity error and overrun error are both checked in the same
way as in the Asynchronous Rx mode.

~

RECEIVE FORMAT

The CPU can command the receiver to enter the HUNT
mode if synchronization is lost.

SERIAL DATA INPUT (RxD)

DATACHAR~~C_TE_R_S
CPU BYTES (5-8 BITS/CHAR)

~f

DATA CH:~ACTERS

Synchronous Mode, Transmission Format

5-141

___

SILICON GATE MOS 8251
COMMAND INSTRUCTION DEFINITION

STATUS READ DEFINITION

Once the functional definition of the 8251 has been programmed by the Mode Instruction and the Sync Characters
are loaded (if in· Sync Mode) then the device is ready to be
used for data communication. The Command Instruction
controls the actual operation of the selected format. Functions such as: Enable Transmit/Receive, Error Reset and
Modem Controls are provided by the Command Instruction.

In data communication systems it is often necessary to
examine the "status" of the active device to ascertain if
errors have occu rred or other cond itions that requ ire the
processor's attention. The 8251 has facilities that allow the
programmer to "read" the status of the device at any time
du ring the fu nctional operation.

Once the Mode Instruction has been written into the 8251
and Sync characters inserted, if necessary, then all further
"control writes" (C/O = 1) will load the Command Instruction. A Reset operation (internal or external) will
return the 8251 to the Mode Instruction Format.

A normal "read" command is issued by the CPU with the
C/O input at one to accomplish this function.
Some of the bits in the Status Read Format have identical
meanings to external output pins so that the 8251 can be
used in a completely Polled environment or in an interrupt
driven environment.

TRANSMIT ENABLE
1 = enable
0= disable

~

'------~

SAME DEFINITIONS AS I/O PINS

PARITY ERROR
The PE flag is set when a parity
error is detected. It is reset by
the ER bit of the Command
Instruction. PE does not inhibit
operation of the 8251.

DATA TERMINAL
READY
"high" will force DTR
output to zero

RECEIVE ENABLE
1 = enable
0= disable
OVERRUN ERROR
The OE flag is set when the CPU
does not read a character before
the next one becomes available.
It is reset by the ER bit of the
Command Instruction. OE does
not inhibit operation of the 8251 ;
however, the previously overrun
character is lost.

SEND BREAK
CHARACTER
1 = forces TxD "Iow"
o = normal operation

ERROR RESET
- - - - - - - - - - - . . 1 = reset all error flags
PE, OE, FE

L.--

--..

FRAMING ERROR (Async only)
The FE flag is set when a valid
Stop bit is not detected at the
end of every character. It is reset
by the ER bit of the Command
Instruction. FE does not inhibit
the operation of the 8251.

REQUEST TO SEND
"high" will force RTS
output to zero

L.--

.......

INTERNAL RESET
"high" returns 8251 to
Mode Instruction Format

Status Read Format
L.--

--..

ENTER HUNT MODE
1 = enable search for Sync
Characters

Command Instruction Format

5-142

SILICON GATE MOS 8251
APPLICATIONS OF THE 8251

ADDRESS BUS

ADDRESS BUS

CONTROL BUS

CONTROL BUS

DATA BUS

DATA BUS

r----'
I

EIA TO TTL :.

CONVERT
I
IL ____
(OPT)
J

8251

BAUD RATE
GENERATOR

TxC

QJ)
::

ASYNC
MODEM

CRT
TERMINAL

PHONE
LINE
INTER·
FACE

8251

Asynchronous Serial Interface to CRT Terminal,
DC-9600 Baud

TELEPHONE
LINE

Asynchronous Interface to Telephone Lines

L.-

ADDRESS BUS

.....

SYNCHRONOUS
TERMINAL
OR PERIPHERAL
DEVICE
SYNC
MODEM

SYNDET 1 - - - - - + 1

Synchronous Interface to Terminal or Peripheral Device

PHONE
LINE
INTER·
FACE

TELEPHONE
LINE

Synchronous Interface to Telephone Lines

5-143

SILICON GATE MOS 8251
D.C. Characteristics:

Symbol

Parameter

Min.

Typ.

Max.

Unit

V,L

Input Low Voltage

Vss-·5

0.8

V

VIH

Input High Voltage

2.0

Vee

V

VOL

Output Low Voltage

0.45

V

VOH

Output High Voltage

IOL

Data Bus Leakage

50

IJ.A

ILl

Input Load Current

10

IlA

Icc

Power Supply Current

2.2

V

45

80

Typ.

Max.

Unit

Test Conditions

= 1.6mA
IOH = -1001lA ( DB o-7)
IOH = -1001lA (Others)

IOl

VOUT

= 4.5V

@5.5V

Capacitance
TA = 25°C; Vee = vss = OV
Symbol

Parameter

Min.

Test Conditions

CtN

Input Capacitance

10

pF

fc = 1MHz

CliO

I/O Capacitance

20

pF

Unmeasured pins returned to Vss.

5-144

SILICON GATE MOS 8251
A.C. Characteristics:
TA = o°c to 70°C; VCC = 5.0V ±5%; Vss

= OV

Parameter

Symbol

Min.

Typ.

Max.

Unit

tCY

Clock Period

.420

1.35

JlS

t ~~MORIES

Ao

All - - - - . - . . - t - - I A,

°4
A3

_

A2

CS 17
CS'8
CS'9

8205

CS20

e;
e;
E3

23

I/O Port Decoder

24K Memory Interface
5-149

CS 2,
CS22
CS23

CHIP
SELECTS

SCHOTTKY BIPOLAR 8205
Logic Element Example
Probably the most overlooked application of the 8205 is
that of a general purpose logic element. Using the lion-chip"
enabl ing gate, the 8205 can be configu red to gate its decoded outputs with system timing signals and generate
strobes that can be directly connected to latches, flip-flops
and one-shots that are used throughout the system.

and T2 decoded strobes can connect directly to devices like
8212s for latching the address information. The other decoded strobes can be used to generate signals to control the
system data bus, memory timing functions and interrupt
structure. RESET is connected to the enable gate so that
strobes are not generated during system reset, eliminating
accidental loading.

An excellent example of such an appl ication is the "state
decoder" in an 8008 CPU based system. The 8008 CPU issues three bits of information (SO, S1, S2) that indicate the
nature of the data on the Data Bus during each machine
state. Decoding of these signals is vital to generate strobes
that can load the address latches, control bus discipline and
general machine functions.

The power of such a circuit becomes evident when a single
decoded strobe is logically broken down. Consider T1 output, the boolean equation for it would be:
Tl = (SO·S1·S2)"(SYNC·Phase 2·Reset)
A six input NAND gate plus a few inverters would be needed to implement this function. The seven remaining outputs
would need a similar circuit to duplicate their function,
obviously a substantial savings in components can be
achieved when using such a technique.

In the figure below a circuit is shown using the 8205 as the
"state decoder" for an 8008 CPU that not only decodes the
SO, 51, 52 outputs but gates these signals with the clock
(phase 2) and the SYNC output of the 8008 CPU. The T1

S

o

,

13

S

12

S

11

8008
CPU

2

2

I

3

I-----i+----+-I

I '----++-------tM---~1

T3
820~

I

I

6 \lJ
I
I
2~

I

I

STOP

I

I
I

I

I

I

I

I

I

I

1
I
1
i

I

I
I

I

4" ----.....,~r----+I---+I--t-I -""'"""I""'"--It-

OUTPUTS
FROM
8205

o------~\lJ
I ro----++-----:I--+---..-I
I
I
I
l------------,.wr----+\--:....1---+-1
3" ---------------,JJ,.--+-I----.....1

7----------------,1

5
SYSTEM RESET

State Control Coding
So

S,

S2

STATE

0
0
0

1
1

0

0
0

0
0
0

T1
T11
T2
WAIT

a
1
1
1
1

a
1
1

0

1
1

1
1

T3
STOP
T4
T5

5-150

w--r'ill
I

SCHOTTKY BIPOLAR 8205
ABSOLUTE MAXIMUM RATINGS·
Temperatu re Under Bias:

*COMMENT

-65°C to +125° C
-65°C to +75°C

Ceram ic
Plastic

Stresses above those listed under "Absolute Maximum Rating" may cause permanent damage to the device. This is a stress
rating only and functional operation of the device at these or at
any other condition above those indicated in the operational
sections of this specification is not implied. Exposure to absolute
maximum rating conditions for extended periods may affect
device reliability.

-65°C to +1600 C

Storage Temperature

-0.5 to +7 Volts

All Output or Supply Voltages

-1.0 to +5.5 Volts

All Input Voltages

125 rnA

Output Cu rrents

D.C. CHARACTERISTICS TA

= OOC to +75°C, Vee = 5.0V ±5%

8205
SYMBOL

LIMIT

PARAMETER
INPUT LOAD CURRENT

IF

UNIT

MAX.

MIN.

TEST CONDITIONS

-0.25

rnA

Vee

INPUT LEAKAGE CURRENT

10

~A

Vee

'
V
e

INPUT FORWARD CLAMP VOLTAGE

-1.0

V

Vee

VOL
VOH

OUTPUT "LOW" VOLTAGE

V

Vee

V

Vee

V 1l

INPUT "LOW" VOLTAGE

V'H

INPUT "HIGH" VOLTAGE

se
'

OUTPUT HIGH SHORT
CIRCUIT CURRENT

Vox

OUTPUT "LOW" VOLTAGE
@ HIGH CURRENT

'ee

POWER SUPPLY CURRENT

R

0.45

OUTPUT HIGH VOLTAGE

2.4
0.85
2.0
-40

-120
0.8
70

= 5.25V, V F = 0.45V
= 5.25V, V R = 5.25V
= 4.75V, Ie = -5.0 rnA
= 4.75V, IOl = 10.0 rnA

V

Vee

V

Vee

rnA

Vee

= 4.75V, IOH = -1.5 rnA
= 5.0V
= 5.0V
= 5.0V, VOUT = OV

V

Vee

= 5.0V,

rnA

Vee

= 5.25V

lox

= 40 rnA

TYPICAL CHARACTERISTICS
OUTPUT CURRENT VS.
OUTPUT IILOW" VOLTAGE

OUTPUT CURRENT VS.
OUTPUT "HIGH" VOLTAGE
o

100 --.....,....----~.....--....-------

I

I

I

~ I(

--- vee = s.ov

«
.§.
...z

U.l

80

t---t-----t---+---+---f~oII--_+__-f---+-~

~ -20

::>

... 40
::>

t----+--f---+--+-""""*"if---+---+---+----+-----4

...::>

~ -30
~

...

~

4-

~

20

t---t---+---JT-~----lf---+---+-----+----+-----t

0I000o-...............--1000..........----'-''''''---..1--'''''----1..----1
.2
.4
.6
.8
1.0
o
OUTPUT "LOW" VOLTAGE (V)

a

,

-40

I
A

-50

o

1.0

I

I

I

......... TA ::;: 25°C

"

TA ::;: 75°C

-

~

I

w

~

...

::{

3.0

.....

TA - OOC

\~

...J

a

>

...
...::::>
~

TA = 2SoC-

2.0

TA ::;: 75OC_

4-

a

f\<

,\\

rl- -..\~
~\

\

\

1.0

\.

o
3.0

4.0

OUTPUT "HIGH" VOLTAGE (V)

5-151

5.0

-

4.0

1\
2.0

-

Vee::;: 5.0V
I

I

~

(.)

nrt

~

~,

w
a:
a:

a:
a:

o

TA ::;: O°C-

<
.§.
60

IfIt

I

-10

t---+--+---+---+-----Ir----+---+---:.~--#-----t

DATA TRANSFER FUNCTION
5.0

o

.2

.4

.6

.8

1.0

1\ ,

"-~

1.2 1.4 1.6 1.8 2.0

INPUT VOLTAGE (V)

SCHOTTKY BIPOLAR 8205
8205 SWITCHING CHARACTERISTICS

CONDITIONS OF TEST:
Input pulse amplitudes:

TEST LOAD:
390n

2.5V

Input rise and fall times: 5 nsec
between 1V and 2V
Measurements are made at 1.5V
2K

All Transistors 2N2369 or Equivalent.

TEST WAVEFORMS
ADDRESS OR ENABLE
INPUT PULSE

---..1'~1

_ _ _ _ ___t+_-_'....
t++

1'---___
=b~:.:~-I.-,..--------

I-:
I

eL = 30 pF

,
,

,

,

OUTPUT

= aoc to +75°C, Vee = 5.0V ±5% unless otherwise specified.

A.C. CHARACTERISTICS TA

PARAMETER

SYMBOL

MAX. LIMIT

UNIT

18

ns

18

ns

18

ns

18

ns

t++

ADDRESS OR ENABLE TO
OUTPUT DELAY

t_+
t+_
t --

C,N

(1;

INPUT CAPACITANCE

P8205
C8205

4(typ.)
5(typ.)

pF
pF

TEST CONDITIONS

f

=1

MHz,

VSIAS

Vee

=

= 2.0V, T A

OV
:: 250 e

1. This parameter is penodically sampled and is not 100% tested.

TYPICAL CHARACTERISTICS
ADDRESS OR ENABLE TO OUTPUT
DELAY VS. AMBIENT TEMPERATURE

ADDRESS OR ENABLE TO OUTPUT
DELAY VS. LOAD CAPACITANCE
20

,....-..-------~--........------

20 , . . . . - . . - - - . . . , . . . . - - - - - , - - - - - -

Vee = 5.0V
TA = 25"C
~ _

Vee = 5.0V
Cl
= 30 pf

o

15 ~----+­

~ C
m-

~..:.

~~

~

g

o I~~
~50
0
«

15 t - - - - - - +

W -III
1
-

~

----~I--------I
t~_..:.~:..

~~

t_+

1

_

I

w..J

~~

10 t - - - - - - + - - - + - - - - + : : : - . . . - = : ; ; - - - 4
\ ... ",

~5
«

0°

5 1------1----+-----+-----1

o l - . -_ _..L..-_ _..1--_ _

.......I...-_ _

o

50

100

10

~5
w CL

150

51------+------+------1

OL..-----....L.....------'-------

~

o

200

25

SO

AMBIENT TEMPERATURE (OC)

LOAD CAPACITANCE (pf)

5-152

75

Schottky Bipolar 8214
PRIORITY INTERRUPT CONTROL UNIT
• Eight Priority Levels
• Current Status Register
• Priority Comparator

• Fully Expandable
• High Performance (50ns)
• 24-Pin Dual In-Line Package

The 8214 is an eight level priority interrupt control unit designed to simplify interrupt driven microcomputer
systems.
The PICU can accept eight requesting levels; determine the highest priority, compare this priority to a software controlled current status register and issue an interrupt to the system along with vector information to
identify the service routine.
The 8214 is fully expandable by the use of open collector interrupt output and vector information. Control
signals are also provided to simplify this function.
The PICU is designed to support a wide variety of vectored interrupt structures and reduce package count
in interrupt driven microcomputer systems.

LOGIC DIAGRAM

PIN CONFIGURATION

[TI>
Bo

ElR

24

Vee

[}DETlG--

l!P

REQUEST ACTIVITY

B,

2

23

ECS

B2

3

22

R7

SGS

4

21

R6

INT

5

20

Rs

elK

6

19

R4

18

R3

17

R2

8214
INTE

Ao

8

A,

9

16

R,

A2

10

15

Ro

ElR

11

14

ENLG

GND

12

13

ETLG

~

R,

~
[1D
~
~
~

R;

IT>
ED

60

(OPEN COllECTOR)

~ [D

ITI> R;

~

~
~
~
~

A2

}A
A>B

S;

ED

SGS

~

ECS

[]>

}B

~

[I>

IT>

PIN NAMES

Ro

PRIORITY
COMPARATOR

INTE ------------~
ClK-------------~

INPUTS
Ro·R7

REQUEST LEVELS (R7 HIGHEST PRIORITY)

Bo·B2
ECS
INTE

CURRENT STATUS
STATUS GROUP SELECT
ENABLE CURRENT STA"fUS
INTERRUPT ENABLE

CLK

CLOCK (tNT F·F)

ELR

ENABLE LEVEL READ

E1'\.G

ENABLE THIS LEVEL GROUP

SGS

OUTPUTS:

J-

Ao·A2
INT

REQUEST LEVELS
INTERRUPT (ACT. LOW)

OPEN
COLLECTOR

ENLG

ENABLE NEXT LEVEL GROUP

5-153

CD

SCHOTTKY BIPOLAR 8214
INTERRUPTS IN MICROCOMPUTER SYSTEMS
Microcomputer system design requires that I/O devices such
as keyboards, displays, sensors and other components receive servicing in an efficient method so that large amounts
of the total systems tasks can be assumed by the microcomputer with little or no effect on throughput.

CPU·DRIVEN
MULTIPLEXOR
CPU

The most common method of servicing such devices is the
Polled approach. This is where the processor must test each
device in sequence and in effect "ask" each one if it needs
servicing. It is easy to see that a large portion of the main
program is looping through this continuence polling cycle
and that such a method would have a serious, detrimental
effect on system throughput thus limiting the tasks that
could be assumed by the microcomputer and reducing the
cost effectiven.ess of using such devices.

--"""'"

RAM

ROM

A more desireable method would be one that would allow
the microprocessor to be executing its main program and
only stop to service peripheral devices when it is told to do
so by the device itself. In effect, the method would provide
an external asynchronous input that would inform the
processor that it should compiete whatever instruction that
is currently being executed and fetch a new routine that
will service the requesting device. Once this servicing is complete however the processor would resume exactly where it
left off.

Polled Method

This method is called Interrupt. It is easy to see that system
throughput would drastically increase, and thus more tasks
could be assumed by the microcomputer to further enhance
its cost effectiveness.
CPU

The Priority Interrupt Control Unit (PICU) functions as an
overall manager in an Interrupt-Driven system environment.
It accepts requests from the peripheral equipment, determines which of the incoming requests is of the highest importance (priority), ascertains whether the incoming request
has a higher priority value than the level currently being
serviced and issues an Interrupt to the CPU based on this
determination.

RAM

Each peripheral devi~e or structure usually has a special
program or "routine" that is associated with its specific
functional or operational requ irements; this is referred to
as a "service routine". The PICU, after issuing an Interrupt
to the CPU, must somehow input information into the CPU
that can "point" the Program Counter to the service routine associated with the requesting device. The PICU encodes the requesting level into such information for use as
a "vector" to the correct Interrupt Service Routine.

ROM

Interrupt Method
5-154

INT

"

SCHOTTKY BIPOLAR 8214

FUNCTIONAL DESCRIPTION

General
'he 8214 is a device specifically designed for use in real
time, interrupt driven, microcomputer systems. Basically it
is an eight (8) level priority control unit that can accept
eight different interrupt requests, determine which has the
highest priority, compare that level to a software maintained
current status register and issue an interrupt to the system
based on this comparison along with vector information to
ind icate the location of the service routine.

Note that the fourth bit in the register is SGS. This input is
part of the value written out by the programmer and performs a special function. The Priority Comparator will only
issue an output that indicates the request level is greater than
the Current Status Register. If both comparator inputs are
equal to zero no output will be present. The SGS input
allows the programmer to, in effect, disable this comparison
and allow the 8214 to issue an interrupt to the system that
is based only on the logic of the priority encoder.

Priority Encoder
The eight requests inputs, which are active low, come into
the Priority Encoder. This circuit determines which request
input is the most important (highest priority) as preassigned
by the designer. (R7) is the highest priority input to the
8214 and (RO) is the lowest. The logic of the Priority Encoder is such that if two or more input levels arrive at the
same time then the input having the highest priority will take
presidence and a three bit output, corresponding to the active level (modulo 8) will be sent out. The Priority Encoder
also contains a latch to store the request input. This latch is
controlled by the Interrupt Disable Flip-flop so that once
an interrupt has been issued by the 8214 the request latch
is no longer open. (Note that the latch does not store inactive requests. In order for a request to be monitored by the
8214 it must remain present until it has been serviced.)

Current Status Register
In an interrupt driven microcomputer system it is important
to not only prioritize incom ing requests but to ascertain
whether such a request is a higher priority than the interrupt
currently being serviced.
The Current Status Register is a simple 4-bit latch that is
treated as an addressable outport port by the microcomputer system. It is loaded when the ECS input goes low.
Maintenance of the Current Status Register is performed as
a portion of the service routine. Basically, when an interrupt
is issued to the system the programmer outputs a binary
code (modulo 8) that is the compliment of the interrupt
level. This value is stored in the Current Status Register and
is compared to all further prioritized incoming requests by
the Priority Comparator. In essence, a copy of the cu rrent
interrupt level is written into the 8214 to be used as a reference for comparison. There is no restriction to this maintenance, other level values can be written into this register
as references so that groups of interrupt requests may be
disallowed under complete control of the programmer.

5-155

SCHOTTKY BIPOLAR 8214

Control Signals

INT

The 8214 also has several inputs that enable the designer to
synchronize the interrupt issued to the microprocessor and
to allow or disallow such an issuance. Also, signals are provided that perm it simple expansion to other 8214s so that
more than eight levels can be controlled.

The INT output of the 8214 is the signal that is issued to
the microprocessor to initiate the interrupt sequence. As
soon a INT is active the INT DIS FF is set, inhibiting further
requests from entering the Request Latch. Only the writing
out of the current status information by strobing the ECS
input will clear the INT DIS FF and allow requests to enter
the latch.

INTE, elK
The INTE (Interrupt Enable) input allows the designer to
"shutoff" the interrupt system under control of external
logic or possibly under software maintenance. A "zero" on
this line will not allow interrupts to be issued to the microcomputer system.

Note that INT is also open collector so that when cascaded
to other 8214s an interrupt in any of the active devices will
set alllNT DIS FFs in the entire array.

The ClK (Clock) input is actually the trigger that strobes
the Interrupt Flip-Flop. It can be connected to one of the
clocks of the microprocessor so that the interrupt issued
meets the CPU set-up time specification. Note that due to
the gating of the input to the Interrupt Flip-Flop the INT
output will only be active for the time of a single clock period, so external latching may be required to hold this signal.

ElR, ETlG, ENGl
These three signals allow 8214s to be cascaded so that more
than eight levels of interrupt requests can be controlled.
Basically, the ENLG output of one 8214 is connected to
the ETLG input of the next and so on, with the first 8214
having its ETLG input pulled "high" and assigned the highest priority. When the ENlG output is "high" it indicates
that there is no interrupt pending on that device and that
interrupts can be monitored on the next lower priority
8214.
This "cascading" can be expanded almost indefinitely to
accomodate even the largest of interrupt driven system
arch itectu res.

AO, A1, A2
In order to identify which device has interrupted the processor so that the service routine associated with it can be
addressed, a pointer or "vector" must accompany the interrupt issued to the microcomputer system.
The AD, A1 and A2 outputs represent the complement of
the active interrupt level (modulo 8). By using these signals
to encode the special instruction, RST, the program counter
of the microprocessor, can point to the location of the
service routine. Note that these three outputs are gated by
the ELR input and are open collector so that expansion is
simplified.

5-156

SCHOTTKY BIPOLAR 8214

APPLICATIONS OF THE 8214
8 Level Controller (8080)

Basic Operation

The most common of applications of the 8214 is that of an
eight level priority structure for 8080 or 8008 microcomputer systems.

When the initial interrupt request is presented to the 8214
it will issue an interrupt to the 8080 if the structure is enabled. The 8214 will encode the request into 3 bits (modulo
8) and output them to the 8212. After the acknowledgement of the interrupt has been issued by the 8080 the encoded RST instruction is gated onto the Data Bus by the
8212. The processor executes the instruction and points the
program counter to the desired serviced routine. In this
routine the programmer will probably save the status of the
register array and flags within a series of PUSH instructions
(4). Then a copy of the current interrupt level (modulo 8)
can be "built" in the Accumulator and output to the Current Status Register of the 8214 for use as a comparison
reference for all further incoming requests to the system.

Shown in the figure below is a detailed logic schematic of a
simple circuit that will accept eight input requests, maintain
current status, issue the interrupt signal to the 8080 and encode the proper RST instruction to gate onto the data bus.
The eight requests are connected to the 8214 by the designer in whatever order of priority is to be preassigned. For
example, eight keyboards could be monitored and each assigned a degree of importance (level of priority) so that
faster processor attention or access can be assigned to the
critical or time dependent tasks.
The inputs to the Current Status Register are connected to
the Data Bus so that data can be written out into this "port".

This Vectored Eight Level Priority Interrupt Structure for
8080 microcomputer systems is a powerful yet flexible circuit that is high performance and has a minimal component
count.

An 8212 is used to encode the RST instruction and also to
act as a 3-state gate to place the proper RST instruction
when the 8080 Data Bus is in the input mode. Note that the
INT signal from the 8214 is latched in the SR flip-flop of
the 8212 so that proper timing is maintained. The 8212 is
selected (enabled) when the INTA signal from the 8080
status latch and the DB IN from the 8080 are active, this assures that the RST instruction will be placed on the Data
Bus at the proper time. Note that the INT output from the
8212 is inverted and pulled up before it is connected to the
8080. This is to generate an INT signal to the 8080 that has
the correct polarity and meets the input voltage requ irement (3.3V).

I

PRIORITY
REQUEST
LOWEST
0
1
2
3
4

5
HIGHEST

6
7

RST

1

1

A2

Al

Ao

1

1

1

7
6

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

1
1
1
1
0
0
0
0

1
1
0
0
1
1
0
0

1
0
1
0
1
0
1
0

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

5
4
3
2
1
-0

-RST 0 WILL VECTOR PROGRAM COUNTER TO LOCATION
o (ZERO) AND INVOKE THE SAME ROUTINE AS "RESET"
INPUT TO 8080.
THIS COULD RE·INITlALIZE THE SYSTEM BASED ON THE
ROUTINE INVOKED.
(A CAUTION TO SYSTEM PROGRAMMERS.)

8080 BI-DIRECTIONAL BUS

Vee
rj>2 (TTL)

A6

1K

ClK
INTE

7

INTE

INT

b

> 

:

1K

5

> 10K
11

STB

INT

.... 23
'J

8212
15 _

~ Do

'6~ ~
Fr.;

REQUESTS

17 ~
18 :::
19 ~

20~

21 ....
22 ;::

R2

AQ
Ai
Ai
Ai
R5
R6
R7 8214

R;

ETlG

~ O2

",8
.... 9

9
03
16
04
18

~10

05

~ 06
~ 07
11-

13

....

~ S;

~

3 ....
4~

23 ....

....

1~1

MD OSl

113 1 2 01
GND

ECS
ElR

ClR
DS2

B2

.... SGS

ENABl E
CURRE NT
STATUS
(FROM I/O PORT DECODER)

000
0°1
00 2
00 3
0°4
0°5
0°6
0°7

~ 01

INTA

GND

8 Level Controller
5-157

...!....6
8
10
15
17
19
21

INT
(8080 PIN 14)

SCHOTTKY BIPOLAR 8214

DO

8080 BI-ol RECTIONAL BUS

~
~
~
~
0
~5

T
I T

~

~2 (TIL)
INTE

I

•

IIII

• I

,6

I I I • I

cl ClK ETLG

1K~ ~ ~:
INT

I:> 5

III~ b

11

GND

PFlg

mJ

-

2

8214
RESET

PR 4

PA5
PR6

PR 7

14

CLR

8212

os,

~

PRIORITY
ARRAY EN
(FROM I/O PORT
DECODER)

INT

p5

,~~~
17~R,

1B~R2

~~

Ri
"'::lI
7n::3R'4
21 ~ R6

?~~

A

J!
8214

9
10

2

~ ~
~

4

22

5
06
07

I/O R GND

INTE

3

2

ffl1

7 ClK ETlG
13

PR 3

INT p23

oS2 Mo

GND

1~

0,
0

20

~ECS

~

Do

7

16 ~3
4
18 0

~
~
4if;s
2
3

:

9

Ai 9
AO~
A
10

PAll

PR 12
PR 13
PR 14
PA 15

ENABLE
CURRENT
STATUS 1
(FROM I/O PORT
DECODER)

I STB

7 I INTE

f5R l0

PRO
Pfi l
fiR 2

~

I IT

PRs

REQUESTS

~
~
~
~
04
~

B2

~

ENABLE
CURRENT
2~ ..... STATUS 2 ------~l- ECS
(FROM I/O PORT
ErR
DECODER)

1

ENLG

~

GND

16 Level Controller

5-158

I

07

I T

mmn

~10K

I I I I I I I I c4>

'(808~Np1N 14)

~

SCHOTTKY BIPOLAR 8214
APPLICATIONS OF THE 8214
RST7

Cascading the 8214
SAVE
PROCESSOR
STATUS

When greater than eight levels of interrupts must be prioritized and serviced, the 8214 can be cascaded with other
8214s to support such an .architecture.
On the previous page a simple circuit is shown that can control 16 levels of interrupt and is easily expandable to support up to 40 levels of interrupt by just cascading more
8214s.

INPUT
PRIORITY ARRAY
VALUE

As described previously, there are signals provided in the
8214 for cascading (ELR, ETLG, ENLG) and in effect the
ENLG output of the first 8214 "ripples" down to the next
and so on. The entire array of 8214s regardless of size, can
be thought of as a single priority control unit, with the first
having the highest priority and the next 8214 having a lower
priority and so on.

LOAD
BASE VALUE
INTO H REGISTER

TRANSFER
H & L REGISTER
TO PROGRAM COUNTER

In this application, the manner in which software handles
the servicing of the interrupt will change. Since more than
eight vectors must be generated a method other than the
common RST instruction must be implemented. Basically,
the priority control array must somehow modify the contents of the 8080 Program Counter so that it can point
("vector") to one of 16 (or how many levels are to be
serviced) and fetch the proper service routine. A simple approach is to treat the priority control array as a single input
port that can input a value into the Accumulator and use
this value as an offset to modify the Program Counter (Indirect Jump).

I

An initial CALL is needed to invoke this Indirect Jump
routine so the circuitry is configured to insert an RST 7
(FFh) for all interrupts, thus the Indirect Jump Routine
starts at location (56d).

8
9
10
11
12
13
14
HIGHEST 15

SERVICE ROUTINE

REQUEST (PR)
PRIORITIES

LOWEST

0
1
2
3
4
5
6
7

D-7 8-15
A2
EN

EN
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0

1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0

-

A,

1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0

-

Ao

0

0

0

1
0
1
0
1
0
1
0
1
0
1
0
1
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

1
0

The Assembly Code for the flow chart is as follows:

PUSH
PUSH
PUSH
PUSH
IN
MOV
MVI
PCHL

:SW}
o

Shown in the figure above is a chart of the 16 different array
values that are used to offset the Program Counter and vector to the proper service routine. These values are the ones
that are loaded into the ilL" register; the value loaded into
the "H" register with an "immediate instruction" is used to
identify the major area of memory where the service routines are stored, similar to a "course setting" and the value
in the ilL" register is used to identify a specific location,
similar to a "fine setting".

(save processor status)
(22 microseconds)

H

(n)
L,A
H,(n)

(input Priority Array Value)
(transfer Accumulator to L register)
(load Base Address into H register)
(transfer H&L to Program Counter)

(The execution time for the total routine is 35.5 microseconds based on an 8080 clock period of 500ns.)

Following is a basic flowchart of the priority array Indirect
Jump routine. Note that the last step in the routine will
vector the processor to fetch the proper service routine as
dictated by the interrupting level.

5-159

Note that DO, 01, and D2 are always set to "zero", this provides the programmer eight (8) memory locations between
the start of each service routine so that maintenance of the
associated Current Status Register and a JUMP or CALL instruction can be implemented.
This method of interrupt control can be almost indefinitely
expanded and provides the system designer with a powerful
tool to enhance total system throughput.

SCHOTTKY BIPOLAR 8214

D.C. AND OPERATING CHARACTERISTICS
ABSOLUTE MAXIMUM RATINGS*
Temperature Under Bias
O°C to 70°C
-65°C to +150°C
Storage Temperature
All Output and Supply Voltages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. -0.5V to +7V
All Input Voltages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. -1.0V to +5.5V
Output Currents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 100 rnA
*COMMENT: Stresses above those listed under"Absolute Maximum Rating" may cause permanent damage to the device. This is a stress rating
only and functional operation of the device at these or at any other condition above those indicated in the operational sections of this specifications is not implied. Exposure to absolute maximum ratings for extended periods may affect device reliability.

Symbol

Parameter

Vc

Input Clamp Voltage (all inputs)

IF

Input Forward Current:

ETLG input
all other inputs

IR

Input Reverse Current:

Vil

Min.

Limits
Typ.£1]

Max.

Unit

Conditions

-1.0

V

Ic=-5mA

-0.5
-0.25

rnA
rnA

VF=0.45V

ETLG input
all other inputs

80
40

IlA
IlA

VR=5.25V

Input LOW Voltage:

all inputs

0.8

V

Vcc=5.0V

VIH

Input HIGH Voltage:

all inputs

V

Vcc=5.0V

Icc

Power Supply Current

Val

Output LOW Voltage:

-.15
-.08

2.0

all outputs

VOH

Output HIGH Voltage:

ENLG output

los

Short Circuit Output Current: EN LG output

ICEX

Output Leakage Current: INT and Ao-A2

90

130

rnA

See Note 2.

.3

.45

V

IOl =15mA

V

IOH=-1mA

2.4

3.0

-20

-35

NOTES:
1. Typical values are for T A = 25° C, V CC = 5.0V.
2. 80-82, SGS, elK, RO-R4 grounded, all other inputs and all outputs open.

5-160

-55

rnA

VOs=OV, Vcc=5.0V

100

IlA

VCEx=5.25V

SCHOTTKY BIPOLAR 8214
A.C. CHARACTERISTICS AND WAVEFORMS TA = o°c to +70°C, vcc = +5V ±5%
Parameter

Symbol

Min.

Limits
Typ.[1]

Max.

Unit

tCY

ClK Cycle Time

80

50

ns

tpw

ClK, ECS, INT Pulse Width

25

15

ns

tlSS

INTE Setup Time to ClK

16

12

ns

t,SH

INTE Hold Time after ClK

20

10

ns

tETCS[2]

ETlG Setup Time to ClK

25

12

ns

tETCH[2]

ETlG Hold Time After ClK

20

10

ns

tECCS[2]

ECS Setup Time to ClK

80

50

ns

tECCH[3]

ECS Hold Time After ClK

0

tECRS[3]

ECS Setup Time to ClK

tECRH [3]

ECS Hold Time After ClK

0

tECSS[2]

ECS Setup Time to ClK

75

tECSH[2]

ECS Hold Time After ClK

tOCS[2]

SGS and 80-82 Setup Time to ClK

70

tOCH[2]

SGS and 80-82 Hold Time After ClK

0

tRCS[31

Ro-R 7 Setup Time to ClK

90

tRCH[3]

Ro-R 7 Hold Time After ClK

0

tiCS

INT Setup Time to ClK

55

tCI

ClK to INT Propagation Delay

tRIS[41

Ro -R 7 Setup Time to INT

10

0

ns

tRIH[4]

Ro-R7 Hold Time After INT

35

20

ns

tRA

Ro-R 7 to Ao·A2 Propagation Delay

80

100

ns

tELA

ElR to Ao -A2 Propagation Delay

40

55

ns

tECA

ECS to Ao-A2 Propagation Delay

100

120

ns

tETA

ETlG to Ao-A2 Propagation Delay

35

70

ns

tOECS[41

SGS and 80-82 Setup Time to ECS

15

10

ns

tOECH[4]

SGS and 8 0 -82 Hold Time After ECS

15

10

ns

tREN

Ro -R 7 to EN lG Propagation Delay

45

70

ns

tETEN

ETlG to EN lG Propagation Delay

20

25

ns

tECRN

ECS to EN lG Propagation Delay

85

90

ns

tECSN

ECS to EN lG Propagation Delay

35

55

ns

110

ns
70

ns

70

ns
ns

0

ns

50

ns
ns

55

ns
ns

35
15

25

ns

CAPACITANCE [5]

Symbol

Min.

Parameter

Limits
TypJ1]

Max

Unit

C,N

Input Capacitance

5

10

pF

COUT

Output Capacitance

7

12

pF

TEST CONDITIONS: VBIAS = 2.5V, Vce

= 5V, TA = 25°C, f = 1 MHz

NOTE 5. This parameter is periodically sampled and not 100% tested.

5·161

SCHOTTKY BIPOLAR 8214

WAVEFORMS

ENLG

-----------------"'j(
--------

-J.\

_

NOTES:
(1) Typical values are for T A = 25°C ,Vee = 5.0V.
(2) Required for proper operation if ISE is enabled during next clock pulse.
(3) These times are not required for proper operation but for desired change in interrupt flip-flop.
(4) Required for new request or status to be properly loaded.

TEST CONDITIONS:

TEST LOAD CI RCUIT

Vee
)

Input pulse amplitude: 2.5 volts.
Input rise and fall times: 5 ns between 1 and 2 volts.

300n

Output loading of 15 rnA and 30 pf.
aUTO....----.----------.

Speed measurements taken at the 1.5V levels.

== 30pf

5-162

600n

Schottky Bipolar 8216/8226
4 BIT PARALLEL BIDIRECTIONAL BUS DRIVER
• 3.65V Output High Voltage for Direct
Interface to 8080 CPU

• Data Bus Buffer Driver for 8080 CPU
• Low Input Load Current - .25 mA
Maximum
• High Output Drive Capability for
Driving System Data Bus

• Three State Outputs
• Reduces System Package Count

The 8216/8226 is a 4-bit bi-directional bus driver/receiver.
All inputs are low power TTL compatible. For driving MOS, the DO outputs provide a high 3.65V VOH, and for high capacitance terminated bus structures, the DB outputs provide a high 50mA IOl capability.
A non-inverting (8216) and an inverting (8226) are available to meet a wide variety of applications for buffering in microcomputer systems.

cs
2

0°0
OBo

3

16

Vee

15

OlEN

14

LOGIC DIAGRAM
8226

LOGIC DIAGRAM
8216

PIN CONFIGURATION

010

010
OBo

0°3
0°0

010

4

8216/ 13

OB3

DO,

5

8226 12

013

6

11

DB,

01,

01, ,

7

10

GND

8

9

_----0

DB,

0°2
DO,

01,

_ - - - - o O BO

0°0

DB,

DO,

OB2
O~

012

01 2
OB 2

0°2

PIN NAMES

0°2

013

01 3
OB 3

OBO·OB3

DATA BUS
BI-OIRECTIONAL

0'o.0~

DATA INPUT

00 0.0°3

DATA OUTPUT

OlEN

DATA IN ENABLE
DIRECTION CONTROL

cs

CHIP SELECT

0°3

------+-......- - - - n cs
OlEN o - - - _ e _ - - - - - - J

------+.......- - - - 0 cs
OlEN 0 - - -.......- - - - - - 1

5-163

SCHOTTKY BIPOLAR 8216/8226
FUNCTIONAL DESCRIPTION
Microprocessors like the 8080 are MOS devices and are
generally capable of driving a single TTL load. The same is
true for MOS memory devices. While this type of drive is
sufficient in small systems with few components, quite often
it is necessary to buffer the microprocessor and memories
when adding components or expanding to a multi-board
system.

01 0

0 - - - - -....

"---1---..

------oOBO
OOoo------t-----c: 1-------1-_

01,

0-------+---1

__'

"--4--..
DB,

DO, o------t--~

I--~---'

The 8216/8226 is a four bit bi-directional bus driver specifically designed to buffer microcomputer system components.

Bi-Directional Driver
Each buffered Iine of the four bit driver consists of two
separate buffers that are tri-state in nature to achieve direct
bus interface and bi-directional capabil ity. On one side of
the driver the output of one buffer and the input of another
are tied together (DB), this side is used to interface to the
system side components such as memories, I/O, etc., because its interface is direct TTL compatible and it has high
drive (50mA). On the other side of the driver the inputs
and outputs are separated to provide maximum flexibility.
Of ·course, they can be tied together so that the driver can
be used to buffer a true bi-directional bus such as the 8080
Data Bus. The DO outputs on this side of the driver have a
special high voltage output drive capability (3.65V) so that
direct interface to the 8080 and 8008 CPUs is achieved with
an adequate amount of noise immunity (350mV worst case).

01 3

0-------+----1

>--+--..

003o------t-----c: 1-----+-......

'--------1-

----0

cs

OlEN

(a) 8216

01 0
- - - - O O BO
0°0

01,

Control Gating OlEN, CS

DB,
DO,

The CS input is actually a device select. When it is "high"
the output drivers are all forced to their high-impedance
state. When it is at "zero" the device is selected (enabled)
and the direction of the data flow is determined by the
DIEN input.

01 2

0°2

The DIEN input controls the direction of data flow (see
Figure 1) for complete truth table. This direction control
is accomplished by forcing one of the pair of buffers into its
high impedance state and allowing the other to transmit its
data. A simple two gate circuit is used for this function.

01 3

0°3

The 8216/8226 is a device that will reduce component count
in mjcrocomputer systems and at the same time enhance
noise immunity to assure reliable, high performance operation.

OlEN

~--------......

(b) 8226
OlEN

0
1

cs
0
0

0

1

1

1

Ol~

OB~

DB
DO

}HIGH IMPEDANCE

Figure 1. 8216/8226 Logic Diagrams

5-164

SCHOTTKY BIPOLAR 8216/8226
APPLICATIONS OF 8216/8226 .
8080 Data Bus Buffer
The 8080 CPU Data Bus is capable of driving a single TTL
load and is more than adequate for small, single board systems. When expand ing such a system to more than one board
to increase I/O or Memory size, it is necessary to provide a
buffer. The 8216/8226 is a device that is exactly fitted to
this application.

The 8216/8226 can be used in a wide variety of other buffering functions in microcomputer systems such as Address
Bus Drivers, Drivers to peripheral devices such as printers,
and as Drivers for long length cables to other peripherals or
systems.

Shown in Figure 2 are a pair of 8216/8226 connected directly to the 8080 Data Bus and associated control signals.
The buffer is bi-directional in nature and serves to isolate the
CPU data bus.

15
4 01 OlEN

On the system side, the DB lines interface with standard
semiconductor I/O and Memory components and are completely TTL compatible. The DB lines also provide a high
drive capability (50mA) so that an extremely large system
can be dirven along with possible bus termination networks.

00

DB

2 DO

7
01

8216
8226

9

03

OB1

10

11
12

On the 8080 side the 01 and DO lines are tied together and
are directly connected to the 8080 Data Bus for bi-directional
operation. The DO outputs of the 8216/8226 have a high
voltage output capability of 3.65 volts which allows direct
connection to the 8080 whose minimum input voltage is
3.3 volts. It also gives a very adequate noise margin of
350mV (worst case).

OBo

6

5

D2

3

OB2

13

14

DB 3

cs

SYSTEM
OATA
BUS

8080
15
01 OlEN

D4

OB

DO

OB4

6

Os
8216
8226

The DIEN inputs to 8216/8226 is connected directly to the
8080. OlEN is tied to DBIN so that proper bus flow is
maintained, and CS is tied to BUSEN so that the system
side Data Bus will be 3-stated when a Hold request has been
acknowledged during a DMA activity.

3

06

DBs

10

OB 6

13

07

DB7

CS

Memory and 1/0 Interface to a Bi-directional Bus
In large microcomputer systems it is often necessary to provide Memory and I/O with their own buffers and at the same
time maintain a direct, common interface to a bi-directional
Data Bus. The 8216/8226 has separated data in and data
out lines on one side and a common bi-directional set on the
other to accomodate such a function.

Figure 2. 8080 Data Bus Buffer.

Shown in Figure 3 is an example of how the 8216/8226 is
used in this type of application.

MEMORY

The interface to Memory is simple and direct. The memories
used are typically Intel® 8102, 81 02A, 8101 or 8107B-4 and
have separate data inputs and outputs. The DI and DO lines
of the 8216/8226 tie to them directly and under control of
the MEMR signal, which is connected to the DIEN input,
an interface to the bi-directional Data Bus is maintained.

01

I/O

DO

OlEN

(2) CS
8216
8226

(2)

01

DO

OlEN

(2) CS
8216
8226

(2)

BUSEN ........----~

The interface to I/O is similar to Memory. The I/O devices
used are typically Intel® 8255s, and can be used for both
input and output ports. The I/O R signal is connected directly to the DI EN input so that proper data flow from the
I/O device to the Data Bus is maintained.

Figure 3. Memory and I/O Interface to a Bi-Directional Bus.

5-165

SCHOTTKY BIPOLAR 8216/8226

D.C. AND OPERATING CHARACTERISTICS
ABSOLUTE MAXIMUM RATINGS*

Temperature Under Bias
'
O°C to 70°C
Storage Temperature
-6SoC to +150°C
All Output and Supply Voltages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. -O.5V to +7V
All Input Voltages
-1.0V to +5.5V
Output Currents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 125 rnA
*COMMENT: Stresses above those listed under "Absolute Maximum Rating" may cause permanent damage to the device. This is a stress rating
only and functional operation of the device at these or at any other condition above those indicated in the operational sections of this specification is not implied.

Symbol

Parameter

Min.

Limits
Typ.

Max.

Unit

Conditions

IF1

Input Load Current OlEN, CS

-0.15

-.5

mA

VF =0.45

IF2

Input Load Current All Other Inputs

-0.08

-.25

mA

VF =0.45

IR1

Input Leakage Current OlEN, CS

20

p.A

VR =5.25V

IR2

Input Leakage Current 01 Inputs

10

p.A

VR =5.25V

Vc

Input Forward Voltage Clamp

-1

V

le= -5mA

Vil

Input "Low" Voltage

.95

V

VIH

Input "H igh" Voltage

1101

Output Leakage Current
(3-State)

IcC

Power Supply Current

VOl1

Output" Low" Voltage

VOl2

Output "Low" Voltage

VOH1

Output "High" Voltage

3.65

VOH2

Output "High" Voltage

'OS

Output Short Circuit Current

V

2.0
DO
DB

20
100

p.A

Vo = 0.45V/5.25V

8216

95

130

rnA

8226

85

120

rnA

0.3

.45

V

DO Outputs IOl=15rnA
DB Outputs IOl=25rnA

8216

0.5

.6

V

DB Outputs IOl=55mA

8226

0.5

.6

V

DB Outputs IOL=50mA

4.0

V

DO Outputs IOH = -1 mA

2.4

3.0

V

DB Outputs 10H = -1 OmA

-15
-30

-35
-75

NOTE: Typical values are for TA = 25°C, Vee = 5.0V.

5-166

-65
-120

mA
rnA

DO Outputs Vo==OV,
DB Outputs Vee=5.0V

SCHOTTKY BIPOLAR 8216/8226

WAVEFORMS

-'X'-:,_5V

INPUTS

_

l--t

FD

OUTPUT

ENABLE

.5V

---+---V

OH

f

VOL

.5V
A.C. CHARACTERISTICS
TA = O°C to +70°C, Vcc = +5V ±5%

Parameter

Symbol

Limits
Typ,£1]

Min.

Max.

Unit

Conditions

TpD1

Input to Output Delay DO Outputs

15

25

ns

CL=30pF,R 1 =300n
R2=600n

TpD2

Input to Output Delay DB Outputs
8216

20

30

ns

C L=300pF,R 1 =90n

8226

16

25

ns

R 2 = 180n

8216

45

65

ns

(Note 2)

8226

35

54

ns

(Note 3)

20

35

ns

(Note 4)

Output Enable Time

TE

Output Disable Time

To

TEST CONDITIONS:

TEST LOAD CI RCUIT

Input pulse amplitude of 2.5V.
Input rise and fall times of 5 ns between 1 and 2 volts.
Output loading is 5 rnA and 10 pF.
Speed measurements are made at 1.5 volt levels.

OUT

0---.......------......

Capacitance [5]
Symbol

Parameter

Min.

Limits
Typ'£1]

Max.

Unit

4

8

pF

CIN

Input Capacitance

COUT1

Output Capacitance

6

10

pF

CO UT2

Output Capacitance

13

18

pF

TEST CONDITIONS:
NOTES:

VB1AS

= 2.5V, Vcc = 5.0V, TA = 25°C, f = 1 MHz.

1. Tvpical values are for TA = 25°C, VCC = 5.0V.

2. DO Outputs, CL = 30pF, R1 = 300/10 Kil, R2 = 180/1 Kil; DB Outputs, CL = 300pF, Rl = 90/10 Kil, R2 = 180/1 Kil.
3. DO Outputs, CL = 30pF, Rl = 300/10 Kil, R2 = 600/1 K; DB Outputs, CL = 300pF, Rl = 90/10 Kfl, R2 = 180/1 Kil.
4. DO Outputs, CL = 5pF, Rl = 300/10 Kil, R2 = 600/1 Kil; DB Outputs, CL = 5pF, R1 = 90/10 Kil, R2 = 180/1 Kil.

5. This parameter is periodically sampled and not 100% tested.
5-167

Coming Soon

8253
8257
8259

Silicon Gate MOS 8253
PROGRAMMABLE INTERVAL TIMER
• 3 Independent 16-Bit
Counters

• Count Binary or BCD
• Single +5V SUPR
• 24 Pin Dual-in-li

• DC to 3 MHz
• Programmable Counter
Modes

The 8253 is a programmable counter/timer chip designed for use as an 8080 (or
with a single +5V supply and is packaged in a 24-pin plastic DIP.

It uses nMOS technology

It is organized as three independent 16-bit counters, each with a count rat
software programmable by the 8080.

z.

~Jmodes'of

v

operation are

"'."~O

S"

,9
PIN CONFIGURATION

ClKO
GATE 0
...------..OUT 0

ClK 1
COUNTER

#1

GATE 1
.....---. OUT 1

CONTROL
WORD
REGISTER
AND
MODE
SELECTION

INTERNAL BUS /

5-169

ClK2
COU':;TER

14'-_

GATE 2

~----"OUT2

SILICON GATE MOS 8253
8253 PRELIMINARY
FUNCTIONAL DESCRIPTION
In Microcomputer-based systems the most common interface is to a mechanical device such as a printer head or stepper motor. All such devices have inherent delays that must
be accounted for if accurate and reliable performance is to
be achieved. The systems software allows for such delays by
programmed timing loops. This type of programming requires significant ov~rhead and maintenance of multiple
loops gets extremely complicated.

CLKO
DATA
BUS
BUFFER

AD

• Programmable Baud Rate Generator
• Event Counter
• Binary Rate Multiplier
• Real Time Clock

--___.a

WR -----+C11

The 8253 Programmable Interval Timer is a single chip solution to system timing problems. In essence, it is a group of
three 16-bit counters that are independent in nature but
driven commonly as I/O peripheral ports. Instead of setting
up timing loops in the system software, the programmer
configures the 8253 to match his requirements. The programmer initializes one of the three counters of the 8253
with the quantity and mode desired then, upon command,
the 8253 will count out the delay and interrupt the microcomputer when it has finished its task. It is easy to see that
the software overhead is minimal and that multiple delays
can be easily maintained by assigned interrupt levels to different counters. Other functions that are non-delay in nature
and require counters can also be implemented with the 8253.

GATE 0

ClK 1
READ/
WRITE
lOGIC

GATE 1
OUT 1

cs-------'
CLK2
COUNTER
#2

GATE 2
OUT2

INTERNAL BUS

8253 Block Diagram.

System Interface
The 8253 is a component of the MC5-80 system and interfaces in the same manner as all other peripherals of the
family. It is treated by the systems software as an array of
I/O ports; three are counters and the fourth is a control
register for programming. The OUT lines of each counter
would normally be tied to the interrupt request inputs of
the 8259.

ADDRESS BUS (16)

The 8253 represents a significant improvement for solving
one of the most common problems in system design and
reducing software overhead.

A1

An

0 0 .0 7
8253

COUNTER

COUNTER

COUNTER

0 1 2

I
I
I
lOUT GATE ClK I lOUT GATE ClK I lOUT GATE ClK I

8253 System Interface.

5..170

Silicon Gate MOS 8257
PROGRAMMABLE DMA CONTROLLER
• Four Channel DMA Controller
• Priority DMA Request Logic
• Channel Inhibit Logic
• Terminal and Modulo 256/128
Outputs

• Auto Load Mode
• Single TTL Clock «(/)21 TTL)
• Single +5V SUR~~
• Expandable
• 40 Pin Du
~~:W~l~\:~~

'.'.,

cl}mputer systems. Its priThe 8257 is a Direct Memory Access (DMA) Chip which has four channels for use i
allow the peripheral to acmary function is to generate, upon a peripheral request, a sequential memory a ress
; the system bus. It also keeps
cess or deposit data directly from or to memory. It uses the Hold feature of th
"grar11mable terminal count has
count of the number of DMA cycles for each channel and notifies the periphe
~<,
amon9,$fl'e four channels, programbeen reached. Other features that it has are two mode priority logic to res/
mabie channel inhibit logic, an early write pulse option, a modulo 256/1
for s~~tbred data transfers, an auto/'dur!~:~i)DMA cycles. There are three
matic load mode, a terminal count status register, and control signaL;:-· .
types of DMA cycles: Read DMA Cycle, Write DMA Cycle and Verify,/,t
The 8257 is a 40-pin, N-channel MOS chip which uses a single ~;
designed to work in conjunction with a single 8212 8-bit, thr~
the number of channels with the aid of the 8214 Priority Inter'

e ¢2,.JJTL) clock of the 8080 system. It is
'"Mulff;J3I'e
DMA chips can be used to expand
.
~ , .::-,/

c~::~"t

OACK 0

+ - - ORO 1

OACK 1

ORO 2

oACK 2

cs----A4

----1

As

----1

A6

----1

A7

----1

ORO 3

OACK 3

REAoY----.tI
HOLD ..........- - - 1

CONTROL
LOGIC

HLDA----..
MEMR

---ClIII

MEMW

----<...JI

AEN

----1

AoSTB

----1

PRIORITY
RESOLVER

INTERNAL
BUS

TC ..........- - - - ' "
128/256 . . - - - - - - - - - - '

5-171

SILICON GATE MOS 8257
8257 PRELIMINARY FUNCTIONAL DESCRIPTION
The transfer of data between a mass storage device such as
a floppy disk or mag cassette and system RAM memory is
often limited by the speed of the microprocessor. Removing
the processor during such a transfer and letting an auxiliary
device manage the transfer in a more efficient manner would
greatly improve the speed and make mass storage devices
more attractive, even to the small system designer.

operation, a request is made from a peri phera I device for
access to the system bus. After its pr iority is accepted a
HOLD command is ussued to the CPU, the CPU issues
a HLDA and that DMA channel has complete control of the
system bus. Transfers can be made in blocks, suspending
the processors operation during the entire transfer or, the
transfer can be made a few bytes at a time, hidden in the
execution states of each instruction cycle, (cycle-stealing).

The transfer technique is called DMA (Direct Memory Access); in essence the CPU is idled so that it no longer has
control of the system bus and a DMA controller takes over
to manage the transfer.

The modes and priority resolving are maintained by the
system software as well as initializing each channel as to the
starting address and length of transfer.

The 8257 Programmable DMA Controller is a single chip,
four channel device that can efficiently manage DMA activities. Each channel is assigned a priority level so that if
multi-DMA activities are required each mass storage device
can be serviced, based on its importance in the system. In

The system interface is si mi lar to the other peri phera Is of
the MCS-80 but an additional 8212 is necessary to control
the entire address bus. A special control signal BUSEN is
connected directly to the 8228 so that the data bus and
control bus will be released at the proper time.

\

ADDRESS BUS (16)

~

CONTROL BUS

\

ilOR

flOW

~

\

HOLD

RESET

\

DATA BUS (8)

4:/'\~

A s -A,5

1/

/ A o-A 3 /

READY

8

V

A 4 -A7

l/L--

'---

8212

BUSEN
8228
CS A o·A 3

MEMW

MEMR

A 4 -A7

['r-

HLDA

t

t
I
AOSTB

8

1

"',/7

AEN

0 7 -00

MEM

I/O

R

W

HOLD HLOA

92(TTL)

CLK

ROYIN

RESET

ORO
1

DACK

ORO

0

0

l

f

W

if

8257
128/256
MOD
TC

~

!

DACK

ORO

3

3

DACK
2

ORO
2

~

t

l

t

DACK
1

I

l

1

OMA CHANNEL REOUESTS AND ACKNOWLEDGES

System Interface 8257.
ADDRESS BUS

ORO 0

......-----11

DACK 0

1------..

DISK 1

ORO 1 1 . . - - - - - 1
8257
AND
8212

DACK 1 I _ _ _ - - - - - . t
ORO 2 ......- - - - 1 1
DACK 2

1------...

ORO 3 1 + - - - - - - 1

DISK 2

DACK 31--------..
OMA CONTROLLER

DUAL FLOPPY DISK CONTROLLER

System Application of 8257.
5-172

SYSTEM
RAM
MEMORY

Silicon Gate MOS 8259
PROGRAMMABLE INTERRUPT CONTROLLER
• Individual Request Mask
Capability
• Single + 5V Sup
(No Clocks)
• 28 Pin Dua
ckage

• Eight Level Priority Controller
• Expandable to 64 Levels
• Programmable Interrupt
Modes (Algorithms)

The 8259 handles up to eight vectored priority interrupts for the 8080A CPU. I
interrupts, without additional circuitry. It will be, packaged in a 28-pin plasf
single +5V supply. Circuitry is static, requiring no clock input.

r up to 64 vectored priority
technology and requires a

The 8259 is designed to minimize the software and real time overhead in
modes, permitting optimization for a variety of system requirements.

PIN CONFIGURATION

READ!
WRITE
LOGIC

REQUEST
LATCH
MASK
REGISTER

IR 0
4---IR 1
IR 2
4--- IR 3
. - - IR 4
4 - - - IR 5
"'-IR6
"'-IR7

o

CS-------It
CASO~--.nI

CAS1 ....--....n
CAS 2 " " " - - - . n I I

SP ~--.nII
INT......----I

INTA---.nI

5-173

CONTROL
LOGIC

~INTERNALBUS

INTERRUPT
REQUESTS

SILICON GATE MOS 8259
8259 PRELIMINARY
FUNCTIONAL DESCRIPTION
In microcomputer systems, the rate at which a peripheral
device or devices can be serviced determines the total amount
of system tasks that can be assigned to the control of the
microprocessor. The higher the throughput the more jobs
the microcomputer can do and the more cost effective it becomes. Interrupts have long been accepted as a key to improving system throughput by servicing a peripheral device
only when the device has requested it to do so. Efficient
managing of the interrupt requests to the CPU will have a
significant effect on the overall cost effectiveness of the
microcomputer system.

ADDRESS BUS (16)

The 8259 Programmable Interrupt Controller is a single-chip
device that can manage eight levels of requests and has builtin features for expandability to other 8259s (up to 64 levels).
It is programmed by the systems software as an I/O peripheral. A selection of priority algorithms is available to the programmer so that the manner in which the requests are processed by the 8259 can be configured to match his system
requirements. The priority assignments and algorithms can
be changed or reconfigured dynamically at any time during
the main program. This means that the oomplete interrupt
structure can be defined as required, based on the total system environment.

8259
IRQ IRQ IRQ IRQ IRQ IRQ IRQ IRQ
765
4
~
2
1
0

SLAVE
PROG.

I
INTERRUPT
REQUESTS

8259 System Interface.

The system interface is the same as other peripheral devices
in the MC5-80. A special input is provided (SP) to program
the 8259 as a slave or master device when expanding to
more than eight levels. Basically the master accepts INT inputs from the slaves and issues a composite request to the
8080A; when it receives the INTA from the 8228 it puts
the first byte on the CALL on the bus. On subsequent
INTAs the interrupting slave puts out the address of the
vector.

~

ADDR ESS BUS (16)

\

CONTROL BUS

~

\
INT REQ

\

\

DATA BUS (8)
.",,t.

to/'..

:lo

--- --- - - - - - -- ---- - ---I-~

~

1--

-

I---~

--I-

I----

I-- - I- -

~V7

~v'7

(

r-p.-

8259
SLAVE 2

,t./'..

~,7

""'

8259
SLAVE 1

I--

""'

SP

G!O 1 fIll
21

20 19 18

f 11

17 16 15 14

G!O f
13

f f fIlII

12 11

10

9

8

I
INTERRUPT REQUESTS

Cascading the 8259 22 Level Controller (Expandable to 64 levels).
5-174

7

6

"'v'7

'"

8259
MASTER

'"

p...tSf

~v'7

"''...1''1

'"

SP

lJJ

J

1111 ,

5

4

3

2

1

0

Intel
Product
Number

CPU
GROUP

ROMs

RAMs

I/O

PERIPHERAL

-

-

-

-

-

Standard
Package
Type

8224

C

0

P

16

8228

C

0

P

28

8080A

C

40

8702A

C

24

8708/4

C

24

8302

C

P

24

8308

C

P

24

8316A

C

P

24

8101-2

C

P

22

8111-2

C

P

18

8102-2

C

P

16

8102A-4

C

P

16

81078-4

C

P

22

5101

C

P

22

P

18

8210

0

8222

D

8212

0

8255

C

8251

C

8205

C

8214

C

8216/26

COMING
SOON

-

Number
Of Pins

22

P

Comments

Including 8080A-1,
8080A-2 and M8080A

New Product

24
40

P

28

0

P

16

0

P

24

0

P

16

8253

24

Coming Soon

8257

40

Coming Soon

8259

28

Coming Soon

C = Ceramic

0

= Cerdip

P = Plastic

6·1

PACKAGING INFORMATION

Dimensions in inches and (millimeters).

16-LEAD CERAMIC DUAL IN-LINE PACKAGE (C)

16-LEAD CerDIP DUAL IN-LINE PACKAGE (D)

~:[O:::JJ
.735~

I

I

.830 121,0821

~~­
.070 (1,778)

~!2.ill1_
.023 10,5841

:Q!Q~-

I---l-~ ~

.06511.651

.11012,7941

TYP.

16-LEAD PLASTIC DUAL IN-LINE PACKAGE (P)

1a-LEAD CERAMIC DUAL IN-LINE PACKAGE (C)

-- -- .855121,7171
~ lli!.ml
If----_

ALTERNATE PIN ;:1 IDENT.
(IF NO NOTCH AT END OF PKG.I
.-r--t==:I..lI::t.~....:::::::Io.I:=--e::s...c:~::::IiIloI~.,

I

~~

.29517,493)

~:~':~:1

'r-

.0751t.9051
REF

l

.025 10,6351

I

R
rr

.050 11,271

MAX.

REF.

I

,~t

1-.290~-l

?ml17'~741~

.OO8~

:Di2 10,3051

I ~~ I
I---

-II-,

.410 110.41414

1a-LEAD PLASTIC DUAL IN-LINE PACKAGE (P)

1a-LEAD CerDIP DUAL IN-LINE PACKAGE (D)

I

,B50~

I

.930 123,62)

C:=§'
:'L

.240~

1

I

-

1

1-.045 /1,141
I :07011,7BI

I

,905~

.925 (23,495)

20015,~

f

.07011,7B}

: ;: : ;i: : i=: :;: : : j;: : :=c: : ;=;: : ;: : =;=;:=r~

1
i'i=i::::i"=i:=i=1=i:::

I

-+

~ .- _.._--

:i1ii112..l91

!
--r-

ll~~')

.2~l~~'

MAX

t

~

JIO,511
.050 11,27}

I

•

!

I

,057~~i4611

.100 (2,541

JL

.11012,794} .065/1,6511

T

].075/1,905)
REF.

-l ~ ~ ~

.032(0,8131'

1·15013,Bl}

REF.:21§~

.024 IO,610}

22-LEAD CERAMIC DUAL IN-LINE PACKAGE (C)
114·-------~:~~e-------

~lMW

.4~

.·.1
PIN#lID

,. . . ., . .,- ,-. . ,. . . ,. . ,. . ,.- ,. . .,

............ 25R.REF

~~

(NOTCH OPTIONAl)

,054 ~

.040 /1,016)

(r

t*

:oso 0321
~

200 Is,oa;f

L...i.

MAX,

L Jl

:~: ~.

~,
.

1

~~

II
-.j

f4- ~

- - - - - 10 Ea. SPACES@.10012,540)

6-2

=, L

.140~

- -- -- - - _. - LL

~~ ~~

•

:;so 13,81)

r[Lr-__.. ,-,...,- ,.

~-1 I-

~~TYP.

•012 (0,3051

/I f

.39Ol!.!!!!L

Ji50 /1,271 -.f f.- .010 (()~:10,414)

.10012,54}
REF,

It-j

PACKAGING INFORMATION

Dimensions in inches and (millimeters).

22-LEAD PLASTIC DUAL IN-LINE PACKAGE (P)
PIN 1

~

I ·34o~
I

.360 19.144)

.126 13.175)

1;r==i="-.=:::::p;;;;;r==:p;;;;r=;~==p:;r=::::p;:;;;;r=:::;;:::;;r==Fr===r;;;;;:;==;:;:or="'~

.
I

1.090 ~)
1.110128.194)

.02010,508)
MIN.

- - - - -

-L

--r-

\.--.J..'~~~l

=

j ~ -j h j
~

Il

.03~~p~'3)

.025 10,635)
RjF.

---l-

::r~

:t

.160 14,0641

-.L

--==l
.~ I I
-i~.•,~~::~, •.'.1
.15013,81)

~

-L

O'

...

.06~~p~24)

24-LEAD CERAMIC DUAL IN-LINE PACKAGE (C)

24-LEAD CerDIP DUAL IN-LINE PACKAGE (D)

~::

I

I

:::::------h
NOTE 1. 0.126 (3.176) MAX.
NOTE 2. 0.050 11,279) MAX.
.550 113.97)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .,..,.l1'u,

__
I

120

I

-+

I

.0076 (0.19)
.0116 (0.29) -

Ir I
I

t

112.701 _ _1

.020 (0.511
.05011.27)

.~ 12,54)

U
1.300
I
~~~~~T t 11~~l\

n

.012 (0.30)

I

.050 llJ1ID REF

~ _~3.D481

133.0'01

-r-::..I h

1_~115,24)-1
.730 118,64)

1.175 ~

·D4~~F·'i

_ _ .~(0.20)

t

.

NOTE 1

'~

.800 115,241

-liIS.59) MAX." .._ _........._ _..
.015 (0,38)
:023 (0,581

TYP

1 1 . 0 6 0 (1,624)

.07011.78)
.110,12.79)

...- -.....- - - - - - - - - - - . . . .

-----.J L:Qg~

PIN 1

I

:~g ~ TYP.

.150 (3,81)

0" - /

.032(O,813)--1h
TYP.
I

'1

I

#:."'"

15°

~ ~ TYP.

/

r-------.

~=

~.090(2.29)

~~
.012 (0,305)

r-r:iiO(2.79)

24-LEAD PLASTIC DUAL IN-LINE PACKAGE (P)

28-LEAD CERAMIC DUAL IN-LINE PACKAGE (C)

~:=~-----.I

I....

(REF)

1.40 13.556)

I'

•190 14,826)
-.
REF.

MAX.

'1

D

----l.
.150(3.81)
REF.

.250(6,35)

t

,ill1.!.M§§J

.588 (14.735)

~

REF•
•200 ' & , 0 8 1 .
MAX.

If
Y
~

I

'I

I

JL
.

-1 f- .06011,524)
REF.

~~

BEND LINE

"I-±-

.07011.n8)
REF.

----

.145~

-,--~"30(&'''')
~
I~
~ I
:1Q:Q~
m
-:roo

*~(4,'9')

j
~

---.

.020 (0,508)

.032 (0,813)

REF.

II

r-l ~

~~

-..j

"

MAX.

.020 (0,508)

MIN.

MIN.
.015~_
10.584)

.100 (2,64)
TYP.

.090~
.150(3.8101
12.6401 TYP.

•023 (0,684)

40-LEAD CERAMIC DUAL IN-LINE PACKAGE (C)
2·,c:l~,34}-

1
PIN 1

.,. , . ,. , . ,. ,l"T"'l "T"'lrT"'l "T"'l,.,. ,r-r;p:i i i ~;:; : ;~ "I" 'I' 'I' ' 'I' 'I' ' 'W' 'I' ' 'W'
I
..i-

. o,.r::
MIN.

_

IL

&!§~

~~

...........

~

••361

~230MAX.
1&.6421

.02310.5841

-r

_

IL

j

~~TYP

.11012.7941'

6-3

t
--t..
:16013.81)

.1oo~1

SALES AND MARKETING OFFICES
U.S. SALES AND MARKETING OFFICES
U.S. MARKETING HEADQUARTERS
3065 Bowers Avenue
Santa Clara, California 95051'
Tel (408) 246-7501
TWX: 910-338-0026
TELEX: 34-6372

NATIONAL SALES MANAGER
Hank O'Hara
3065 Bowers Avenue
Sanla Clara. California 95051'
Tel (408) 246·7501
TWX 910-338·0026
TELEX' 34-6372

NATIONAL DISTRIBUTOR MANAGER
Jamie Kirk
3065 Bowers Avenue
Santa Clara. California 95051 •
Te/' (408) 246-7501
TWX 910·338-0026
TELEX 34-6372

U.S. REGIONAL SALES MANAGERS'
WESTERN
William T. O'Brien
1651 East 4th Street
Suite 228
Santa Ana, California 92701·
Tel (714) 835-9642
TWX. 910-595-1114

OFFICES
MID-AMERICA
Mick Carrier
6350 LBJ. Freeway
SUIte 178
Dallas. Texas 75240'
Tel (214) 661-8829
TWX 910-860-5487

GREAT LAKES REGION
Hank Josefczyk
8312 North Main Street
Dayton. Ohio 45415
Tel (513) 890-5350
TELEX 288-004

EASTERN
Jim Saxton
187 Billerica Road
Chelmsford. MassaChusetts 01824
Tel (617) 861-1136
TWX. 710-321-0187

Intel Corp.
725 South Adams Road
Suile 288
BirminQham 48011
Tel: (313) 642·7018

NORTH CAROLINA
Barnhill and Associales
913 Plateau Lane
Raleigh 27609
Tel. (919) 876·5617

TENNESSEE
Barnhill and Associates
206 Croicasaw Drive
Johnson City 37601
Tel: (615) 928-0184

INDIANA
Sheridan Associates. Inc.
4002 Meadows Drive
Indianapolis 46205
Tel: (317) 547-7777

MINNESOTA
Intel Corp.
475 Southgate Office Plaza
5001 West 80th Street
Bloomington 55437
Tel (612) 835-6722
TWX: 910-576-2867

KANSAS
Sherrdan Associates. Inc.
10100 Santa Fe Dr.
Mark 1 Bldg .. Suite 101
Overland Park 66212
Tel: (913) 383-1636

MISSOURI
Sheridan Associates. Inc.
110 S Highway 140
Suite 10
Florissant 63033
Tel (314) 837·5200

MARYLAND
Barnhill and Associates
57 West Timonium Road
Timonium 21093
Tel (301) 252-7742
Barnhill and Associales
PO. Box 251
Glen Arm 21057
Tel: (301)252-5610
Intel Corp.
57 West Timonium Road
Suite 307
Timonium 21093
Tel (301) 252-7742

NEW YORK
Ossmann Components Sales Corp.
395 Cleveland Drive
Buffalo 14215
Tel (716) 832-4271
Ossmann Components Sales Corp.
280 Metro Park
Rochester 14623
Tel (716) 442-3290
Ossmann Components Sales Corp.
1911 Vestal Parkway E
Veslal 13850
lei (607) 785-9949
Ossmann Components Sales Corp.
132 Pickard Building
Syracuse 13211
Tel (315) 454-4477
TWX 710-541-1522
Ossmann Components Sales Corp.
140 Pine Street
Kingston 12401
Tel: (914) 338·5505

OHIO
Sheridan Associates. Inc
23224 Commerce Park Rd.
Beachwood 44122
Tel. (216)831-0130
Sheridan Associates. Inc.
Shiloh Bldg.
SUite 250
5045 North Main Street
Dayton 45405
Tel (513) 277-8911
Sheridan Associates, Inc.
10 Knollcresl Drive
Cincinnati 15237
Tel (513) 761-5432
TWX 810·461-2670
Intel Corp.
8312 Norlh Main Street
Dayton 45415
Tel (513) 890-5250
TELEX. 288-004

TEXAS
Evans & McDowell Associates
13777 N. Central Expressway
Suite 405
Dallas 75231
Tel (214) 238-7157
TWX 910-867-4763
Evans & McDowell Associales
6610 Harwln Avenue, Suite 125
Houston 77036
Tel. (713) 783-2900
Intel Corp.
6350 LBJ. Freeway
Suite 178
Dallas 75240
Tel (214)661-8829
TWX. 910-860-5487

U.S. SALES OFFICES
ALABAMA
Barnhill and Associates
7844 Horseshoe Trail
Huntsville 35802
Tel: (205) 883-9394
ARIZONA
Sales Engineering, Inc.
7155 E. Thomas Road. No.6
Scottsdale 85252
Tel: (602) 945-5781
TWX 910-950-1288
CALIFORNIA
Intel Corp.
3065 Bowers Avenue
Santa Clara 95051
Tel: (408) 246-7501
TWX: 910-338-0026
Mac-I
PO. Box 1420
Cupertino 95014
Tel (408) 257-9880
Earle Associates, Inc.
4433 Convoy Street
Suite A
San Diego 92111
Tel: (714) 278-5441
TWX: 910-335-1585
In lei Corp.
1651 East 4th Sireel
Suite 228
Santa Ana 92701
Tel: (714) 835-9642
TWX: 910-595-1114
COLORADO
Intel Corp.
12075 East 45th Avenue
Suite 310
Denver 80239
Tel: (303) 373-4920
FLORIDA
Intel Corp.
1090 NE 27th Terrace
Pompano Beach 33062
Tel: (305) 781-7450
TWX: 510-956-9407
Intel Corp.
5151 Adanson Street, Suite 200-3
Orlando 32804
Tel: (305) 628-2393

ILLINOIS
Inlel Corp.
900 Jorie Boulevard
SUite 138
Oakbrook 60521
Tel (312)325-9510
TWX 910-222-2710

MASSACHUSETS
Dalcom
55 Moody Street
Waltham 02154
Tel: (617) 891-4600
TELEX 92-3462
Intel Corp.
187 Billerica Road
Chelmsford 01824
Tel: (617) 861-1136
TWX: 710-321-0187
MICHIGAN
Sheridan Associates. Inc.
24543 Indoplex Drixe
Farmington Hills 48024
Tel. (313) 477-3800

EUROPEAN MARKETING OFFICES
EUROPEAN MARKETING HEADQUARTERS
BELGIUM
FRANCE
Bernard Giroud
Tom Lawrence
Intel Office
Intel Office
216 Avenue Louise
Cidex R-141
Brussels B-l050
F-94534 Rungis
Tel: (02) 649-20-03
Tel: (1) 677-60-75
TELEX: 24814
TELEX: 27475

SCANDINAVIA
John Johansen
Intel Office
Lingbyvej 32 2nd FI
DK2100 Copenhagen East
Denmark
Tel: (01) 182000
TELEX: 19567
Lennart Erikkson
Intel Office
Box 86
S-16212 Vallingby 1
Sweden
Tel: (08) 375370
TELEX: 13164 (ABCENT)

OREGON
ES/Chase Co.
POBox 626
Beaverton 97005
Tel (503) 649·6177
PENNSYLVANIA
Vantage Sales Company
21 Bala Avenue
Bala Cynwyd 19004
Tel (215) 667-0990
TW X. 510-662-5846
Sheridan Associates, Inc.
1717 Penn Avenue
SUite 5009
Plllsburgh 15221
Tel (412) 244·1640
Inlel Corp.
520 Pennsylvania Ave. Suite 102
Fort Washington 19034
Tel (215) 542-9444
TWX 510-661-3055

EUROPEAN MARKETING OFFICES
ENGLAND
Keith Chapple
InlelOffice
Broadlield House
4 Between Towns Road
Cowley, Oxford OX4 3NB
Tel (0865) 771431
TELEX. 837203

GERMANY
Alfred Neye Enatachnik GmbH
Schillerstrasse 14
2085 Ouickborn-Hamburg
Tel: (04106) 612-1
TELEX: 02-13590

INTERNATIONAL DISTRIBUTORS
AUSTRALIA
A. J Ferguson (Adelaide) PTY, Ltd.
44 Prospect Rd.
Prospect 50822
Tel: 269-1244
TELEX: 82635
AUSTRIA
Bacher Elektronische Gerate GmbH
Meidlinger Hauptstrasse 78
A 1120 Vienna
Tel: (0222) 836396
TELEX: (01) 1532
BELGIUM
Inelco Belgium SA
Avenue Val Ouchesse, 3
B-1160 Bruxelles
Tel: (02) 600012
TELEX: 25441
ENGLAND
G.E.C. Semiconductors ltd.
East Lane
Wembley
Middlesex HA97PP
Tel: (01) 904-9303
TELEX: 923429

DENMARK
Scandinavian Semiconductor
Supply A/S
20. Nannasgade
DK-2200 Copenhagen N
Tel: (01) 935090
TelEX: 19037
FINLAND
Havulinna Oy
P.O. Box 468
SF 00100 Helsinki 10
Tel: (90) 664451
TELEX: 12426
FRANCE
Tekelec Airtronic
Cite des Bruyeres
Rue Carle Vernet
92 Sevres
Tel (01) 626-02-35
TELEX: 25997

ORIENT MARKETING OFFICES
ORIENT MARKETING HEADQUARTERS ORIENT DISTRIBUTORS
JAPAN
JAPAN
T. Kama
Pan Elektron Inc.
/nlel Japan Corporation
No.1 Higashikala-Machi
Kasahara Bldg.
Midori-Ku. Yokohama 226
Tel: (045) 471·8321
1-6-10. Uchikanda
Chiyoda-ku
TelEX: 781·4773
Tokyo 101
Tel: (03) 295-5441
TELEX: 781-28426

ISRAEL
Telsys ltd.
54. Jabolinsky Road
Ramat • Gan 52 464
Tel: (3)-739865
TELEX: 32392
ITALY
Eledra 3S
Via Ludovico da Viadana 9
20122 Milano
Tel: (02) 860307
TelEX: 32027
SPAIN
Interface
Ronda General Mitre ::7
Barcelona 17
Tel: (93) 203-53·30
TELEX: 54713

NETHERLANDS
Inelco Nederland BV
AFD Elektronic
Joan Muyskenweg 22
Amsterdam 1006
Tel: (020) 93-48-24
TELEX: 14622
NORWAY
Nordisk Elektronik (Norge) A/S
Muslads Vei 1
Oslo 2
Tel. (02) 553893
TELEX: 16963
SOUTH AFRICA
Electronic Building Elements
P,O. Box 4609
Pretoria
Tel: 78-9221
TELEX: 30181 SA

VIRGINIA
BarnhIll and Associates
P.O. Box 1104
2532 Langhorne Road
Lynchburg 24501
Tel (703) 846-4624
WASHINGTON
ES/Chase Co.
P.O. Box 249
Edmonds 98020
Tel. (206) 774-3586

CANADA
Multrlek. Inc.
4 Barran Street
Ottawa. Ontario K2J lG2
Tel (613) 825-4695
TELEX 053-4585

GERMANY
Erling Holst
Intel Office
Wolfratschauserstrasse 169
08 Munchen 71
Tel: (089) 798923
TELEX: 5-212870
Klaus Kottenbrink
IntelOflice
0-6272 Niedernhauser
Wiesenweg 26
W. Germany
Tel: 6127/2314

SWEDEN
Nordisk Electronik AS
Fack
S-103 Stockholm 7
Tel: (08)-24-83-40
TELEX: 10547
SWITZERLAND
Industrade AG
Gemsenstrasse 2
Postcheck 80 - 21190
8021 Zurich
Tel: (01) 602230
TELEX: 56788
UNITED KINGDOM
Rapid Recall. Ltd.
11-14 Betterton Street
Drury Lane
London WC2H 9BS
Tel: (01) 379-6741
TELEX: 28752

u.s.

DISTRIBUTORS

u.s. DISTRIBUTORS
WEST

MID-AMERICA

NORTHEAST

SOUTHEAST

ARIZONA
Cramer/Arizona
2643 East University Drive
Phoenix 85034
Tel: (602) 263·1112
Hamilton/Avnet Electronics
2615 South 21st Street
Phoenix 85034
Tel: (602) 275·7851

INDIANA
Sheridan Associates. Inc.
4002 Medows Dr.
Indianapolis 46205
Tel: (317) 547-7777

CONNECTICUT
Cramer/Connecticut
35 Dodge Avenue
North Haven 06473
Tel: (203) 239-5641
Hamilton/Avnet Electronics
643 Danbury Road
Georgetown 06829
Tel: (203) 762-0361

ALABAMA
Cramer/EW Huntsville. Inc.
2310 Bob Wallace Avenue. S.W.
Huntsville 35805
Tel: (205) 539-5722
Hamilton/Avnet Electronics
805 Oster Drive NW
Huntsville 35805
Tel: (205) 533-1170

MARYLAND
Cramer/EW Baltimore
7255 Standard Drive
Hanover 21076
Tel: (301) 796-5790
Cramer/EW Washington
16021 Industrial Drive
Gaithersburg 20760
Tel: (301) 948-0110
Hamilton/Avnet Eleclronics
7255 Standard Drive
Hanover 21076
Tel: (301) 796-5000

FLORIDA
Cramer/E.W. Hollywood
4035 No. 29th Avenue
Hollywood 33020
Tel: (305) 923·8181
Hamilton/Avnet Electronics
4020 No. 29th Ave.
Hollywood 33021
Tel: (305) 925-5401
Cramer/E.W. Orlando
345 No. Graham Ave.
Orlando 32814
Tel: (305) 894-1511

MASSACHUSETTS
Cramer Electronics Inc.
85 Wells Avenue
Newton 02159
Tel: (617) 969-7700
Hamilton/Avnet Electronics
185 Cambridge Street
Burlington 01803
Tel: (617) 273-2120

GEORGIA
Cramer/EW Atlanta
3923 Oakcliff Industrial Center
Atlanta 30340
Tel: (404) 448-9050
Hamilton/Avnet Electronics
6700 I 85. Access Road, Suite 2B
Norcross 30071
Tel: (404) 448-0800

NEW JERSEY
Cramer/Pennsylvania, Inc.
12 Springdale Road
Cherry Hill Industrial Center
Cherry Hill 08003
Tel: (609) 424-5993
TW X: 710-896-0908
Hamilton/Avnet Electronics
218 Little Falls Road
Cedar Grove 07009
Tel: (201) 239-0800
TWX: 710-994-5787
Cramer/New Jersey
No.1 Barrett Avenue
Moonachie 07074
Tel: (201) 935-5600
Hamilton/Avnet Electronics
113 Gaither Drive
East Gate Industrial Park
Mt. Laurel 08057
Tel: (609) 234-2133
TWX: 710-897-1405

NORTH CAROLINA
Cramer Electronics
938 Burke Street
Winston-Salem 27102
Tel: (919) 725-8711

CALIFORNIA
Hamilton/Avnet Electronics
575 E. Middlefield Road
Mounlain View 94040
Tel: (415) 961·7000
Hamillon/Avnet Electronics
8917 Complex Drive
San Diego 92123
Tel: (714) 279·2421
Hamilton Electro Sales
10912 W. Washington Boulevard
Culver City 90230
Tel: (213) 558-2121
Cramer/San Francisco
720 Palomar Avenue
Sunnyvale 94086
Tel: (408) 739-3011
Cramer/los Angeles
17201 Daimler Street
Irvine 92705
Tel: (714) 979-3000
Cramer/San Diego
8975 Complex Drive
San Diego 92123
Tel: (714) 565·1881
COLORADO
Cramer/Denver
5465 E. Evans PI. at Hudson
Denver 80222
Tel: (303) 758-2100
Hamilton/Avnet Electronics
5921 No. Broadway
Denver 80216
Tel: (303) 534-1212
NEW MEXICO
Hamilton/Avnet Electronics
2450 Baylor Drive. S.E.
Albuquerque 87119
Tel: (505) 765·1500
Cramer/New Mexico
137 Vermont, N.E.
Albuquerque 87108
Tel: (505) 265-5767
OREGON
Almac/Stroum Electronics
4475 S.W. Scholls Ferry Rd.
Portland 97225
Tel: (503) 292-3534
UTAH
Cramer/Utah
391 W. 2500 South
Salt Lake City 84115
Tel: (801) 487-4131
Hamilton/Avnet Electronics
647 W. Billinis Road
Salt Lake City 84119
Tel: (801) 262-8451
WASHINGTON
Hamilton/Avnet Electronics
13407 Northrup Way
Bellevue 98005
Tel: (206) 746·8750
Almac/Stroum Electronics
5811 Sixth Ave. South
Seattle 98108
Tel: (206) 763-2300
Cramer/Seattle
5602 Sixth Ave. South
Seattle 98108
Tel: (206) 762·5755

ILLINOIS
Cramer/Chicago
1911 So. Busse Rd.
Mt. Prospect 60056
Tel: (312) 593-8230
Hamilton/Avnet Electronics
3901 No. 25th Ave.
Schiller Park 60176
Tel: (312) 678-6310
KANSAS
Hamilton/Avnet Electronics
37 lenexa Industrial Center
9900 PlIumm Road
Lenexa 66215
Tel: (913) 888-8900
Sheridan Associates. Inc.
10100 Santa Fe Dr.
Mark 1 Bldg.• Suite 101
Overland Park 66212
Tel: (913) 383·1636
MICHIGAN
Sheridan Sales Co.
24543 Indoplex Drive
Farmington Hills 48024
Tel: (313) 477-3800
Cramer/Detroit
13193 Wayne Road
Livonia 48150
Tel: (313) 425·7000
TWX: 810-242-2985
Hamilton/Avnet Electronics
12870 Farmington Road
Livonia 48150
Tel: (313) 522-4700
TWX: 810-242-8775
MINNESOTA
Industrial Components. Inc.
5280 West 74th Street
Minneapolis 55435
Tel: (612) 831-2666
Cramer/Bonn
7275 Bush Lake Road
Edina 55435
Tel: (612) 835-7811
Hamilton/Avnet Electronics
7683 Washington Avenue So.
Edina 55435
Tel: (612) 941-3801
MISSOURI
Hamilton/Avnet Electronics
364 Brookes Lane
Hazelwood 63042
Tel (314) 731-1144
Sheridan Sales Co.
110 South Highway 140, Suite 10
Florissant 63033
Tel: (314) 837·5200
OHIO
Hamilton/Avnet Electronics
118 Westpark Road
Dayton 45459
Tel: (513) 433-0610
TWX: 810-450-2531
Sheridan Sales Co.
10 Knollcrest Drive
Cincinnati 45222
Tel: (513) 761-5432
TWX: 810-461-2670
Cramer/Cleveland
5835 Harper Road
Cleveland 44139
Tel: (216) 248·8400
TWX: 810-427-9407
Hamilton/Avnet Electronics
761 Beta Drive
Cleveland 44143
Tel: (216) 461-1400
Cramer/Tri States. Inc.
666 Redna Terrace
Cincinnati 45215
Tel. (513) 771-6441
TWX: 810-461-2882
Sheridan Sales Co.
23224 Commerce Park Road
Beachwood 44122
Tel: (216) 831-0130
Sheridan Sales Co.
Shiloh Building, Suite 250
5045 North Main Street
Dayton 45405
Tel: (513) 277-8911
TEXAS
Cramer Electronics
2970 Blystone
Dallas 75220
Tel: (214) 350-1355
Hamilton/Avnet Electronics
4445 Sigma Road
Dallas 75240
Tel: (214) 661-8661
Hamilton/Avnet Electronics
1216 W. Clay
Houston 77019
Tel: (713) 526-4661
Component Specialties, Inc.
10907 Shady Trail, Suite 101
Dallas 75220
Tel: (214) 357-4576
Component Specialties, Inc.
7313 Ashcroft Street
Houston 77036
Tel: (713) 771-7237
WISCONSIN
Cramer/Wisconsin
430 West Rawson Avenue
Oak Creek 53154
Tel: (414) 764-1700

NEW YORK
Cramer/Binghamton
3220 Watson Boulevard
Endwell 13760
Tel. (607) 754-6661
Cramer/Rochester
3000 Winton Road South
Rochester 14623
Tel: (716) 275-0300
Hamilton/Avnet Electronics
167 Clay Road
Rochester 14623
Tel: (716) 442-7820
Cramer/Syracuse
6716 Joy Road
East Syracuse 13057
Tel: (315) 437-6671
Hamilton/Avnet Electronics
6500 Joy Road
E. Syracuse 13057
Tel: (315) 437-2642
Cramer/Long Island
29 Oser Avenue
Hauppauge, L.J. 11787
Tel: (516) 231-5600
TWX: 510-227-9863
Hamilton/Avnet Electronics
70 State Street
Westbury, L.I. 11590
Tel: (516) 333-5800
TWX: 510-222-8237
PENNSYLVANIA
Sheridan Sales Co.
1717 Penn Avenue, Suite 5009
Pittsburgh 15221
Tel: (412) 244-1640
Cramer Electronics
616 Beatty Drive
Monroeville 15146
Tel: (412) 242-7410

CANADA
ALBERTA
L. A. Varah Ltd.
4742 14th Street N.E.
Calgary T2E 6LT
Tel: (403) 276-8818
Telex: 138258977
BRITISH COLUMBIA
L. A. Varah Ltd.
2077 Alberta Street
Vancouver 10
Tel: (604) 873·3211
ONTARIO
Cramer/Canada
920 Alness Avenue, Unit No.9
Downsview
Toronto 392
Tel: (416) 661-9222
TWX: 610-492-6210
Hamilton/Avnet Electronics
6291-16 Dorman Road
Mississauga l4V 1H2
Tel: (416) 677-7432
TWX: 610-492·8867
Hamilton!Avnet Electronics
1735 CourtwOOd Cresco
Ottawa K2C 3J2
Tel: (613) 226-1700
TWX: 610 562-1906
QUEBEC
Hamilton/Avnet Electronics
2670 Paulus
SI. Laurent H45 1G2
Tel: (514) 331-6443
TWX: 610-421-3731

NOTES:

_

NOTES:

_

NOTES:

_

INSTRUCTION SET
Summary of Processor Instructions

Mnemonic

Description

07 06

Instruction Code 11 J
Os 04 03 02 0, Do

Clock(2)
Cycles

MOV r1 • r2
MOVM.r
MOVr.M
HLT
MVI r
MVIM
tNR r
OCR r
INR M
OCR M
AOOr
AOCr
SUB r
SBB r

Move register to register
Move register to memory
Move memory to register
Halt
Move immediate register
Move immediate memory
Increment register
Decrement register
Increment memory
Decrement memory
Add register to A
Add register to A with carry
Subtract register from A
Subtract register from A
with borrow
And register with A
Exclusive Or register with A
Or register with A
Compare register with A
Add memory to A
Add memory to A with carry
Subtract memory from A
Subtract memory from A
with borrow
And memory with A
Exclusive Or memory with A
Or memory with A
Compare memory with A
Add immediate to A
Add immediate to A with
carry
Subtract immediate from A
Subtract immediate from A
with borrow
And immediate with A
Exclusive Or immediate with
A
Or immediate with A
Compare immediate with A
Rotate A left
Rotate A right
Rotate A left through carry
Rotate A right through
carry
Jump unconditional
Jump on carry
Jump on no carry
Jump on zero
Jump on no zero
Jump on positive
Jump on minus
Jump on parity even
Jump on parity odd
Call unconditional
Call on carry
"Call on no carry
Call on zero
Call on no zero
Call on positive
Call on minus
Call on parity even
Call on parity odd
Return
Return on carry
Return on no carry

0
0
0
0
0
0
0
0
0
0
1
1
1
1

0
1
0
1
0
1
0
0
1
1
0
0
0
0

5
7
7
7
7
10
5
5
10
10
4
4
4
4

ANAr
XRA r
ORA r
CMPr
ADO M
AOC M
SUB M
SBB M
ANA M
XRA M
ORA M
CMPM
AOI
ACI
SUI
SBI
ANI
XRI
ORI
CPt
RLC
RRC
RAL
RAR
JMP
JC
JNC
JZ
JNZ
JP
JM
JPE
JPO
CALL
CC
CNC
CZ
CNZ
CP
CM
CPE
CPO
RET
RC
RNC

NOTES:

1
1
1
1
0
0
0
0
0
0
0
0
0
0

0
1
0
1
0
1
0
0
1
1
0
0
1
1

0
0
0
0
0
0
0
0
0
0
0
1
0
1

1
1
0
0
0
0

1

1
S
S
S
S

S
S
1
1

1
1
0
0
0
0
S
S
S
S

S
S
S
S
1
1
1
1

0
0
0
0
0
0
0
0

1
1
0
0
0
0

S
S
1
1
1
1
1
1

1
1
0
0
0
0

0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0

S
S
0
0
0
0
0
1
0
1
S
S
S
S
S
S
S
S
0
0
0
0

7
7
4
4
4
4

0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
1

0
1
0
1
0
0
1
1
0
1
1
0

1
0
0
1
1
0
1
1
0

0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0

1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0

1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0

10
10
10
10
10
10
10
10
10
17
11/17
11/17
11/17
11/17
11/17
11/17
11/17
11/17
10
5/11
5/11

Mnemonic

Description

07 06

RZ
RNZ
RP
RM
RPE
RPO
RST
IN
OUT
LXI B

Return on zero
Return on no zero
Return on positive
Return on minus
Return on parity even
Return on parity odd
Restart
Input
Output
Load Immediate register
Pair B & C
LXIO
Load immediate register
Pair 0 & E
LXI H
Load immediate register
Pair H & L
LXI SP
Load immediate stack pointer
PUSH B
Push register Pair B& C on
stack
PUSH 0
Push register Pair 0 & E on
stack
PUSH H
Push register Pair H& L on
stack
PUSH PSW Push A and Flags
on stack
POP B
Pop register pair B & C off
stack
POP 0
Pop register pair 0 & E off
stack
POP H
Pop register pair H& L off
stack
POP PSW
Pop A and Flags
off stack
Store A direct
STA
LOA
Load A direct
XCHG
Exchange 0 &E. H& L
Registers
XTHL
Excnange top of stack, H& L
SPHL
H& L to stack pointer
PCHL
H& L to program counter
DAD B
Add B & C to H& L
DAD 0
Add D & E to H& L
DAD H
Add H& L to H& L
DAD SP
Add stack pointer to H& L
STAX B
Store A indirect
STAX 0
Store A indirect
Load A indirect
LOAX B
Load A indirect
LOAX 0
INX B
Increment B& C registers
INX 0
Increment 0 & E registers
INX H
Increment H& L registers
INX SP
Increment stack pointer
OCX B
Decrement B & C
OCX 0
Decrement 0 & E
OCX H
Decrement H& L
OCX SP
Decrement stack pointer
Complement A
CMA
STC
Set carry
CMC
Complement carry
OAA
Decimal adjust A
SHLO
Store H& L direct
LHLO
Load H& L direct
EI
Enable Interrupts
01
Disable interrupt
NOP
No-operation

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.

Instruction Code 11 J
Os 04 03 02 0, Do
0
0
1
1
1
1
A
0
0
0

0
0
1
1
0
0
A
1
1
0

'1
0
0
1
1
0
A
1
0
0

0
0
0
0
0
0
1
0
0
0

0
C
0
0
0
0
1
1
1
0

0
0
0
0
0
0
1
1
1
1

Clock (2)
Cycles
5/11
5/11
5/11
5/11
5/11
5/11
11
10
10
10
10
10
10
11
11
11
11
10
10
10
10

0
0
0
1
1
1
0
(l

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0

1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0

1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0

0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
1
0

0 0
1 0
1 0
1 0
1 0
1 0
1 0
0 0
0 0
1 0
1 0
0 0
0 0
0 0
0 0
1 0
1 0
1 0
1 . 0
1 1
0 1
1 1
0 1
0 0
1 0
1 0
0 0
0 0

13
13
4
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0

1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0

18
5
5
10
10
10
10
7
7
7
7
5
5
5
5
5
5
5
5
4
4
4
4
16
16
4
4
4

~

INSTRUCTION SET
Summary of Processor Instructions
By Alphabetical Order
Mnemonic

Desaiptioll

ACI

Add immediate to A with
tarry
Add memory to A with tarry
Add register to A with carry
Add memory to A
Add register to A
Add immediate to A
And memory with A
And register with A
And immediate with A
Call ullCondi1ional
Call on carry
Call on minus
Compliment A
Compliment carry
Compare memory with A
Compare register with A
Call on no carry
Call on no lero
Call on positive
Call on parity even
Compare immediate with A
Call on parity odd
Call OnltrO
Decimal adjust A
Add a & Cto H & L
Add 0 & E to H & L
Add H & Lto H & L
Add stack pointer to H & L
Decrement memory
Decrement register
Decrement B & C
Decrement 0 & E
Decrement H & L
Decrement stack po inter
Disable Interrupt
Enable Interrupts
Halt
Input
Increment memory
Increment register
Increment a & Cregisters
Increment 0 & Eregisters
Increment H & Lregisters
Increment stack pointer
Jump on carry
Jump on minus
Jump unconditional
Jump on no carry
Jump on no lero
Jump on positive
Jump on parity even
Jump on parity odd
Jump onlero
Load A direct
Load A indirect
Load A indirect
Load H & Ldinct
Load immediate register
Pair a & C
Load immediate register
Pair 0 & E
Load immediate register
Pair H & L
Load immed iate steck pointer

AOC M
ADCr
ADD M
AOOr
AOI
ANAM
ANAr
ANI
CALL
CC
CM
Cl1A
CMC
CMPM
CMPr
CNC
CNZ
CP
CPE
CPI
CPO
CZ
DAA
DAD a
DAD 0
DAD H
DAD SP
OCR M
OCR r
DCX 8
DCX D
OCX H
OCXSP
01
EI
HLT
IN
INR M
INR r
INX8
INX 0
INX H
INXSP
JC
JM
JMP
JNC
JNZ
JP
JPE
JPO
JZ
LOA
LOAXa
LOAX 0
LHLD
LXI8
LXIO
LXI H
LXI SP

07

1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
I

0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1

0
0
0
0
0

06

0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
I

1
1
1
1
1
1
1
0
0
0
0
0

Instrumon Cod.lll
0 5 04
03 02

0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1

0
0
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
1
0

0
D
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
0
1
1
D
0
1
0
1
1
1
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0

1
1
0
0
0
0
0
0
1
1
1
1
1
I

1
0
0
0
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
D
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
1

1
0

01

DO

1
S
1
S
1
1
S
1
1
1
I

1
1
1
S
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1

Clock121
Cychs

7
4
7
4
7
7
4
7
17
11/17
11/17
4
4
7
4
11/17
11/17
11/17
11/17
7
11/17
11/17
4
10
10
10
10
10
5
5
5
5
5
4
4
7
10
10
5
5
5
5
5
10
10
10
10
10
10
10
10
10
13
7
7
16
10
10

Mn.mollie

Description

MVI M
MVlr
MOVM.r
MOVr,M
MOV rt ,r2
NOP
DRAM
ORAr
ORI
OUT
PCHL
POP 8

Move immediate memory
Move immediate register
Move register to memory
Move memory to register
Move register to register
No-operation
Or memory with A
Or register with A
Or immediate with A
Output
H & L to program counter
Pop regi$ter pair a & Coff
stick
Pop register pair 0 & E off
stack
Pop register pair H & L off
stack
Pop Aand Flags
all stack
Push register Pa ir 8 & Con
stack
Push register Pair 0 & Eon
stack
Push register Pair H & L on
stack
Push Aand Flags
on stack
Rotlle A left through carry
Rolate A right through
carry
Return on carry
Return
Rotate A left
Return on minus
Return on no carry
Return on no lero
Relurn on positive
Return on parity even
Return on parity odd
Rotate A right
Restart
Return on lero
Subtract memory Irom A
with borrow
Subtract register from A
with borrow
Subtract immediate from A
with borrow
Slore H & Ldirect
H & Lto stack pointer
Store A direct
Slore A indirect
Store A indirect
Sel ClIrry
Subtract memory from A
Subtract register Ira m A
Subtrlct immediate from A
Exchange 0 & E. H & L
Registers
Exclusive Or memory with A
Exclusive Or register with A
Exclusive Or immediate with
A
Exchange to p 01 stack, H & L

pop 0
POP H
POP PSW
PUSH 8
PUSH 0
PUSH H
PUSH PSW
RAL
RAR
RC
RET
RLC
RM
RNC
RNZ
RP
RPE
RPO
RRC
RST
RZ
SaB M
SBa r
S81
SHLO
SPHL
STA
STAX 8
STAX 0
STC
SUB M
SU8 r
SUI
XCHG
XRAM
XRA r
XRI

10
XTHL
10

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

07

06

Illstrudion Cod.(1)
05 04
03 02
1
D
1
0
0
0
1
1
1
0
1
0

1
D
1
D
D
0
1
1
1
1
0
0

0
0
0
0
0
0
0
0
0
0
1
0

1
1
S
1
S
0
1
S
1
0
0
0

01

Do

C1cckl2J
Cychs

1
1
S
1
S
0
1
S
1
1
0
0

0
0
S
0
S
0
0
S
0
1
1
1

10
7
7
7
5
4
7
4
7
10
5
10
10
10
10
11
11
11
11

0
0
0
1
0
0
1
1
1
0
A
0
0

1

1

0
0
1
1
0
1
0
0
0
A
0
1

I

0
0

0
1
0
0
0
1
0
1
A
1
1

0
0
0
0
0
0
1
1
0
1

5'11
10
4
5'11
5'11
5'11
5111
5'11
5'11
4
11
5'11
7

1

0
0
0
0
0
1
1
S
1

0

0
1
0
0
0
1
0
S
0
1

16
5
13
7
7
4
7
4
7
4

18

Dear Customer,
Please fill out the card below completely to make
sure your name is entered accurately on the MCS-BO
Registered Users List. This assures you of getting the
latest information on all new MCS-BO Product Developments and Application Literature.
Any comments or suggestions regarding
MCS-BO would be appreciated.
Sincerely,

Ken McKenzie
MCS-BO Product Manager

8080

MICROCOMPUTER SYSTEM
USERS REGISTRATION CARD

(Please Print)

Name

.,..-_ _

Title

_

Company

~_ _- - - - - - - - - _

Address

-"'-

--==__

City

_

Mail Stop

_

State
ZipCode

_
_

Application

Peripherals
D Floppy Disk

D Line Printer

D Stepper

D Mag Cassette

D Keyboard

D Servo

D Paper Tape

Other:

ROM

k Bytes

Inports

RAM
Outports

DMA Chan~els

#

Interrupts #

Communication Interface D
ASYNC D

Baud Rate

SYNC

D

Baud Rate

SDLC

D

Baud Rate

OTHER D

Baud Rate

k Bytes

··1
BJ
lt~
.- e E
c

PLACE
STAMP
HERE

c

@

.S=! ~
:s
..
c
LC

INTEL CORPORATION
Microcomputer Systems
3065 Bowers Avenue
Santa Clara, CA 95051

inter
INTEL CORPORATION 3065 Bowers Avenue, Santa Clara. California 95051 (408) 246-7501
Primed in U.5.A.fMC5-662-Q975/40K



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.4
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.0-c321 44.398116, Tue Aug 04 2009 14:24:30
Modify Date                     : 2010:11:17 15:02:12-08:00
Create Date                     : 2010:11:17 11:50:34-08:00
Metadata Date                   : 2010:11:17 15:02:12-08:00
Creator Tool                    : Adobe Acrobat 8.2 Combine Files
Format                          : application/pdf
Document ID                     : uuid:7b7b5edf-c335-db43-8cfc-dc3fdddf3359
Instance ID                     : uuid:63d48a52-54e5-dd40-a5f2-a983eec2d6a9
Producer                        : Adobe Acrobat 8.25 Paper Capture Plug-in
Page Count                      : 262
Creator                         : Adobe Acrobat 8.2 Combine Files
EXIF Metadata provided by EXIF.tools

Navigation menu