Hi All >What I'm unsure of is: >- in the old code I had; goto $ + 5 >- in the new code do I have to use; bra $ + 5 >but I still get: "Warning 226: Destination address must be word aligned" To answer my own question courtesy of Roy in a previous post; ______________ " Found this at a microchip forum - It sounds like you have a 'goto $-1' or similar instruction somewhere in the module. While that's legal in the 16-series devices, it's not for the 18-series. In the 18-series devices, all PC-relative branches have to be made to a location that's an even number of bytes from the current PC value. Rewriting the GOTO instruction fixed the linker error. Posted this for any other PIC list members who may be converting PIC16 code to PIC18 _______________________________________ Roy Tauranga New Zealand ____________________________________ " _____________ so, looking at the code snippet; btfss stata,3 bra $ + 5 <<<<<<<<<<<<< error line bsf Port_A,HAZ incf haz1,1 btfsc haz1,0 bra $ + 2 bcf Port_A,HAZ movf Port_A,0 movwf PORTA ;update the relays is the solution to write? ; btfss stata,3 bra $ + 6 <<<< now an even step nop <<<< add a nop to align ? bsf Port_A,HAZ incf haz1,1 btfsc haz1,0 bra $ + 2 bcf Port_A,HAZ movf Port_A,0 movwf PORTA ;update the relays OK, it works, but is this the correct modus operandi? Regards Roland Jollivet -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist