You are asuming correct. $ means the current value in program counter (PC) and goto $+1 means add 1 to PC, which in this case will only move it to the next step. goto $+2 will jump over next step, and goto $-1 will go back one step. Be careful how you use this. If you have say goto $+12 and you add an extra line with in the 12 steps you are jumping, then you have to change it to goto $+13. When you have a few of these, it gets confusing. Also when you use macros in your code, it gets waaayy confusing. Rather stick to labels. As a rule of thumb, I only use this notation with in 2 steps, ex: btfss porta, 0 ; is porta,0 released (keyup)? goto $-1 ; wait for keyup ;carry on with code Quentin qsc@iptech.co.za www.iptech.co.za -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu