IMSAI 8080
General Assembly and
Test Onstructions
Figure 1 shows the structural blocks in the processor
which are important to the programmer. Central to the
processor's operation is the register named the
ACCUMULATOR. This register and all the others is like
one eight bit position in memory or a small "blackboard"
with room for only eight bits of either I's or 0's to be
written. When the input instruction was executed during
programs 1 and 2, the pattern from the switches on the
front panel was read into the ACCUMULATOR register,
and when the OUTPUT instruction was given it was again
the contents of the ACCUMULATOR which was output to the
PROGRAMMED OUTPUT port on the front panel. All arithmetic
is done in the ACCUMULATOR and, except for special
instructions, (to permit other registers to be read to
or from memory) all programmed input/output from either
memory or input/out interfaces goes to and from the
ACCUMULATOR. The INSTRUCTION register is another
"blackboard" with room to store the address where
it last read a program byte from memory so that when it
finished the execution of that step, it can increment that
address by one and use it to determine where to get
the next instruction.
The STATUS BITS are 5 bits that are set to 1 or 0,
according to the results of the last data operation
performed in the ACCUMULATOR. One of the STATUS BITS
or condition flags is the Z bit (zero bit) which is turned
on when the last operation in the ACCUMULATOR resulted
in the ACCUMULATOR being left all 0's. Otherwise, this
bit is turned off. The second condition flag is the
sign bit. If the most significant bit of the result of
the last operation in the ACCUMULATOR has the value 1,
this flag is set to 1, otherwise it is reset to 0.
Three other condition flags are the sign parity and the
auxilary carry, and their functions are described in
the Intel Data Book on page 4-2. The fifth condition
flag is a carry flag which is turned on if the last
arithmetic operation produced an overflow. An overflow
is produced, for example, when two numbers are added
together and their sum is too large to be contained in
the register into which it is put. For instance, if
the ACCUMULATOR contained eight 1's and another number
was added which contained the value 6, the correct answer
would be the combination of the value 5 and a bit
turned on in the 9th position. Since the ACCUMULATOR
has only eight positions, the carry bit would be turned on.
43