Intel 8080 Laptop User Manual


 
SILICON GATE
MOS
M8080A
INSTRUCTION SET
The accumulator group instructions include arithmetic and
logical operators with direct, indirect, and immediate
ad-
dressing modes.
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,
in-
direct, 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 sub-
routines
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
increment and decrement memory, the six general registers
and the accumulator
is
provided
as
well
as
extended incre-
ment 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.
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 deci-
mal
arithmetic capability. STC allows
the
carry flag
to
be
di-
rectly set, and the
CMC
instruction allows it
to
be comple-
mented.
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 D
4
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
particular operation
executed.
One Byte Instructions
TYPICAL INSTRUCTIONS
I0
7
06 05
0
4
03
02
OLDOJ
OPCOOE
Register
to
regist~r,
memory refer-
ence, arithmetic or logical, rotate,
return, push, pop, enable or disable
Interrupt instructions
Two Byte Instru·ctions
1
0
7
D6
D
5
D4
D3
D
2
D,
DO
I
OP
CODE
1
0
7
D
6
D
5
D4
D
3
D
2
D
1
DO
I
OPERAND
Immediate mode
or
I/O instructions
Three Byte Instructions
1
0
7
D6
Os
04
03
D2
0
1
DO
I
OP
CODE
Jump, call or direct load and store
1
0
7
DO
I
LOW
ADDRESS
OR
OPERAND 1
instructions
D
6
Os
04
0
3
O
2
D
1
1
0
7
D6
Ds
04
D3
D2
0
1
DO
I
HIGH
ADDRESSOR OPERAND 2
For
the
M80aOA a logic
"1"
is
defined
as
a high
level
and a logic
"0"
is
defined as a low level.
5-30