Jag har själv inte användt dessa kommandon så jag kan inte säga säkert, du gör bäst i att granska det jag säger
code:
--------------------------------------------------------------------------------
bcf PIE1^0x080,TMR2IE
btfss PIE1^0x080,TMR2IE
btfss PIE1^0x080,CCP1IE
bcf EECON1^0x180,EEPGD
bsf EECON1^0x180,WREN
--------------------------------------------------------------------------------
Ifall du ändrar om 180 och 080 till binära tal ser du att det är 1100000000 resp. 100000000. Om man sen ser på i vilken bank registren EECON1 och PIE är så borde det vara nån typ av "automatisk" bank-väljare.. (åtminstone EECON1 är i bank 3 (11) och utan att kolla tror jag att PIE är i bank 1 (01)
code:
--------------------------------------------------------------------------------
IF ((HIGH($)) != (HIGH($-3)))
ERROR("Table crosses page boundary!")
ENDIF
--------------------------------------------------------------------------------
tror de är för att kolla att tabellen inte går över från adress FF till 00, vilket inte funger när man skall ha en tabell eftersom det blir fel i beräkningarna när man adderar till PCL...
De här high betyder att det är den högre delen av en byte.. tex. i 0xD4 så är det D. Jag kan ha fel och att det är word istället för byte... det borde gå att kolla upp nånstans...