HT46R068B/HT46R069B
Enhanced A/D Type 8-bit OTP MCU
Instruction Set
Introduction
Central to the successful operation of any microcontroller is its instruction set, which is a set of
program instruction codes that directs the microcontroller to perform certain operations. In the case
of Holtek microcontrollers, a comprehensive and flexible set of over 60 instructions is provided to
enable programmers to implement their application with the minimum of programming overheads.
For easier understanding of the various instruction codes, they have been subdivided into several
functional groupings.
Instruction Timing
Most instructions are implemented within one instruction cycle. The exceptions to this are
branch, call, or table read instructions where two instruction cycles are required. One instruction
cycle is equal to 4 system clock cycles, therefore in the case of an 8MHz system oscillator,
most instructions would be implemented within 0.5μs and branch or call instructions would be
implemented within 1μs. Although instructions which require one more cycle to implement are
generally limited to the JMP, CALL, RET, RETI and table read instructions, it is important to
realize that any other instructions which involve manipulation of the Program Counter Low register
or PCL will also take one more cycle to implement. As instructions which change the contents of
the PCL will imply a direct jump to that new address, one more cycle will be required. Examples
of such instructions would be "CLR PCL" or "MOV PCL, A". For the case of skip instructions, it
must be noted that if the result of the comparison involves a skip operation then this will also take
one more cycle, if no skip is involved then only one cycle is required.
Moving and Transferring Data
The transfer of data within the microcontroller program is one of the most frequently used
operations. Making use of three kinds of MOV instructions, data can be transferred from registers
to the Accumulator and vice-versa as well as being able to move specific immediate data directly
into the Accumulator. One of the most important data transfer applications is to receive data from
the input ports and transfer data to the output ports.
Arithmetic Operations
The ability to perform certain arithmetic operations and data manipulation is a necessary feature
of most microcontroller applications. Within the Holtek microcontroller instruction set are a range
of add and subtract instruction mnemonics to enable the necessary arithmetic to be carried out.
Care must be taken to ensure correct handling of carry and borrow data when results exceed 255
for addition and less than 0 for subtraction. The increment and decrement instructions INC, INCA,
DEC and DECA provide a simple means of increasing or decreasing by a value of one of the
values in the destination specified.
Logical and Rotate Operations
The standard logical operations such as AND, OR, XOR and CPL all have their own instruction
within the Holtek microcontroller instruction set. As with the case of most instructions involving
data manipulation, data must pass through the Accumulator which may involve additional
programming steps. In all logical data operations, the zero flag may be set if the result of the
operation is zero. Another form of logical data manipulation comes from the rotate instructions
such as RR, RL, RRC and RLC which provide a simple means of rotating one bit right or left.
Rev. 1.00
107
�anꢀaꢁꢂ ꢃꢄꢅ ꢃ011