Register Layout
While the 68HC11 is 8 bit register results, 16 bit
functions such as
16 / 16 bit divides are supported by the use of double size registers

The 68HC11 supports the following instructions:
- Addition
- for both 8-bit and 16-bit values.
- Subtraction
- for both 8-bit and 16-bit values.
- Multiplication
- of two 8-bit values to yield a 16-bit result.
- Division
- of two 16-bit values to yield an integer or fractional result.
- Increment
- of both 8-bit and 16-bit values. The increment operation adds one to its
operand.
- Decrement
- of both 8-bit and 16-bit values. The decrement operation subtracts one
from its operand.
- Bitwise AND
- for 8-bit values. This instruction performs a bit-wise "and" operation on
two pieces of data. The result of an AND operation is 1 if and only if both of
its operands are 1. (e.g.,
%11110010
ANDed with %11000011
yields %11000010)
.
- Bitwise OR
- for 8-bit values. This instruction performs a bit-wise "or" operation on
two pieces of data. The result of an OR operation is 1 if either or both of
its operands is 1.
- Bitwise Exclusive OR
- for 8-bit values. The result of an exclusive-OR operation (called "EOR")
is 1 if either, but not both, of its inputs are 1.
- Arithmetic Shift operations
- on 8-bit and 16-bit values. The Arithmetic Shift operation moves all the
bits in an operand to the left or to the right by one bit position. This is
equivalent to a multiplication or division by 2 (respectively) upon the
operand.
- Rotation operations
- on 8-bit values. These are similar to the shift operations except that the
bit that gets shifted out of the high or low bit position (depending on the
direction of the rotation) gets placed in the bit position vacated on the
other side of the byte. Example: rotate right (
ROR
) of
%11011001
produces %11101100
.
- Bitwise Set and Clear operations
- on 8-bit values. These operations set or clear bits at specified bit
positions within an eight-bit data byte.
- Clear operations
- on 8-bit memory bytes or registers. This instruction is equivalent to
writing a zero into the memory location or 68HC11 register but does so more
quickly.
Jump/Branch operations are similar to the 8051 but
with an addition of inequality operators.
BEQ:
Branch if Equal to Zero
Branch is made if Z flag is 1 (indicating a zero result).
BNE:
Branch if Not Equal to zero:
Branch is made if Z flag is 0 (indicating a non-zero result).
BCC:
Branch if Carry is Clear
Branch is made if C flag is 0, indicating that a carry did not
result from the last operation.
BCS:
Branch if Carry is Set
Branch is made if C flag is 1, indicating carry occurred.
BLO:
Branch if Lower
Branch is made if result of subtraction was less than zero. This instruction
works correctly when using unsigned data.
BGE:
Branch if Greater Than or Equal
Branch is made if result of subtraction is greater than or equal to zero.
This instruction works correctly only when using unsigned data.
< back / next
>