Explore an 8080 with Educator-8080 - Command Table

Table 1: Command List for Educator-8080. In order to illustrate the operations of the 8080 processor, Educator-8080 interprets a subset of the 8080's instructions. The subset generally references the accumulator, A, and registers B or C; it excludes all branching and program control operations. The complete list of available operations is found in this table.
- Flags -
CommandDescription of OperationPZSAC
ACI iAdd the value of the Carry Flag and the value of the immediate operand i to the contents of the accumulatorXXXXX
ADC rAdd the value of the Carry Flag and the contents of register r to the contents of the accumulator.XXXXX
ADD rAdd the contents of register r to the accumulator.XXXXX
ADI iAdd the value of the immediate operand i to the accumulator.XXXXX
ANA rLogically AND the contents of register r with the accumulator.XXXX0
ANI iLogically-AND the value of the immediate operand i with the contents of the accumulator.XXXX0
CMAComplement the contents of the accumulator, changing all of the zeros to ones and all of the ones to zeros.NNNNN
CMCComplement the value of the Carry Flag, if it is zero make it one, or if it is one make it zero.NNNNX
CMP rCompare the contents of register r with the contents of the accumulator.XXXXX
CPI iCompare the value of the immediate operand i with the contents of the accumulator.XXXXX
DAADecimal adjust the value in the accumulator (after an arithmetic command using decimal numbers).XXXXX
DCR rDecrement (subtract 1 from) the contents of register r.XXXXN
DCX rpDecrement the contents of the register pair rp.NNNNN
INR rIncrement (add 1 to) the contents of register r.XXXXN
INX rpIncrement the contents of the register pair rp.NNNNN
MVI r,iMove the value of the immediate operand i into register r.NNNNN
MOV r,sMove the value of the contents of register s into register r leaving s unchanged.NNNNN
NOPNo operation: do nothing.NNNNN
ORA rLogically OR the contents of register r with the accumulator.XXX00
ORI iLogically OR the value of the immediate operand i with the accumulator.XXX00
RALRotate the contents of the accumulator left one bit position with the high order bit going to the Carry Flag and the Carry Flag going into the low order bit of the accumulator.NNNNX
RARRotate the contents of the accumulator right one bit position with the low order bit of the accumulator going into the Carry Flag and the Carry Flag going into the high order bit of the accumulator.NNNNX
RLCRotate the contents of the accumulator left one bit position with the high order bit going into both the low order bit and the Carry Flag.NNNNX
RRCRotate the contents of the accumulator right one bit position with the low order bit going into both the high order bit and the Carry Flag.NNNNX
SBB rSubtract the values of the Carry Flag and register r from the accumulator.XXXXX
SBI iSubtract the values of the Carry Flag and the immediate operand i from the accumulator.XXXXX
STCSet the Carry Flag to a 1 value.NNNN1
SUB rSubtract the contents of register r from the accumulator.XXXXX
SUI iSubtract the value of the immediate operand i from accumulator.XXXXX
XRA rLogically Exclusive OR the contents of register r with the accumulator.XXX00
XRI iLogically Exclusive OR the value of the immediate operand i with the accumulator.XXX00
Key:i = any valid immediate operand (see text)
 r = any one of the three registers displayed A, B, or C.
 rp = must be the register pair B and C which is designated B.
 s = any one of the three registers displayed A, B, or C
Values for 
FLAGS:X = Changed value depends on operands and command.
 0 = Reset to zero always.
 1 = Set to one always.
 N = Not changed by this command.

Scanned by Werner Cirsovius
December 2013
© BYTE Publications Inc.