MP2COD 3.70, COFF to COD File Converter
Copyright (c) 2004 Microchip Technology Inc.
Listing File Generated: Thu Sep 14 12:58:23 2006


Address  Value    Disassembly              Source                                                                           File
-------  -------  -----------------------  -------------------------------------------------------------------------------  -----
                                           /* $Id: c018i.c,v 1.3 2004/07/30 17:28:43 ConnerJ Exp $ */                       C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           /* Copyright (c)1999 Microchip Technology */                                     C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           /* MPLAB-C18 startup code, including initialized data */                         C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           /* external reference to the user's main routine */                              C:\mcc18\src\traditional\startup\c018i.c
                                           extern void main (void);                                                         C:\mcc18\src\traditional\startup\c018i.c
                                           /* prototype for the startup function */                                         C:\mcc18\src\traditional\startup\c018i.c
                                           void _entry (void);                                                              C:\mcc18\src\traditional\startup\c018i.c
                                           void _startup (void);                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           /* prototype for the initialized data setup */                                   C:\mcc18\src\traditional\startup\c018i.c
                                           void _do_cinit (void);                                                           C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           extern volatile near unsigned long short TBLPTR;                                 C:\mcc18\src\traditional\startup\c018i.c
                                           extern near unsigned FSR0;                                                       C:\mcc18\src\traditional\startup\c018i.c
                                           extern near char FPFLAGS;                                                        C:\mcc18\src\traditional\startup\c018i.c
                                           #define RND 6                                                                    C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           #pragma code _entry_scn=0x000000                                                 C:\mcc18\src\traditional\startup\c018i.c
                                           void                                                                             C:\mcc18\src\traditional\startup\c018i.c
                                           _entry (void)                                                                    C:\mcc18\src\traditional\startup\c018i.c
                                           {                                                                                C:\mcc18\src\traditional\startup\c018i.c
000000   ef72     GOTO      0x2e4          _asm goto _startup _endasm                                                       C:\mcc18\src\traditional\startup\c018i.c
000002   f001                                                                                                               
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
000004   0012     RETURN    0x0            }                                                                                C:\mcc18\src\traditional\startup\c018i.c
                                           #pragma code _startup_scn                                                        C:\mcc18\src\traditional\startup\c018i.c
                                           void                                                                             C:\mcc18\src\traditional\startup\c018i.c
                                           _startup (void)                                                                  C:\mcc18\src\traditional\startup\c018i.c
                                           {                                                                                C:\mcc18\src\traditional\startup\c018i.c
                                             _asm                                                                           C:\mcc18\src\traditional\startup\c018i.c
                                               // Initialize the stack pointer                                              C:\mcc18\src\traditional\startup\c018i.c
0002e4   ee12     LFSR      0x1,0x200          lfsr 1, _stack                                                               C:\mcc18\src\traditional\startup\c018i.c
0002e6   f000                                                                                                               
0002e8   ee22     LFSR      0x2,0x200          lfsr 2, _stack                                                               C:\mcc18\src\traditional\startup\c018i.c
0002ea   f000                                                                                                               
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
0002ec   6af8     CLRF      0xf8,0x0           clrf TBLPTRU, 0 // 1st silicon doesn't do this on POR                        C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
0002ee   9c04     BCF       0x4,0x6,0x0        bcf FPFLAGS,RND,0 // Initialize rounding flag for floating point libs        C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                               _endasm                                                                      C:\mcc18\src\traditional\startup\c018i.c
0002f0   ec16     CALL      0x2c,0x0           _do_cinit ();                                                                C:\mcc18\src\traditional\startup\c018i.c
0002f2   f000                                                                                                               
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           loop:                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                             // Call the user's main routine                                                C:\mcc18\src\traditional\startup\c018i.c
0002f4   ec65     CALL      0xca,0x0         main ();                                                                       C:\mcc18\src\traditional\startup\c018i.c
0002f6   f000                                                                                                               
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
0002f8   d7fd     BRA       0x2f4            goto loop;                                                                     C:\mcc18\src\traditional\startup\c018i.c
0002fa   0012     RETURN    0x0            }                               /* end _startup() */                             C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           /* MPLAB-C18 initialized data memory support */                                  C:\mcc18\src\traditional\startup\c018i.c
                                           /* The linker will populate the _cinit table */                                  C:\mcc18\src\traditional\startup\c018i.c
                                           extern far rom struct                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           {                                                                                C:\mcc18\src\traditional\startup\c018i.c
                                             unsigned short num_init;                                                       C:\mcc18\src\traditional\startup\c018i.c
                                             struct _init_entry                                                             C:\mcc18\src\traditional\startup\c018i.c
                                             {                                                                              C:\mcc18\src\traditional\startup\c018i.c
                                               unsigned long from;                                                          C:\mcc18\src\traditional\startup\c018i.c
                                               unsigned long to;                                                            C:\mcc18\src\traditional\startup\c018i.c
                                               unsigned long size;                                                          C:\mcc18\src\traditional\startup\c018i.c
                                             }                                                                              C:\mcc18\src\traditional\startup\c018i.c
                                             entries[];                                                                     C:\mcc18\src\traditional\startup\c018i.c
                                           }                                                                                C:\mcc18\src\traditional\startup\c018i.c
                                           _cinit;                                                                          C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           #pragma code _cinit_scn                                                          C:\mcc18\src\traditional\startup\c018i.c
                                           void                                                                             C:\mcc18\src\traditional\startup\c018i.c
                                           _do_cinit (void)                                                                 C:\mcc18\src\traditional\startup\c018i.c
                                           {                                                                                C:\mcc18\src\traditional\startup\c018i.c
                                             /* we'll make the assumption in the following code that these statics          C:\mcc18\src\traditional\startup\c018i.c
                                              * will be allocated into the same bank.                                       C:\mcc18\src\traditional\startup\c018i.c
                                              */                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                             static short long prom;                                                        C:\mcc18\src\traditional\startup\c018i.c
                                             static unsigned short curr_byte;                                               C:\mcc18\src\traditional\startup\c018i.c
                                             static unsigned short curr_entry;                                              C:\mcc18\src\traditional\startup\c018i.c
                                             static short long data_ptr;                                                    C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                             // Initialized data...                                                         C:\mcc18\src\traditional\startup\c018i.c
00002c   0e2a     MOVLW     0x2a             TBLPTR = (short long)&_cinit;                                                  C:\mcc18\src\traditional\startup\c018i.c
00002e   6ef6     MOVWF     0xf6,0x0                                                                                        
000030   0e00     MOVLW     0x0                                                                                             
000032   6ef7     MOVWF     0xf7,0x0                                                                                        
000034   0e00     MOVLW     0x0                                                                                             
000036   6ef8     MOVWF     0xf8,0x0                                                                                        
                                             _asm                                                                           C:\mcc18\src\traditional\startup\c018i.c
000038   0100     MOVLB     0x0                movlb data_ptr                                                               C:\mcc18\src\traditional\startup\c018i.c
00003a   0009     TBLRDPOSTINC                 tblrdpostinc                                                                 C:\mcc18\src\traditional\startup\c018i.c
00003c   50f5     MOVF      0xf5,0x0,0x0       movf TABLAT, 0, 0                                                            C:\mcc18\src\traditional\startup\c018i.c
00003e   6f65     MOVWF     0x65,0x1           movwf curr_entry, 1                                                          C:\mcc18\src\traditional\startup\c018i.c
000040   0009     TBLRDPOSTINC                 tblrdpostinc                                                                 C:\mcc18\src\traditional\startup\c018i.c
000042   50f5     MOVF      0xf5,0x0,0x0       movf TABLAT, 0, 0                                                            C:\mcc18\src\traditional\startup\c018i.c
000044   6f66     MOVWF     0x66,0x1           movwf curr_entry+1, 1                                                        C:\mcc18\src\traditional\startup\c018i.c
                                             _endasm                                                                        C:\mcc18\src\traditional\startup\c018i.c
                                               //while (curr_entry)                                                         C:\mcc18\src\traditional\startup\c018i.c
                                               //{                                                                          C:\mcc18\src\traditional\startup\c018i.c
                                               test:                                                                        C:\mcc18\src\traditional\startup\c018i.c
                                               _asm                                                                         C:\mcc18\src\traditional\startup\c018i.c
000046   e103     BNZ       0x4e                bnz 3                                                                       C:\mcc18\src\traditional\startup\c018i.c
000048   6765     TSTFSZ    0x65,0x1           tstfsz curr_entry, 1                                                         C:\mcc18\src\traditional\startup\c018i.c
00004a   d001     BRA       0x4e               bra 1                                                                        C:\mcc18\src\traditional\startup\c018i.c
                                               _endasm                                                                      C:\mcc18\src\traditional\startup\c018i.c
00004c   d03d     BRA       0xc8               goto done;                                                                   C:\mcc18\src\traditional\startup\c018i.c
                                                 /* Count down so we only have to look up the data in _cinit                C:\mcc18\src\traditional\startup\c018i.c
                                                  * once.                                                                   C:\mcc18\src\traditional\startup\c018i.c
                                                  *                                                                         C:\mcc18\src\traditional\startup\c018i.c
                                                  * At this point we know that TBLPTR points to the top of the current      C:\mcc18\src\traditional\startup\c018i.c
                                                  * entry in _cinit, so we can just start reading the from, to, and         C:\mcc18\src\traditional\startup\c018i.c
                                                  * size values.                                                            C:\mcc18\src\traditional\startup\c018i.c
                                                  */                                                                        C:\mcc18\src\traditional\startup\c018i.c
                                                 _asm                                                                       C:\mcc18\src\traditional\startup\c018i.c
                                           	/* read the source address */                                                   C:\mcc18\src\traditional\startup\c018i.c
00004e   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
000050   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
000052   6f60     MOVWF     0x60,0x1       	movwf prom, 1                                                                   C:\mcc18\src\traditional\startup\c018i.c
000054   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
000056   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
000058   6f61     MOVWF     0x61,0x1       	movwf prom+1, 1                                                                 C:\mcc18\src\traditional\startup\c018i.c
00005a   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
00005c   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
00005e   6f62     MOVWF     0x62,0x1       	movwf prom+2, 1                                                                 C:\mcc18\src\traditional\startup\c018i.c
                                           	/* skip a byte since it's stored as a 32bit int */                              C:\mcc18\src\traditional\startup\c018i.c
000060   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
                                           	/* read the destination address directly into FSR0 */                           C:\mcc18\src\traditional\startup\c018i.c
000062   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
000064   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
000066   6ee9     MOVWF     0xe9,0x0       	movwf FSR0L, 0                                                                  C:\mcc18\src\traditional\startup\c018i.c
000068   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
00006a   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
00006c   6eea     MOVWF     0xea,0x0       	movwf FSR0H, 0                                                                  C:\mcc18\src\traditional\startup\c018i.c
                                           	/* skip two bytes since it's stored as a 32bit int */                           C:\mcc18\src\traditional\startup\c018i.c
00006e   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
000070   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
                                           	/* read the destination address directly into FSR0 */                           C:\mcc18\src\traditional\startup\c018i.c
000072   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
000074   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
000076   6f63     MOVWF     0x63,0x1       	movwf curr_byte, 1                                                              C:\mcc18\src\traditional\startup\c018i.c
000078   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
00007a   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
00007c   6f64     MOVWF     0x64,0x1       	movwf curr_byte+1, 1                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           	/* skip two bytes since it's stored as a 32bit int */                           C:\mcc18\src\traditional\startup\c018i.c
00007e   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
000080   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
                                                 _endasm                                                                    C:\mcc18\src\traditional\startup\c018i.c
                                                 //prom = data_ptr->from;                                                   C:\mcc18\src\traditional\startup\c018i.c
                                                 //FSR0 = data_ptr->to;                                                     C:\mcc18\src\traditional\startup\c018i.c
                                                 //curr_byte = (unsigned short) data_ptr->size;                             C:\mcc18\src\traditional\startup\c018i.c
                                                 /* the table pointer now points to the next entry. Save it                 C:\mcc18\src\traditional\startup\c018i.c
                                                  * off since we'll be using the table pointer to do the copying            C:\mcc18\src\traditional\startup\c018i.c
                                                  * for the entry.                                                          C:\mcc18\src\traditional\startup\c018i.c
                                                  */                                                                        C:\mcc18\src\traditional\startup\c018i.c
000082   cff6     MOVFF     0xff6,0x67           data_ptr = TBLPTR;                                                         C:\mcc18\src\traditional\startup\c018i.c
000084   f067                                                                                                               
000086   cff7     MOVFF     0xff7,0x68                                                                                      
000088   f068                                                                                                               
00008a   cff8     MOVFF     0xff8,0x69                                                                                      
00008c   f069                                                                                                               
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                                 /* now assign the source address to the table pointer */                   C:\mcc18\src\traditional\startup\c018i.c
00008e   c060     MOVFF     0x60,0xff6           TBLPTR = prom;                                                             C:\mcc18\src\traditional\startup\c018i.c
000090   fff6                                                                                                               
000092   c061     MOVFF     0x61,0xff7                                                                                      
000094   fff7                                                                                                               
000096   c062     MOVFF     0x62,0xff8                                                                                      
000098   fff8                                                                                                               
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                                 /* do the copy loop */                                                     C:\mcc18\src\traditional\startup\c018i.c
                                                 _asm                                                                       C:\mcc18\src\traditional\startup\c018i.c
                                                   // determine if we have any more bytes to copy                           C:\mcc18\src\traditional\startup\c018i.c
00009a   0100     MOVLB     0x0            	movlb curr_byte                                                                 C:\mcc18\src\traditional\startup\c018i.c
00009c   5363     MOVF      0x63,0x1,0x1   	movf curr_byte, 1, 1                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           copy_loop:                                                                       C:\mcc18\src\traditional\startup\c018i.c
00009e   e102     BNZ       0xa4           	bnz 2 // copy_one_byte                                                          C:\mcc18\src\traditional\startup\c018i.c
0000a0   5364     MOVF      0x64,0x1,0x1   	movf curr_byte + 1, 1, 1                                                        C:\mcc18\src\traditional\startup\c018i.c
0000a2   e007     BZ        0xb2           	bz 7 // done_copying                                                            C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           copy_one_byte:                                                                   C:\mcc18\src\traditional\startup\c018i.c
0000a4   0009     TBLRDPOSTINC             	tblrdpostinc                                                                    C:\mcc18\src\traditional\startup\c018i.c
0000a6   50f5     MOVF      0xf5,0x0,0x0   	movf TABLAT, 0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
0000a8   6eee     MOVWF     0xee,0x0       	movwf POSTINC0, 0                                                               C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           	// decrement byte counter                                                       C:\mcc18\src\traditional\startup\c018i.c
0000aa   0763     DECF      0x63,0x1,0x1   	decf curr_byte, 1, 1                                                            C:\mcc18\src\traditional\startup\c018i.c
0000ac   e2f8     BC        0x9e           	bc -8 // copy_loop                                                              C:\mcc18\src\traditional\startup\c018i.c
0000ae   0764     DECF      0x64,0x1,0x1           decf curr_byte + 1, 1, 1                                                 C:\mcc18\src\traditional\startup\c018i.c
0000b0   d7f9     BRA       0xa4           	bra -7 // copy_one_byte                                                         C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           done_copying:                                                                    C:\mcc18\src\traditional\startup\c018i.c
                                                                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                                 _endasm                                                                    C:\mcc18\src\traditional\startup\c018i.c
                                                 /* restore the table pointer for the next entry */                         C:\mcc18\src\traditional\startup\c018i.c
0000b2   c067     MOVFF     0x67,0xff6           TBLPTR = data_ptr;                                                         C:\mcc18\src\traditional\startup\c018i.c
0000b4   fff6                                                                                                               
0000b6   c068     MOVFF     0x68,0xff7                                                                                      
0000b8   fff7                                                                                                               
0000ba   c069     MOVFF     0x69,0xff8                                                                                      
0000bc   fff8                                                                                                               
                                                 /* next entry... */                                                        C:\mcc18\src\traditional\startup\c018i.c
0000be   0100     MOVLB     0x0                  curr_entry--;                                                              C:\mcc18\src\traditional\startup\c018i.c
0000c0   0765     DECF      0x65,0x1,0x1                                                                                    
0000c2   0e00     MOVLW     0x0                                                                                             
0000c4   5b66     SUBWFB    0x66,0x1,0x1                                                                                    
0000c6   d7bf     BRA       0x46                 goto test;                                                                 C:\mcc18\src\traditional\startup\c018i.c
                                           done:                                                                            C:\mcc18\src\traditional\startup\c018i.c
                                           ;                                                                                C:\mcc18\src\traditional\startup\c018i.c
0000c8   0012     RETURN    0x0            }                                                                                C:\mcc18\src\traditional\startup\c018i.c
                                           /*                                                                               D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           ******************************************************************************************************************* D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           *												USART DEMO                                                          D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           * Description:  Example 2 for PIC18-LF4550-STK1 board to :                       D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           *				1. Blink LED D1 to D4 connected to PORTD<3:0> like example 1                D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           *				2. Wait for any single character from PC via pin RC7, if any character received. Baud rate = 4800 D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           *				3. Transmit an ASCII string of "Hello World[null]" via the USART port RC6.  D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           *				4. Echo the same character received                                         D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           * File:			..\src\chp2\src2_1\main.c                                              D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           * Software:		C18 version 2.40 under MPLAB 7.41 IDE                               D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           * Programmer: 	John Leung, TechToys Co. (www.TechToys.com.hk)                    D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           * Hardware:		PIC18-LF4550-STK1, with PIC18LF4550, 20.000 MHz crystal             D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           * Date:			14th Sept 2006                                                         D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           * Version:		1.0                                                                  D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           * Programmer:	John Leung                                                         D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           * Remarks:		Enable JP2 for LED and JP6&7 for hardware USART (RC6,7)              D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           *				ICD2 employed for linker script 18f4550i.lkr.                               D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           ******************************************************************************************************************* D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           */                                                                               D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                                                                                                            D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           #include <p18cxxx.h>                                                             D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           #include <delays.h>                                                              D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           #include <usart.h>                                                               D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                                                                                                            D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           /*                                                                               D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           ******************************************************************************************************************** D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           *												Pragma Section                                                      D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           *                                                                                D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           * Configuration bits under MPLAB v7.41 subject to changes on every little change on project settings. D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           * So #pragma config statments used for configuration bits instead of using Configuration bits tab in MPLAB D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           * Note: Refer to pdf document "mcc18\doc\MPLAB-C18-Addendum.pdf" under mcc18 installation directory for config D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           * 		variables available                                                          D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           ******************************************************************************************************************** D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           */                                                                               D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           #pragma config FOSC   = HS			// HS oscillator                                    D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           #pragma config CPUDIV = OSC4_PLL6	// OSC postscaler of 4 => CPU clock at 5MHz (20MHz/4) D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           #pragma config PWRT   = ON			// PowerUp timer ON                                 D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           #pragma config WDT    = OFF			// watchdog timer off                              D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           #pragma config LVP    = OFF			// low level voltage OFF                           D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           #pragma config BOR    = OFF			// brown out detect OFF                            D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           #pragma config DEBUG  = ON			// Debug ON                                         D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           #pragma config VREGEN = OFF			// Off 3.3V internal regulator                     D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           #pragma config PBADEN = OFF 		// PORTB<4:0> as digital IO on reset               D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                                                                                                            D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           /*                                                                               D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           ******************************************************************************************************************** D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           *													MAIN                                                               D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           ******************************************************************************************************************** D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           */                                                                               D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           unsigned char counter, charRd;                                                   D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                                                                                                            D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           void main(void)                                                                  D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           {                                                                                D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
0000ca   0e0f     MOVLW     0xf            	ADCON1 = 0x0F;								//PORTA all digital operation                             D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
0000cc   6ec1     MOVWF     0xc1,0x0                                                                                        
0000ce   6a8c     CLRF      0x8c,0x0       	LATD = 0x00;								//use LED1 - LED4 as a simple counter                       D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
0000d0   6a95     CLRF      0x95,0x0       	TRISD = 0x00; 								//configure PORTD for output                              D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                                                                                                            D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           	OpenUSART(	USART_TX_INT_OFF &                                                   D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           				USART_RX_INT_OFF &                                                           D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           				USART_ASYNCH_MODE &                                                          D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           				USART_EIGHT_BIT &                                                            D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           				USART_CONT_RX &	                                                             D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
0000d2   0e40     MOVLW     0x40           				USART_BRGH_HIGH, 64);			//Fosc = 5 MHz, SPBRG = 64 => baud rate=5MHz/(16*(64+1))=4,808 bps D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
0000d4   6ee6     MOVWF     0xe6,0x0                                                                                        
0000d6   6ae6     CLRF      0xe6,0x0                                                                                        
0000d8   0e3c     MOVLW     0x3c                                                                                            
0000da   6ee6     MOVWF     0xe6,0x0                                                                                        
0000dc   ecb1     CALL      0x162,0x0                                                                                       
0000de   f000                                                                                                               
0000e0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0000e2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0000e4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                           												//% error = (4808-4800)/4800 = 0.16%                                 D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
0000e6   0e7e     MOVLW     0x7e           	putrsUSART("Communication at 4800 bps:\n");	                                    D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
0000e8   6e00     MOVWF     0x0,0x0                                                                                         
0000ea   0e02     MOVLW     0x2                                                                                             
0000ec   6e01     MOVWF     0x1,0x0                                                                                         
0000ee   6a02     CLRF      0x2,0x0                                                                                         
0000f0   c000     MOVFF     0x0,0xfe6                                                                                       
0000f2   ffe6                                                                                                               
0000f4   c001     MOVFF     0x1,0xfe6                                                                                       
0000f6   ffe6                                                                                                               
0000f8   c002     MOVFF     0x2,0xfe6                                                                                       
0000fa   ffe6                                                                                                               
0000fc   ece5     CALL      0x1ca,0x0                                                                                       
0000fe   f000                                                                                                               
000100   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000102   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000104   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                           										                                                                       D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
00015e   d7d3     BRA       0x106          	while(1)                                                                        D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           	{                                                                               D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                                                                                                            D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
000106   0100     MOVLB     0x0            			for(counter = 0 ; counter <16; counter++){                                    D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
000108   6b6a     CLRF      0x6a,0x1                                                                                        
00010a   0e10     MOVLW     0x10                                                                                            
00010c   5d6a     SUBWF     0x6a,0x0,0x1                                                                                    
00010e   e227     BC        0x15e                                                                                           
000158   0100     MOVLB     0x0                                                                                             
00015a   2b6a     INCF      0x6a,0x1,0x1                                                                                    
00015c   d7d6     BRA       0x10a                                                                                           
000110   c06a     MOVFF     0x6a,0xf8c     			LATD = counter;                                                               D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
000112   ff8c                                                                                                               
000114   0ec8     MOVLW     0xc8           			Delay100TCYx(200);					//software delay 100*200 machine cycle=>20,000*(0.8us)=16ms D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
000116   6ee6     MOVWF     0xe6,0x0                                                                                        
000118   ec64     CALL      0x2c8,0x0                                                                                       
00011a   f001                                                                                                               
00011c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                           												//dependency: delays.h under ..\mcc18\h                              D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
00011e   aa9e     BTFSS     0x9e,0x5,0x0   			if(DataRdyUSART()){					//monitors for any character received                 D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
000120   d01b     BRA       0x158                                                                                           
000122   ec17     CALL      0x22e,0x0      				charRd=ReadUSART();                                                          D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
000124   f001                                                                                                               
000126   0100     MOVLB     0x0                                                                                             
000128   6f6b     MOVWF     0x6b,0x1                                                                                        
00012a   a2ac     BTFSS     0xac,0x1,0x0   				while(BusyUSART());                                                          D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
00012c   d7fe     BRA       0x12a                                                                                           
00012e   0e6c     MOVLW     0x6c           				putrsUSART("Hello World Echo:");//Echo the character received with "Hello World Echo" string D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
000130   6e00     MOVWF     0x0,0x0                                                                                         
000132   0e02     MOVLW     0x2                                                                                             
000134   6e01     MOVWF     0x1,0x0                                                                                         
000136   6a02     CLRF      0x2,0x0                                                                                         
000138   c000     MOVFF     0x0,0xfe6                                                                                       
00013a   ffe6                                                                                                               
00013c   c001     MOVFF     0x1,0xfe6                                                                                       
00013e   ffe6                                                                                                               
000140   c002     MOVFF     0x2,0xfe6                                                                                       
000142   ffe6                                                                                                               
000144   ece5     CALL      0x1ca,0x0                                                                                       
000146   f000                                                                                                               
000148   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00014a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00014c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00014e   c06b     MOVFF     0x6b,0xfe6     				WriteUSART(charRd);                                                          D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
000150   ffe6                                                                                                               
000152   ec4d     CALL      0x29a,0x0                                                                                       
000154   f001                                                                                                               
000156   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                           				}//if statement                                                              D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           			}//for loop                                                                   D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           					                                                                            D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                           	}//while(1)                                                                     D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
000160   0012     RETURN    0x0            }                                                                                D:\PIC18_LF4550_STK1\src\chp2\src2_1\main.c
                                                   LIST P=18F4550                                                           C:\MCC18\SRC\TRADIT~1\PROC\p18f4550.asm
                                                   LIST                                                                     C:\MCC18\SRC\TRADIT~1\PROC\p18f4550.asm
                                                   END                                                                      C:\MCC18\SRC\TRADIT~1\PROC\p18f4550.asm
                                           #include "p18cxxx.inc"                                                           C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                                   LIST                                                                     C:\MCC18\MPASM\p18cxxx.inc
                                           ; P18CXXX.INC  Standard Header File, Version 1.00   Microchip Technology, Inc.   C:\MCC18\MPASM\p18cxxx.inc
                                                   LIST                                                                     C:\MCC18\MPASM\P18C452.INC
                                           ; P18C452.INC  Standard Header File, Version 0.12   Microchip Technology, Inc.   C:\MCC18\MPASM\P18C452.INC
                                                   LIST                                                                     C:\MCC18\MPASM\P18C452.INC
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18C242                                                                 C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18C242.INC>                                                       C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F242                                                                 C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F242.INC>                                                       C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F248                                                                 C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F248.INC>                                                       C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18C252                                                                 C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18C252.INC>                                                       C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F252                                                                 C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F252.INC>                                                       C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F258                                                                 C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F258.INC>                                                       C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18C442                                                                 C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18C442.INC>                                                       C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F442                                                                 C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F442.INC>                                                       C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F448                                                                 C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F448.INC>                                                       C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18C452                                                                 C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18C452.INC>                                                       C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F452                                                                 C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F452.INC>                                                       C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F458                                                                 C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F458.INC>                                                       C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18C601                                                                 C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18C601.INC>                                                       C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18C658                                                                 C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18C658.INC>                                                       C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18C801                                                                 C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18C801.INC>                                                       C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18C858                                                                 C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18C858.INC>                                                       C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F1220                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F1220.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F1320                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F1320.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2220                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2220.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2320                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2320.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4220                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4220.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4320                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4320.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F6520                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F6520.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F6620                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F6620.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F6720                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F6720.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F8520                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F8520.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F8620                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F8620.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F8720                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F8720.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2439                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2439.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2539                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2539.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4439                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4439.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4539                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4539.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F8680                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F8680.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F6680                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F6680.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F8585                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F8585.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F6585                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F6585.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F6621                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F6621.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F8621                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F8621.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F6525                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F6525.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F8525                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F8525.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2331                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2331.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2431                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2431.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4331                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4331.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4431                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4431.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2515                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2515.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2525                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2525.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2610                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2610.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2620                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2620.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4515                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4515.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4525                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4525.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4610                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4610.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4620                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4620.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F6410                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F6410.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F6490                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F6490.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F8410                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F8410.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F8490                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F8490.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2585                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2585.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2680                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2680.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2681                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2681.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4585                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4585.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4680                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4680.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4681                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4681.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2510                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2510.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2520                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2520.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4510                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4510.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4520                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4520.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2455                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2455.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2550                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2550.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4455                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4455.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4550                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4550.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2410                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2410.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2420                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2420.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4410                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4410.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4420                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4420.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2480                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2480.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F2580                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F2580.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4480                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4480.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F4580                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F4580.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F6310                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F6310.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F6390                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F6390.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F8310                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F8310.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F8390                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F8390.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F6627                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F6627.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F6722                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F6722.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F8627                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F8627.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F8722                                                                C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F8722.INC>                                                      C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F64J15                                                               C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F64J15.INC>                                                     C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F65J10                                                               C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F65J10.INC>                                                     C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F65J15                                                               C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F65J15.INC>                                                     C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F66J10                                                               C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F66J10.INC>                                                     C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F66J15                                                               C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F66J15.INC>                                                     C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F67J10                                                               C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F67J10.INC>                                                     C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F84J15                                                               C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F84J15.INC>                                                     C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F85J10                                                               C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F85J10.INC>                                                     C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F85J15                                                               C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F85J15.INC>                                                     C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F86J10                                                               C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F86J10.INC>                                                     C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F86J15                                                               C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F86J15.INC>                                                     C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                             IFDEF __18F87J10                                                               C:\MCC18\MPASM\p18cxxx.inc
                                                INCLUDE <P18F87J10.INC>                                                     C:\MCC18\MPASM\p18cxxx.inc
                                             ENDIF                                                                          C:\MCC18\MPASM\p18cxxx.inc
                                                                                                                            C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                           ;/**********************************************************************         C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                           ;*      Function Name:  Delay100TCYx                                   *         C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                           ;*      Return Value:   void                                           *         C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                           ;*      Parameters:     unit:                                          *         C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                           ;*      Description:    This routine delays for multiples of 100       *         C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                           ;*                      instruction cycles that is specified in unit.  *         C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                           ;*      Special Note:   This routine provides multiples of 100 Tcy.    *         C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                           ;*                      A value of 1 to 255 provides 100 to 25500 Tcy  *         C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                           ;*                      delay.  A value of 0 will provide a delay of   *         C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                           ;*                      25600 Tcy.                                     *         C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                           ;**********************************************************************/         C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                                   EXTERN  DelayCounter1                                                    C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                                                                                                            C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                           D100TCYXCODE    CODE                                                             C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                                                                                                            C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                           Delay100TCYx                                                                     C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
0002c8   0eff     MOVLW     0xff                   movlw   0xff                                                             C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
0002ca   50e3     MOVF      0xe3,0x0,0x0           movf    PLUSW1,0                                                         C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
0002cc   6e05     MOVWF     0x5,0x0                movwf   DelayCounter1                                                    C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
0002ce   0e1b     MOVLW     0x1b                   movlw   0x1b                                                             C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
0002d0   d000     BRA       0x2d2          	bra     $+2                                                                     C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
0002d2   d001     BRA       0x2d6                  bra     D100_1                                                           C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                                                                                                            C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                           D100x                                                                            C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
0002d4   0e20     MOVLW     0x20                   movlw   0x20                                                             C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                           D100_1                                                                           C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
0002d6   6ee7     MOVWF     0xe7,0x0               movwf   INDF1                                                            C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
0002d8   2ee7     DECFSZ    0xe7,0x1,0x0           decfsz  INDF1,1                                                          C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
0002da   d7fe     BRA       0x2d8                  bra     $-2                                                              C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
0002dc   2e05     DECFSZ    0x5,0x1,0x0            decfsz  DelayCounter1,1                                                  C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
0002de   d7fa     BRA       0x2d4                  bra     D100x                                                            C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
0002e0   d000     BRA       0x2e2                  bra     $+2                                                              C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
0002e2   0012     RETURN    0x0                    return                                                                   C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                                                                                                            C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                                   GLOBAL  Delay100TCYx                                                     C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                                                                                                            C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                                   END                                                                      C:\MCC18\SRC\TRADIT~1\DELAYS\d100tcyx.asm
                                           DELAYDAT1      UDATA_ACS                                                         C:\MCC18\SRC\TRADIT~1\DELAYS\delayd1.asm
                                                                                                                            C:\MCC18\SRC\TRADIT~1\DELAYS\delayd1.asm
                                           DelayCounter1  RES 1                                                             C:\MCC18\SRC\TRADIT~1\DELAYS\delayd1.asm
                                                                                                                            C:\MCC18\SRC\TRADIT~1\DELAYS\delayd1.asm
                                                          GLOBAL DelayCounter1                                              C:\MCC18\SRC\TRADIT~1\DELAYS\delayd1.asm
                                           	                                                                                C:\MCC18\SRC\TRADIT~1\DELAYS\delayd1.asm
                                           	       END                                                                      C:\MCC18\SRC\TRADIT~1\DELAYS\delayd1.asm
                                           ;	RCS Header $Id: cmath18.asm,v 1.4 2004/10/01 19:13:22 GrosbaJ Exp $            C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
                                                                                                                            C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
                                           ;       CMATH18 DATA DEFINITION FILE                                             C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
                                                                                                                            C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
                                           ;******************************************************************************* C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
                                           ;   VARIABLE ALLOCATION - Core math library routines                             C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
                                           ;******************************************************************************* C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
                                                                                                                            C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
                                           MATH_DATA      UDATA_ACS                                                         C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
                                                                                                                            C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
                                           SIGN		RES 1       ; save location for sign in MSB                                C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
                                           FPFLAGSbits                                                                      C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
                                           FPFLAGS		RES 1       ; floating point library exception flags                    C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
                                                                                                                            C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
                                                   GLOBAL  SIGN, FPFLAGS, FPFLAGSbits                                       C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
                                           	                                                                                C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
                                                   END                                                                      C:\MCC18\SRC\TRADIT~1\MATH\cmath18.asm
                                           /* $Id: uopen.c,v 1.4 2004/09/03 23:48:51 curtiss Exp $ */                       C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           #include <p18cxxx.h>                                                             C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           #include <usart.h>                                                               C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           // USART Status Structure                                                        C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           extern union USART USART_Status;                                                 C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           /********************************************************************            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           *    Function Name:  OpenUSART                                      *            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           *    Return Value:   void                                           *            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           *    Parameters:     config: bit definitions to configure USART     *            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           *                    spbrg: baudrate value for register SPBRG1      *            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           *                    or for SPBRGH:SPBRG for 16-bit baud rate       *            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           *                    generation for applicable parts                *            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           *    Description:    This routine first resets the USART regs       *            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           *                    to the POR state. It then configures the       *            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           *                    USART for interrupts, synch/async, 8/9-bit,    *            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           *                    sync slave/master and single/cont. rx.         *            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           *    Notes:          The bit definitions for config can be found    *            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           *                    in the usart.h file.                           *            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           ********************************************************************/            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
000162   cfd9     MOVFF     0xfd9,0xfe6    void OpenUSART( unsigned char config, unsigned spbrg)                            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
000164   ffe6                                                                                                               
000166   cfda     MOVFF     0xfda,0xfe6                                                                                     
000168   ffe6                                                                                                               
00016a   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00016c   ffd9                                                                                                               
00016e   cfe2     MOVFF     0xfe2,0xfda                                                                                     
000170   ffda                                                                                                               
                                           {                                                                                C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
000172   6aac     CLRF      0xac,0x0         TXSTA = 0;           // Reset USART registers to POR state                     C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
000174   6aab     CLRF      0xab,0x0         RCSTA = 0;                                                                     C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
000176   0efd     MOVLW     0xfd             if(config&0x01)      // Sync or async operation                                C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
000178   b0db     BTFSC     0xdb,0x0,0x0                                                                                    
00017a   88ac     BSF       0xac,0x4,0x0       TXSTAbits.SYNC = 1;                                                          C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
00017c   a2db     BTFSS     0xdb,0x1,0x0     if(config&0x02)      // 8- or 9-bit mode                                       C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
00017e   d002     BRA       0x184                                                                                           
                                             {                                                                              C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
000180   8cac     BSF       0xac,0x6,0x0       TXSTAbits.TX9 = 1;                                                           C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
000182   8cab     BSF       0xab,0x6,0x0       RCSTAbits.RX9 = 1;                                                           C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                             }                                                                              C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
000184   b4db     BTFSC     0xdb,0x2,0x0     if(config&0x04)      // Master or Slave (sync only)                            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
000186   8eac     BSF       0xac,0x7,0x0       TXSTAbits.CSRC = 1;                                                          C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
000188   a6db     BTFSS     0xdb,0x3,0x0     if(config&0x08)      // Continuous or single reception                         C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
00018a   d002     BRA       0x190                                                                                           
00018c   88ab     BSF       0xab,0x4,0x0       RCSTAbits.CREN = 1;                                                          C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
00018e   d001     BRA       0x192            else                                                                           C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
000190   8aab     BSF       0xab,0x5,0x0       RCSTAbits.SREN = 1;                                                          C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
000192   a8db     BTFSS     0xdb,0x4,0x0     if(config&0x10)      // Baud rate select (asychronous mode only)               C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
000194   d002     BRA       0x19a                                                                                           
000196   84ac     BSF       0xac,0x2,0x0       TXSTAbits.BRGH = 1;                                                          C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
000198   d001     BRA       0x19c            else                                                                           C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
00019a   94ac     BCF       0xac,0x2,0x0       TXSTAbits.BRGH = 0;                                                          C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
00019c   989e     BCF       0x9e,0x4,0x0     PIR1bits.TXIF = 0;                                                             C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
00019e   acdb     BTFSS     0xdb,0x6,0x0     if(config&0x40)      // Interrupt on receipt                                   C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
0001a0   d002     BRA       0x1a6                                                                                           
0001a2   8a9d     BSF       0x9d,0x5,0x0       PIE1bits.RCIE = 1;                                                           C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
0001a4   d001     BRA       0x1a8            else                                                                           C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
0001a6   9a9d     BCF       0x9d,0x5,0x0       PIE1bits.RCIE = 0;                                                           C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
0001a8   9a9e     BCF       0x9e,0x5,0x0     PIR1bits.RCIF = 0;                                                             C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
0001aa   aedb     BTFSS     0xdb,0x7,0x0     if(config&0x80)      // Interrupt on transmission                              C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
0001ac   d002     BRA       0x1b2                                                                                           
0001ae   889d     BSF       0x9d,0x4,0x0       PIE1bits.TXIE = 1;                                                           C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
0001b0   d001     BRA       0x1b4            else                                                                           C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
0001b2   989d     BCF       0x9d,0x4,0x0       PIE1bits.TXIE = 0;                                                           C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
0001b4   0efb     MOVLW     0xfb             SPBRG = spbrg;       // Write baudrate to SPBRG1                               C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
0001b6   50db     MOVF      0xdb,0x0,0x0                                                                                    
0001b8   6eaf     MOVWF     0xaf,0x0                                                                                        
                                           #if defined(__18F1220) || defined(__18F1320) || \                                C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                               defined(__18F2480) || defined(__18F2580) || \                                C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                               defined(__18F4480) || defined(__18F4580) || \                                C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                               defined(__18F2585) || defined(__18F2680) || \                                C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                               defined(__18F4585) || defined(__18F4680) || \                                C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                               defined(__18F2515) || defined(__18F2525) || \                                C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                               defined(__18F2610) || defined(__18F2620) || \                                C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                               defined(__18F4515) || defined(__18F4525) || \                                C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                               defined(__18F4610) || defined(__18F4620)                                     C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                             SPBRGH = spbrg >> 8; // For 16-bit baud rate generation                        C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
                                           #endif                                                                           C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
0001ba   8aac     BSF       0xac,0x5,0x0     TXSTAbits.TXEN = 1;  // Enable transmitter                                     C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
0001bc   8eab     BSF       0xab,0x7,0x0     RCSTAbits.SPEN = 1;  // Enable receiver                                        C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
0001be   52e5     MOVF      0xe5,0x1,0x0   }                                                                                C:\mcc18\src\TRADIT~1\pmc\USART\uopen.c
0001c0   cfe5     MOVFF     0xfe5,0xfda                                                                                     
0001c2   ffda                                                                                                               
0001c4   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0001c6   ffd9                                                                                                               
0001c8   0012     RETURN    0x0                                                                                             
                                           /* $Id: uread.c,v 1.1 2003/12/09 22:52:09 GrosbaJ Exp $ */                       C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                           #include <p18cxxx.h>                                                             C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                           #include <usart.h>                                                               C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                           extern union USART USART_Status;                                                 C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                           /********************************************************************            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                           *    Function Name:  ReadUSART                                      *            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                           *    Return Value:   char: received data                            *            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                           *    Parameters:     void                                           *            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                           *    Description:    This routine reads the data from the USART     *            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                           *                    and records the status flags for that byte     *            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                           *                    in USART_Status (Framing and Overrun).         *            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                           ********************************************************************/            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
00022e   cfd9     MOVFF     0xfd9,0xfe6    char ReadUSART(void)                                                             C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
000230   ffe6                                                                                                               
000232   cfda     MOVFF     0xfda,0xfe6                                                                                     
000234   ffe6                                                                                                               
000236   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000238   ffd9                                                                                                               
00023a   cfe2     MOVFF     0xfe2,0xfda                                                                                     
00023c   ffda                                                                                                               
00023e   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                             char data;   // Holds received data                                            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
000240   0ef0     MOVLW     0xf0             USART_Status.val &= 0xf0;          // Clear previous status flags              C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
000242   0100     MOVLB     0x0                                                                                             
000244   176c     ANDWF     0x6c,0x1,0x1                                                                                    
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
000246   acab     BTFSS     0xab,0x6,0x0     if(RCSTAbits.RX9)                  // If 9-bit mode                            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
000248   d003     BRA       0x250                                                                                           
                                             {                                                                              C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
00024a   916c     BCF       0x6c,0x0,0x1       USART_Status.RX_NINE = 0;        // Clear the receive bit 9 for USART        C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
00024c   b0ab     BTFSC     0xab,0x0,0x0       if(RCSTAbits.RX9D)               // according to the RX9D bit                C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
00024e   816c     BSF       0x6c,0x0,0x1         USART_Status.RX_NINE = 1;                                                  C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                             }                                                                              C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
000250   b4ab     BTFSC     0xab,0x2,0x0     if(RCSTAbits.FERR)                 // If a framing error occured               C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
000252   856c     BSF       0x6c,0x2,0x1       USART_Status.FRAME_ERROR = 1;    // Set the status bit                       C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
000254   b2ab     BTFSC     0xab,0x1,0x0     if(RCSTAbits.OERR)                 // If an overrun error occured              C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
000256   876c     BSF       0x6c,0x3,0x1       USART_Status.OVERRUN_ERROR = 1;  // Set the status bit                       C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
000258   50ae     MOVF      0xae,0x0,0x0     data = RCREG;                      // Read data                                C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
00025a   6edf     MOVWF     0xdf,0x0                                                                                        
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
00025c   50df     MOVF      0xdf,0x0,0x0     return (data);                     // Return the received data                 C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
00025e   52e5     MOVF      0xe5,0x1,0x0   }                                                                                C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
000260   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000262   cfe5     MOVFF     0xfe5,0xfda                                                                                     
000264   ffda                                                                                                               
000266   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000268   ffd9                                                                                                               
00026a   0012     RETURN    0x0                                                                                             
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uread.c
                                           /* $Id: usartd.c,v 1.1 2003/12/09 22:52:09 GrosbaJ Exp $ */                      C:\mcc18\src\TRADIT~1\pmc\USART\usartd.c
                                           #include <p18cxxx.h>                                                             C:\mcc18\src\TRADIT~1\pmc\USART\usartd.c
                                           #include <usart.h>                                                               C:\mcc18\src\TRADIT~1\pmc\USART\usartd.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\usartd.c
                                           // USART Status Structure                                                        C:\mcc18\src\TRADIT~1\pmc\USART\usartd.c
                                           union USART USART_Status;                                                        C:\mcc18\src\TRADIT~1\pmc\USART\usartd.c
                                           /* $Id: uwrite.c,v 1.1 2003/12/09 22:52:09 GrosbaJ Exp $ */                      C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
                                           #include <p18cxxx.h>                                                             C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
                                           #include <usart.h>                                                               C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
                                           extern union USART USART_Status;                                                 C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
                                           /********************************************************************            C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
                                           *    Function Name:  WriteUSART                                     *            C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
                                           *    Return Value:   none                                           *            C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
                                           *    Parameters:     data: data to transmit                         *            C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
                                           *    Description:    This routine transmits a byte out the USART.   *            C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
                                           ********************************************************************/            C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
00029a   cfd9     MOVFF     0xfd9,0xfe6    void WriteUSART(char data)                                                       C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
00029c   ffe6                                                                                                               
00029e   cfda     MOVFF     0xfda,0xfe6                                                                                     
0002a0   ffe6                                                                                                               
0002a2   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0002a4   ffd9                                                                                                               
0002a6   cfe2     MOVFF     0xfe2,0xfda                                                                                     
0002a8   ffda                                                                                                               
                                           {                                                                                C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
0002aa   acac     BTFSS     0xac,0x6,0x0     if(TXSTAbits.TX9)  // 9-bit mode?                                              C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
0002ac   d004     BRA       0x2b6                                                                                           
                                             {                                                                              C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
0002ae   90ac     BCF       0xac,0x0,0x0       TXSTAbits.TX9D = 0;       // Set the TX9D bit according to the               C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
0002b0   0100     MOVLB     0x0                if(USART_Status.TX_NINE)  // USART Tx 9th bit in status reg                  C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
0002b2   b36c     BTFSC     0x6c,0x1,0x1                                                                                    
0002b4   80ac     BSF       0xac,0x0,0x0         TXSTAbits.TX9D = 1;                                                        C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
                                             }                                                                              C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
0002b6   0efd     MOVLW     0xfd             TXREG = data;      // Write the data byte to the USART                         C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
0002b8   50db     MOVF      0xdb,0x0,0x0                                                                                    
0002ba   6ead     MOVWF     0xad,0x0                                                                                        
0002bc   52e5     MOVF      0xe5,0x1,0x0   }                                                                                C:\mcc18\src\TRADIT~1\pmc\USART\uwrite.c
0002be   cfe5     MOVFF     0xfe5,0xfda                                                                                     
0002c0   ffda                                                                                                               
0002c2   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0002c4   ffd9                                                                                                               
0002c6   0012     RETURN    0x0                                                                                             
                                           /* $Id: uputrs.c,v 1.1 2003/12/09 22:52:09 GrosbaJ Exp $ */                      C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
                                           #include <p18cxxx.h>                                                             C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
                                           #include <usart.h>                                                               C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
                                                                                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
                                           /**********************************************************************          C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
                                           *    Function Name:  putrsUSART                                       *          C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
                                           *    Return Value:   void                                             *          C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
                                           *    Parameters:     data: pointer to string of data                  *          C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
                                           *    Description:    This routine transmits a string of characters    *          C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
                                           *                    in ROM to the USART including the null.          *          C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
                                           **********************************************************************/          C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
0001ca   cfd9     MOVFF     0xfd9,0xfe6    void putrsUSART(const rom char *data)                                            C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
0001cc   ffe6                                                                                                               
0001ce   cfda     MOVFF     0xfda,0xfe6                                                                                     
0001d0   ffe6                                                                                                               
0001d2   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
0001d4   ffd9                                                                                                               
0001d6   cfe2     MOVFF     0xfe2,0xfda                                                                                     
0001d8   ffda                                                                                                               
                                           {                                                                                C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
                                             do                                                                             C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
                                             {  // Transmit a byte                                                          C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
0001da   a2ac     BTFSS     0xac,0x1,0x0       while(BusyUSART());                                                          C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
0001dc   d7fe     BRA       0x1da                                                                                           
0001de   0efb     MOVLW     0xfb               putcUSART(*data);                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
0001e0   cfdb     MOVFF     0xfdb,0xff6                                                                                     
0001e2   fff6                                                                                                               
0001e4   0efc     MOVLW     0xfc                                                                                            
0001e6   cfdb     MOVFF     0xfdb,0xff7                                                                                     
0001e8   fff7                                                                                                               
0001ea   0efd     MOVLW     0xfd                                                                                            
0001ec   cfdb     MOVFF     0xfdb,0xff8                                                                                     
0001ee   fff8                                                                                                               
0001f0   0008     TBLRD                                                                                                     
0001f2   50f5     MOVF      0xf5,0x0,0x0                                                                                    
0001f4   6ee6     MOVWF     0xe6,0x0                                                                                        
0001f6   ec4d     CALL      0x29a,0x0                                                                                       
0001f8   f001                                                                                                               
0001fa   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0001fc   50d9     MOVF      0xd9,0x0,0x0     } while( *data++ );                                                            C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
0001fe   0ffb     ADDLW     0xfb                                                                                            
000200   6ee9     MOVWF     0xe9,0x0                                                                                        
000202   0eff     MOVLW     0xff                                                                                            
000204   20da     ADDWFC    0xda,0x0,0x0                                                                                    
000206   6eea     MOVWF     0xea,0x0                                                                                        
000208   cfef     MOVFF     0xfef,0xff6                                                                                     
00020a   fff6                                                                                                               
00020c   2aee     INCF      0xee,0x1,0x0                                                                                    
00020e   cfef     MOVFF     0xfef,0xff7                                                                                     
000210   fff7                                                                                                               
000212   0e00     MOVLW     0x0                                                                                             
000214   22ee     ADDWFC    0xee,0x1,0x0                                                                                    
000216   cfef     MOVFF     0xfef,0xff8                                                                                     
000218   fff8                                                                                                               
00021a   22ee     ADDWFC    0xee,0x1,0x0                                                                                    
00021c   0008     TBLRD                                                                                                     
00021e   50f5     MOVF      0xf5,0x0,0x0                                                                                    
000220   e1dc     BNZ       0x1da                                                                                           
000222   52e5     MOVF      0xe5,0x1,0x0   }                                                                                C:\mcc18\src\TRADIT~1\pmc\USART\uputrs.c
000224   cfe5     MOVFF     0xfe5,0xfda                                                                                     
000226   ffda                                                                                                               
000228   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
00022a   ffd9                                                                                                               
00022c   0012     RETURN    0x0                                                                                             
