Code Efficiency
One of the most important criteria of a single chip microcon- troller is code efficiency. The more efficient the code, the more features that can be put on a chip. The memory size on a chip is fixed so if code is not efficient, features may have to be sacrificed or the programmer may have to buy a larger, more expensive version of the chip.
The HPC family has been designed to be extremely code- efficient. The HPC looks very good in all the standard cod- ing benchmarks; however, it is not realistic to rely only on benchmarks. Many large jobs have been programmed onto the HPC, and the code savings over other popular micro- controllers has been considerable.
Reasons for this saving of code include the following:
SINGLE BYTE INSTRUCTIONS
The majority of instructions on the HPC167064 are single- byte. There are two especially
JSRP is a
EFFICIENT SUBROUTINE CALLS
The
MULTIFUNCTION INSTRUCTIONS FOR DATA MOVE- MENT AND PROGRAM LOOPING
The HPC167064 has
1.Exchange A and memory pointed to by the B register
2.Increment or decrement the B register
3.Compare the B register to the K register
4.Generate a conditional skip if B has passed K
The value of this multipurpose instruction becomes evident when looping through sequential areas of memory and exit- ing when the loop is finished.
BIT MANIPULATION INSTRUCTIONS
Any bit of memory, I/O or registers can be set, reset or tested by the single byte bit instructions. The bits can be addressed directly or indirectly. Since all registers and I/O are mapped into the memory, it is very easy to manipulate specific bits to do efficient control.
DECIMAL ADD AND SUBTRACT
This instruction is needed to interface with the decimal user world.
It can handle both
The
MULTIPLY AND DIVIDE INSTRUCTIONS
The HPC167064 has
Development Support
The HPC167064 acts as a stand alone emulator for either the HPC16083 or the HPC16064. No separate development tool is thus provided to support this emulator device. The user will use either the HPC16083 or the HPC16064 (de- pending on which device is in use) development tools to develop and debug the application hardware and software in their target as normally done for the
To support the security feature of the HPC167064, a soft- ware switch is provided with the linker (under PROMHPC) which will generate an encrypted hex file for the user. The purpose is to be able to compare this software generated encrypted data with the encrypted data produced by the actual chip to provide a way to verify
30