Intel 8080 Laptop User Manual


 
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 Pro-
gram. The realm
of
the
programmer
is
referred
to
as Soft-
ware,
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.
When a
computer
is
designed,
the
engineers provide
the
Central Processing Unit (CPU)
with
the
ability
to
per-
form 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
com-
puters implement certain
arithmetic
operations
in
their in-
struction set, such as an instruction
to
add
the
contents
of
two registers. Often logical
operations
(e.g., 0 R
the
con-
tents
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.
By
logically organizing a sequence
of
instructions into
a
coherent
program,
the
programmer can
"tell"
the
com-
puter
to
perform a very specific and useful
function.
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
4-1
are programs available which
convert
the
programming lan-
guage instructions
into
machine
code
that
can be inter-
preted
by
the
processor.
One
type
of
programming language
is
Assembly
lan-
guage. 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 ma-
chine
dependent
(Le.,
they
are usually able
to
run
on
only
one
type
of
computer).
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
Stack,
I/O
and
Machine Control
Group
- includes
I/O instructions, as well as instructions
for
main-
taining
the
stack and internal
control
flags.
Instruction and Data Formats:
Memory for
the
8080
is
organized
into
8-bit quanti-
ties, called Bytes. Each
byte
has a unique 16-bit binary
address corresponding
to
its sequential position
in
memory.