I guess that is true. I don't know what the PC in a PIC does when it executes an instruction. Although in a lot of MCU's and MPU's the PC is incremented immediately after an instruction is loaded, and before it is executed, maybe the PC is not incremented in a PIC until just before the next instruction is loaded. In any case, I know that in PIC assembler, $ means the _current_ line. CIAO - Martin R. Green elimar@bigfoot.com ---------- From: Jim Main[SMTP:jim@EWCOMM.DEMON.CO.UK] Sent: Wednesday, September 10, 1997 2:44 PM To: PICLIST@mitvma.mit.edu Subject: Re: "$" (was: "Re: PIC assembly style guide") In article <01BCBDF1.BDF131C0@ifs-greenm.sybase.com>, "Martin R. Green" writes >Because: > > goto $ ; this is a continuous loop, hence > goto $-1 ; jumps to btfss port,anotherbit > goto $-2 ; jumps to goto action > goto $-3 ; jumps to btfsc port,bit > >So there! ;-) >>> > btfsc port,bit >>> > goto action >>> > btfss port,anotherbit >>> > goto $-3 >>> >>> shouldn't that read $-4 if you want it to jump to btfsc port,bit ? >> >> No. >> so in other words, the $ symbol really means 'the current line' not the program counter ('cause the program counter is pointing to the next instruction) Jim -- Jim Main