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 >