I am a newbie. I have spent much time reading web resourecs / FAQ's / "Programming and Customizing the PIC.." etc. before bothering the list. I am trying to use the interrupt driven serial i/o routines provided in Myke Predko's book "Programming and Customizing the PIC Microcontroller" The file provided is "serial.inc" For my first test, I wanted to include this file in an existing program, assemble and run. The idea was to change only one thing at a time. 1. _VarEnd variable used in "serial.inc" caused problems for the assembler. I haven't found any documentation regarding this var, so I had to make assumptions. I am assuming that I am supposed to declare this variable and set it to the first usable address space in the register file. 2. The code toward the end of "serial.inc" movlw Bit ; Delay for the Bit movwf Count decfsz Count goto $ - 1 caused problems: "Count" not defined. So, I changed it BitCount out of desperation. 3. Once I got that to assemble properly, I had errors with address conflicts for the program memory(I think) It appears that the code declared in the "serial.inc" file had been assigned to program memory locations starting at 0000, and later in my main program: org 0 bsf STATUS, RP0 bcf TRISA & 0x07F, 1 which causes some sort of conflict with the addressing. So, I changed: org 0 org 0x001D (I think that's what it was) and this conflict went away. 4. Now when I assemble, I get no errors, but I can't seem to get my program to execute as before. (ie without the serial I/O stuff) Overall I feel like I am in the dark. I feel like I don't have an idea of what the assembler does, what it considers legal syntax (for example, what is the meaning of "PAGE" at the beginning of the program?) and I'm not even sure I have a good / compelete guide to the valid PIC instruciton set. MY GOAL: Write a simple program / circuit that listens to incoming serial data from PC via IR, and echo's back the same data to the PC via IR. I have been able to make the IR part work for receiving codes from Sony remote control. Any help on using MPASM, PIC instruction set, or rs-232 style serial I/O would be appreciated. Also, any suggestions to linux bases devel tools would be GREATLY APPRECIATED. I am sick of windows. Thanks. -Steve -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.