Small and short explanation here...
There's a slight difference between Literal and Registers
MOVLW Move the literal in W.
Literal is a constant, when you're using a variable in there.. it return the constant associated to your variable... it's address
MOVLW .10 will copy 10 (decimal) in W
<hr>
MOVF Move register to x destination (F or W)
Rough explanation... Registers are variable... mean that you can change register value, not their address
MOVF YourVar,W will copy the value of YourVar to W
MOVF PORTB,W read PORTB, and store it to W
<hr>
where does the 16 come from? Is it D'16', or H'16'?
from this line
VAR1 EQU H'10'
10hex = 16 Decimal
<hr>
Where does the actual program code go? There seems to be no indication of this.
go one page before in your datasheet Memory Organization . Your actual code begin a RESET_VECTOR 0x000. You have different block, Program Memory, Data Memory and EEPROM data. Data memory are your PIC register and your GPRs
<hr>
Unimplemented.. you just can't use them.. not much 
<hr>
170 pages... well that's one of those small. I have some which have over 700, and some can't be download in one shot... DsPIC are good example... you must download the whole reference family set + the one for your DsPIC... kinda load of reading before getting comfortable with.
Oh well, don't be afraid, those datasheet looks way bigger when you begin.
Last edited by mister_e; - 11th April 2008 at 10:55.
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Bookmarks