This application note provides some utility math
routines for Microchip’s PIC16C5X and PIC16CXXX
series of 8-bit microcontrollers. The following math
outlines are provided:
• 8x8 unsigned multiply
• 16x16 double precision multiply
• Fixed Point Division (Table 3)
• 16x16 double precision addition
• 16x16 double precision subtraction
• BCD (Binary Coded Decimal) to binary conversion
routines
• Binary to BCD conversion routines
• BCD addition
• BCD subtraction
• Square root
These are written in native assembly language and the
listing files are provided. They are also available on a
disk (MS-DOS
). All the routines provided can be
called as subroutines. Most of the routines have two dif-
ferent versions: one optimized for speed and the other
optimized for code size. The calling sequence of each
routine is explained at the beginning of each listing file. AN526
PIC16C5X / PIC16CXXX Math Utility Routines
TABLE 1: PERFORMANCE SPECS
Author: Amar Palacherla
Microchip Technology Inc.
Spec Program Memory Instruction Cycles
PLEASE NOTE: This application note uses the old Speed Efcient 35 37
Microchip Math Routine format. It is intended for ref- Code Efcient 16 71
erence purposes only and is being provided for those
of you still implementing Binary Coded Deci- FIGURE 1: Flowchart for Unsigned
……