Chapter 2
1. Data is fetched from the source location (such as data memory or I/O ports).
2. Data is then processed by the ALU. If the accumulator is one of the
operands, then it will be loaded into the ALU at the same time.
3. The result is moved to the destination location (such as accumulator, data
memory, or I/O ports).
Most of the ALU operations have two operands, one must be the accumulator,
and the other can either be the constant, memory, or I/O ports. In case of just
one operand, the data is processed by ALU itself. For data move operations, the
ALU simply passes the source data to the destination.
2.2.1 ALU Instruction Summary
2.2.1.1 Boolean Instruction:
Instruction Operation Operand
AND Logical “AND” A, R, constant
OR Logical “OR” A, R, constant
XOR Logical “XOR” A, R, constant
2.2.1.2 Arithmetic Instruction:
Instruction Operation Operand
ADD Arithmetic addition A, R, constant
SUB Arithmetic subtraction A, R, constant
INC Increase memory content by 1 R
INCA Increase memory content by 1 and load the result into ACC R
DEC Decrease memory content by 1 R
DECA Decrease memory content by 1 and load the result into ACC R
CLR Set memory content to zero R
RRC Rotate memory right 1 bit with carry bit R
RRCA
Rotate memory content right 1 bit with carry bit and load the
result into ACC
R
RLC Rotate memory content left 1 bit with carry bit R
RLCA
Rotate memory content left 1 bit with carry bit and load the
result into ACC
R
COM Take complement of memory content R
COMA
Take complement of memory content and load the result into
ACC
R
DAA Decimal adjustment -
JZ
Increase memory content by 1. If the result is zero, skip the
next instruction.
R
JZA
Increase memory content by 1 and load result into ACC. If
the result is zero, skip the next instruction.
R
DJZ
Decrease memory content by 1. If the result is zero, skip the
next instruction.
R
DJZA
Decrease memory content by 1 and load result into ACC. If
the result is zero, skip the next instruction.
R
8 • Architecture EM60000 Series User’s Manual